Privacy Policy
Effective date: 2026-05-22
TL;DR: BrowserCtrl runs entirely on your machine. We do not collect, transmit, store, or sell any data about you or your browsing.
What BrowserCtrl is
BrowserCtrl is an open-source tool that lets AI agents (Claude Desktop, Cursor, Zed, Windsurf, Claude Code) drive your real Chrome browser via the Model Context Protocol (MCP). It connects a local daemon (browserctrl on your machine) to a Chrome extension over Chrome Native Messaging. Everything runs locally — there is no BrowserCtrl-operated server in the data path.
What we do NOT collect
The extension does not transmit any of the following to BrowserCtrl, its authors, or any third party:
- URLs you visit
- Page contents, screenshots, DOM snapshots, or ARIA snapshots
- Form input, cookies, or authentication tokens
- The text of any prompts you send to your AI agent
- Network requests captured during automation
- Identifiable information about you (name, email, IP, device fingerprint)
Where any of this data appears, it stays on your machine: in the AI agent that initiated the request (e.g. Claude Desktop), in the local daemon's memory, or in ~/.browserctrl/ on disk.
What lives on your machine
The daemon writes the following to ~/.browserctrl/:
daemon.token— a per-process random auth token (rotated every restart)daemon.pid— the daemon's PID forbrowserctrl statusdaemon-version.txt— current versiondaemon.mjs,node_modules/— the bundled daemon code that Chrome's Native Messaging Host launches on demandlogs/*.log— local diagnostic logs (no PII; trimmed automatically)
Nothing in this directory ever leaves your machine unless you explicitly include it (for example, pasting browserctrl diagnose output into a bug report).
What the extension stores
The extension uses chrome.storage.local to persist:
- A local profile ID used by the daemon to identify your install
- Your “disconnected by user” preference (so an explicit Unpair sticks across restarts)
- Per-origin approval preferences (the allowlist)
All of this is local to your browser profile — Chrome handles it the same way it handles any other extension's local storage.
Third-party services
BrowserCtrl itself contacts no third-party services.
The landing page at browserctrl.xyz uses Web3Forms to relay waitlist signups. If you submit your email there, only that email is shared with Web3Forms (per their privacy policy) so we can email you when the alpha opens up.
Permissions the extension requests
debugger— drives Chrome via the DevTools Protocoltabs— enumerates and focuses your existing tabsstorage— local-only preferences (above)alarms— keeps the service worker alive during long automationsnotifications— connection-state toasts (optional)<all_urls>— the AI agent can be on any URL; we operate only on tabs the daemon explicitly addresses
Trust is rooted in the local install — the Chrome Native Messaging manifest written by browserctrl init pins which extension ID is allowed to talk to the daemon binary. No remote endpoint can drive the debugger.
Open source
The entire stack — extension, daemon, CLI — is open source under MIT / Apache 2.0: github.com/DeRaowl/browserctrl. If anything in this policy looks wrong, the code is the source of truth — please open an issue.
Changes
If we ever change this policy, the diff will be visible in the git history of docs/privacy-policy.md. We will not retroactively expand what data is collected.
Contact
- Issues: github.com/DeRaowl/browserctrl/issues
- Email: hi@browserctrl.xyz