/solutions/browser-automation · multi-principal

Let an agent drive a browser without handing it the whole browser.

Give each agent a capability-scoped token, drive the browser through one runtime with shared idempotency and evidence contracts, and restart long workflows from a checkpoint instead of replaying side effects.

/path

How the path works

Scope the principal, run the work, recover from the checkpoint.

  1. 01

    Scope

    A token binds one principal to an explicit capability set and an expiry. Sessions and pages one principal creates are invisible to every other principal, and revocation is re-checked at dispatch — including on long-lived MCP and CDP connections.

  2. 02

    Run

    Pick the surface that matches the code you are writing — HTTP API, TypeScript or Rust SDK, MCP over stdio or HTTP, ACP, or raw CDP. Every adapter shares the same capability, idempotency, evidence and event contracts, so switching surfaces does not change the rules.

  3. 03

    Recover

    A checkpoint records workflow identity, page and session binding, restart URL, recovery class, invariants and replayable inputs. A worker restart resumes from it rather than silently replaying the side effects the run already performed.

/boundary

What the runtime refuses to do

Read the security model before exposing any deployment.

  • Authentication fails closed. A request without a valid capability is rejected, not downgraded.
  • Credentials are never accepted in URLs or query strings.
  • Each principal has an independent in-flight quota; exhausting it returns 429 with Retry-After rather than starving another tenant.
  • Interfaces are alpha and versioned on the wire, so a contract change is visible instead of silent.

/start

Start with Bobby Browser

macOS, Linux

browser runtimev0.12.0 · preview

Bobby Browser

Capability-scoped browser automation across SDK, MCP, and authenticated CDP surfaces.