Skip to content

How unsurf works

Agents often need to use websites that are already authenticated in a real browser. Fresh headless containers do not inherit that state, and copied credentials create a new security problem.

Unsurf starts from a different premise:

the browser is the auth
authenticated browser
↓
agent action
↓
video + trace + receipt
↓
optional typed API seam

The local runtime attaches to an already-open Chrome/CDP session. Nearby agents can discover it through unsurf-local-mcp, or application code can use recordAttachedLocal(...) directly.

Recording wraps a browser run and produces:

  • video
  • action trace
  • result metadata
  • viewer links with grant-gated access

observeVideo() inspects those recordings. loop() composes record + observe + refine until a yes/no North Star is met.

When a website reveals a stable API beneath the UI, Unsurf can capture it:

  • scout observes traffic and stores a typed seam
  • worker replays it directly over HTTP
  • heal repairs it when the site drifts

That path still matters. It is now one layer in a broader browser-runtime product, not the entire pitch.

SurfaceBest for
cmux browserCanonical local authenticated investigation, snapshots, screenshots, and human takeover
Local browser MCPDriving an attached Chrome/CDP session when that adapter is needed
Browser Run providerHosted isolated Cloudflare Worker-side BrowserHandle flows and native replay
record / loopProducing inspectable proof from video-capable browser work
Hosted MCP / RESTScouting, search, planning, and shared hosted surfaces
API replayRepeated work that can skip the browser after discovery

Hosted Unsurf runs on Cloudflare:

  • Workers
  • Workers AI
  • Browser Rendering for hosted scouting
  • D1 + R2 for stored specs, runs, and trace bundles

Browser providers are swappable behind Unsurf’s browser abstraction. The canonical local investigation provider is now cmux’s in-app browser. The agent-browser adapter remains available for attached Chrome/CDP and playable local video; it is not required for the normal investigation workflow.

  • real browser auth beats invented delegation layers
  • video makes browser work reviewable
  • loops turn visual evidence into a stop condition
  • typed API seams reduce repeat browser work when the web app gives you one