Browser Agent · Chrome extension

Borrow your logged-in browser

Some work lives behind a login the agent can't reach — Gmail, an internal portal, a SaaS dashboard. The Browser Agent acts inside the Chrome you're already signed into, driving real input through the DevTools Protocol so pages can't tell it apart from you.

Zapvol is debugging this browser Cancel
Inbox 3 unread
Stripe · payout $4,200 confirmed
Acme HR · Offer letter — sign by Fri e3
GitHub · 3 new pull requests
click · uid e3 isTrusted
CDP
Real input
isTrusted events
30 min
Idle timeout
auto cleanup
1 click
Global stop
kills everything
1000
Audit log
rolling cap

How a click reaches the page

One action, five checkpoints

Every action round-trips through a single enforcement point in the background service worker — there are no side channels.

  1. 01

    Subagent

    The browser subagent issues one action.

  2. 02

    WebSocket

    It travels to the extension's service worker.

  3. 03

    Blocklist

    Background checks the domain — deny is terminal.

  4. 04

    CDP

    A real mouse/key event fires via chrome.debugger.

  5. 05

    Your tab

    The page reacts as if you clicked it yourself.

Built for accountability, not friction

It's an internal tool — UX-first by design. Silent execution is the default; safety is enforced by the boundary checks and a complete record of everything it did.

  • Real interaction

    Clicks and keystrokes dispatch through Chrome DevTools Protocol, so pages see trusted input — not synthetic events sites reject.

  • Accessibility-tree reading

    Extract returns the page as markdown plus uid-tagged interactive elements pulled from Chrome's AX tree — robust to class-name churn.

  • Full audit trail

    Every session start and end is appended to a local log with reason, duration, and action count. Accountability is post-hoc, not pre-gated.

  • One-click kill

    A single red Stop all button detaches every debugger and ends every session. Always one click away in the popup.

  • Domain blocklist

    Empty by default, enforced before every action. Add a domain and every live session on it ends immediately.

  • Hidden BUA window

    Agent-opened tabs land in a dedicated minimized window, so the agent works without stealing focus from your real browsing.

The toolkit

Actions the agent can take

A single tool with a discriminated action set. The agent plans sequences by chaining these — extract, reason, act, extract again.

Where the line is

What the Browser Agent does not do

  • Not headless scraping

    BUA is not Playwright or a crawler. It drives a real, logged-in browser with a human nearby — not an unattended fleet.

  • No consent prompts

    By design, there is no per-domain approval dialog. It's an internal tool — safety comes from the audit log and kill switch, not gatekeeping UI.

  • Never stores secrets

    It borrows the session you're already logged into. It does not capture, store, or transmit your passwords or 2FA codes.

Note: while the agent is acting, Chrome shows its non-removable “…is debugging this browser” banner. That's Chrome's safety signal — and we keep it. It's how you always know when the agent has the wheel.

Ready to build?

Get started with Zapvol in minutes. Free and open source.