llms.txt Content
# Cloudbrowser — frontend design preview
> Persistent Google Chrome cloud browsers for agents. REST API and Go CLI are proposed contracts, not running services.
- [Quickstart](https://cloudbrowser.tv/docs)
- [Browser lifecycle](https://cloudbrowser.tv/docs/browsers)
- [Connections](https://cloudbrowser.tv/docs/connections)
- [Access and bounded token renewal](https://cloudbrowser.tv/docs/security)
- [REST API design](https://cloudbrowser.tv/docs/api)
- [Go CLI design](https://cloudbrowser.tv/docs/cli)
- [OpenAPI 3.1 draft](https://cloudbrowser.tv/openapi.json)
- [Usage and pricing](https://cloudbrowser.tv/docs/billing)
CLI commands are top-level: cloudbrowser create, list, get, connect, view, pause, resume, fork, delete, usage.
CDP renewal requires an authenticated manager and an immutable hard deadline. Live View defaults to a reusable, read-only, never-expiring share URL. Each visit obtains a fresh one-time entry ticket, separate from the link authorization deadline. The viewer refreshes short-lived credentials without CLI involvement. Link expiration/revocation ends existing access; ticket expiration alone does not. Links can be listed, updated, revoked, or have sessions ended. Read-only blocks all remote input; control permits browser interaction only. All behavior is a frontend demo and contract design, not a deployed authorization service.
Workspace viewing: /browsers is the grid; /browsers/{id} is an expansion of the same workspace. /view/{linkId} enters account acceptance and the same full-window player. Shared browsers are saved access relationships, not copied ownership; recipients cannot manage lifecycle or reshare. See https://cloudbrowser.tv/docs/viewing.
OpenAPI Spec (preview)
{
"openapi": "3.1.0",
"info": {
"title": "Cloudbrowser REST API",
"version": "0.6.0",
"description": "Next.js API with Sandbox0 Chrome, PostgreSQL and Auth0. Billing endpoints require configured Stripe; check billingEnabled. API-key authentication remains supported. The Go CLI manages browsers and links; lifecycle polling is handled internally. Fork requires a paused source."
},
"servers": [
{
"url": "http://localhost:3000/api/v1",
"description": "Local develo