User-owned sessions
Work with the user's local browser session instead of forcing workflows into cloud browsers.
Secure local co-browsing control plane
Secure co-browsing between AI agents and your local browser.
RC1 demonstrates native messaging, pairing/session/scope policy, panic signaling, read-only active-tab metadata, approval-gated active-tab navigation, and a tamper-evident local audit chain.
What BrowserBridge does
BrowserBridge is a local-first secure browser control plane for AI agents. It connects agent harnesses to a user's real browser through native messaging, paired client identity, exact scopes, approval gates, panic controls, and local audit records.
The private alpha is intentionally narrow: it proves the security architecture before expanding live browser capability.
Why it exists
Work with the user's local browser session instead of forcing workflows into cloud browsers.
Keep connection state, approvals, panic, and recovery visible to the user.
Target MCP-compatible harnesses without stealth, anti-detection, or CAPTCHA bypass behavior.
Current private alpha capabilities
RC1 keeps browser access limited while exercising the controls that future capabilities must pass through.
Manifest V3 extension-to-companion status, panic, approval transport, and active-tab messages.
Origin-only metadata. No full URL, DOM, screenshot, page storage, cookie, or form access.
Navigation is limited to validated origins and requires scope, session, tab, panic, audit, and approval checks.
Panic blocks future action paths and is carried over the native messaging channel.
Named paired clients, public-key identity, short-lived sessions, exact scopes, and one-time approvals.
Local redaction-before-write audit events with hash-chain verification and export commands.
Live capability status
BrowserBridge tools distinguish fresh live metadata from unavailable live state and explicit demo mode. Production harnesses should never receive stale mock-shaped tabs.
Fresh extension metadata exists and returns origin-only tab data.
MCP is reachable, but the extension/native path has no fresh metadata.
Navigation remains one-time, approval-gated, client-bound, and tab-bound.
Panic blocks action paths and clears pending approvals fail-closed.
Security-first architecture
A successful handshake never grants browser capability. Every live path still depends on paired identity, valid session, exact scope, tab target validation, one-time approval, panic checks, and audit.
Companion and MCP surfaces are loopback-only by default. Trusted tailnet MCP binds require explicit opt-in.
RC1 uses only nativeMessaging and activeTab, with no host permissions or content scripts.
Audit records avoid raw tokens, pairing codes, credentials, typed input, full URLs, queries, and fragments.
What it explicitly does not do
These limits are intentional. They keep the alpha focused on a reviewable security model before any broader live control is designed.
Trusted tailnet testing
BrowserBridge MCP HTTP is loopback-only by default. Private alpha
testers can opt in to a non-loopback bind for trusted tailnet lab
validation with --allow-remote. Authentication,
exact scopes, approvals, panic checks, and audit still apply.
browserbridge-mcp http \
--host 100.66.42.21 \
--port 7332 \
--allow-remote
Never expose BrowserBridge MCP directly to the public internet.
Install path
Start from the latest public R2 artifact or a trusted private checkout. The extension load path, native doctor, MCP command, and Hermes validation commands are printed by the installer.
Full path: Getting Started and Operator Install/Update.
Source checkout install/update
git clone https://github.com/MahdiHedhli/browserbridge.git
cd browserbridge
./scripts/install-or-update.sh doctor
./scripts/install-or-update.sh update --skip-start
Load Chrome from packages/extension/dist, then run native:doctor before writing a native host manifest.
Supported and target integrations
Audit and panic controls
The unified audit bus records companion, MCP, native messaging, approval, transport, and security-failure events through one local ingestion path. Redaction happens before persistence, then records are chained with hashes for tamper-evidence.
Panic is fail-closed: it blocks new action paths and prevents approval reuse from becoming a capability bypass.
Release verification
Source repo remains private. Public downloads are hosted via R2, with stable latest links and versioned artifacts for repeatable verification.
Latest download: latest.tar.gz
Verify public latest
curl -LO https://pub-94e17e3158894cbba8864e5d1eab3045.r2.dev/downloads/latest.tar.gz
curl -LO https://pub-94e17e3158894cbba8864e5d1eab3045.r2.dev/downloads/latest.sha256
curl -LO https://pub-94e17e3158894cbba8864e5d1eab3045.r2.dev/downloads/latest.manifest.json
shasum -a 256 -c latest.sha256
Roadmap
Troubleshooting