SELF-HOSTED BROWSER INFRASTRUCTURE

Give every agent a browser. Keep every session in your yard.

Launch isolated browser sessions through Playwright, CDP, or MCP. Observe every run, enforce policy, and keep browser infrastructure on hardware you control.

PLAYWRIGHTCDPMCPDOCKER
ACTIVE YARD / ECHO
worker-01running
agent-researchpolicy / public-web
worker-02ready
capacity available1 browser slot
worker-03quarantined
cleanup uncertainoperator review required
DISPATCH STATERequest receivedPolicy inspection begins
session
ses_7A19
profile
none
live view
private

WHY A CONTROL PLANE

A Playwright process is not a control plane.

Agents need JavaScript, authentication, forms, downloads, and visual state. Starting a browser inside every task gives capability—but not reliable allocation, isolation, cleanup, visibility, or revocation.

WITHOUT / SCATTERED
agentlocal browser?
  • Cleanup is best effort
  • State lives wherever the task ran
  • No central kill switch
WITH TABYARD / CONTROLLED
agentpolicyworker
  • One allocation boundary
  • Visible state and ownership
  • Revoke and recycle paths

ONE CONTROLLED ROUTE

Request. Dispatch. Observe. Release.

  1. Request

    Ask for a browser with an explicit timeout, task label, and policy.

    request(session)
  2. Dispatch

    Reserve an eligible worker and create a constrained session.

    dispatch(session)
  3. Observe

    Connect with standard tools while the operator sees health and state.

    observe(session)
  4. Release

    Revoke access, preserve required evidence, and recycle uncertainty.

    release(session)

PRODUCT PRIMITIVES

A browser fleet you can reason about.

Tabyard separates today's validation work from tomorrow's platform. Every capability carries its real status.

01
In validation

Isolated sessions

Give each task an explicit browser lease instead of an unmanaged process.

  • Timeout, viewport, and task metadata
  • One lifecycle from request to cleanup
02
Next

Worker control

Dispatch sessions across independent workers with visible capacity and health.

  • Lease, drain, quarantine, and recycle
  • No Docker socket in the control plane
03
In validation

Live operation

See active work and terminate sessions that leave their intended boundary.

  • Session state and live-view entry
  • Immediate operator release path
04
Planned

Persistent profiles

Reuse browser identity through encrypted, versioned state with explicit leases.

  • Controlled profile access
  • Safe clone, rotate, and delete flows
05
Planned

Evidence and artifacts

Retain the proof a task needs under explicit quotas and retention policy.

  • Screenshots, downloads, and traces
  • Redaction and signed retrieval
06
Planned

Agent runs

Connect bounded natural-language tasks to sessions, approvals, and results.

  • Step, time, and cost budgets
  • External stop conditions and cleanup

STANDARD INTERFACES

Use the browser tools you already know.

Tabyard is the control plane around ordinary browser automation—not a proprietary replacement for it.

AgentPlaywright / MCP
Control APIPolicy + lifecycle
Scoped grantShort lived
Browser workerPrivate network
The agent requests a session from the control API, receives a scoped grant, and connects to a private browser worker.
Conceptual interface — SDK publication follows runtime validation
// Conceptual API — not yet a published SDK
const session = await tabyard.sessions.create({
  name: "research-agent",
  timeoutMs: 300_000,
  metadata: { agent: "trace", task: "market-research" },
});

const browser = await chromium.connectOverCDP(session.websocketUrl);

try {
  const page = await browser.newPage();
  await page.goto("https://example.com");
} finally {
  await tabyard.sessions.release(session.id);
}

OPERATOR VISIBILITY

See what the agent saw. Know what it did.

Phase 1 validates session metadata and private live-view entry. Rich synchronized traces remain planned and are labelled accordingly.

private live view / ses_7A19
Sanitized browser viewCurrent: metadata + viewer entry
  1. navigationdocs.example.dev
  2. actionclick / Sign in
  3. consolepage ready
  4. screenshotcheckpoint-03
  5. operatorview only
  6. releasecleanup started
PLANNED / RICH TRACE

SECURITY BY BOUNDARY

The agent gets a session—not your server.

Raw browser workers stay off the public internet. Policy, identity, and revocation sit in front of privileged browser channels.

  • Loopback and private runtime ports
  • Short-lived, scoped session grants
  • Destination and egress policy
  • Revoke, quarantine, and recycle paths
Review the security model
Agent hostscoped request
Private accessidentity + grant
Control planepolicy + audit
Worker zonehostile content boundary
Public webrestricted egress
YOUR VPSDocker Compose
Web / consoleprivate UI
Control APIsession ledger
Postgresno host port
Worker poolbrowser egress
Reconcilercleanup loop
Intended private control-plane topology. The public marketing site is deployed separately.

SELF-HOSTED FIRST

One yard. Your infrastructure.

Run the private control plane and browser workers on a VPS you control. Validate isolation, pin the runtime, and expose only hardened surfaces.

private deployment sequence
./scripts/generate-env.shdocker compose up -d --build./scripts/smoke-api.sh

Runtime deployment is not distributed by this marketing repository.

DELIVERY SEQUENCE

Built in deliberate layers.

View the full roadmap
  1. Phase 0Complete

    Research and boundary

    Define the independent product, security posture, and clean-room identity.

  2. Phase 1In validation

    Private single-worker slice

    Prove one operator can allocate, inspect, and release an isolated browser on Echo.

  3. Phase 2Next

    Safe worker pool and gateway

    Add leases, independent workers, scoped tokens, and authenticated browser transport.

  4. Phase 3Planned

    Profiles and observability

    Introduce encrypted identity, artifacts, event timelines, and controlled human takeover.

  5. Phase 4Planned

    Agent runs

    Run bounded browser tasks with budgets, approvals, traces, and structured results.

  6. Phase 5+Deferred

    Browser tool platform

    Build reusable browser jobs and broader platform controls only after the core is proven.

KEEP THE CONTROLS

Your agents need the web.
You should keep the controls.

Follow Tabyard as it becomes a private, observable browser layer for autonomous software.