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.
- 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.
- Cleanup is best effort
- State lives wherever the task ran
- No central kill switch
- One allocation boundary
- Visible state and ownership
- Revoke and recycle paths
ONE CONTROLLED ROUTE
Request. Dispatch. Observe. Release.
Request
Ask for a browser with an explicit timeout, task label, and policy.
request(session)Dispatch
Reserve an eligible worker and create a constrained session.
dispatch(session)Observe
Connect with standard tools while the operator sees health and state.
observe(session)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.
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
Worker control
Dispatch sessions across independent workers with visible capacity and health.
- Lease, drain, quarantine, and recycle
- No Docker socket in the control plane
Live operation
See active work and terminate sessions that leave their intended boundary.
- Session state and live-view entry
- Immediate operator release path
Persistent profiles
Reuse browser identity through encrypted, versioned state with explicit leases.
- Controlled profile access
- Safe clone, rotate, and delete flows
Evidence and artifacts
Retain the proof a task needs under explicit quotas and retention policy.
- Screenshots, downloads, and traces
- Redaction and signed retrieval
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.
// 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.
- docs.example.dev
- actionclick / Sign in
- consolepage ready
- screenshotcheckpoint-03
- operatorview only
- releasecleanup started
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
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.
./scripts/generate-env.shdocker compose up -d --build./scripts/smoke-api.shRuntime deployment is not distributed by this marketing repository.
DELIVERY SEQUENCE
Built in deliberate layers.
- Phase 0Complete
Research and boundary
Define the independent product, security posture, and clean-room identity.
- Phase 1In validation
Private single-worker slice
Prove one operator can allocate, inspect, and release an isolated browser on Echo.
- Phase 2Next
Safe worker pool and gateway
Add leases, independent workers, scoped tokens, and authenticated browser transport.
- Phase 3Planned
Profiles and observability
Introduce encrypted identity, artifacts, event timelines, and controlled human takeover.
- Phase 4Planned
Agent runs
Run bounded browser tasks with budgets, approvals, traces, and structured results.
- 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.
