Checkpoint the live session before a risky action. If the workflow breaks, return to the state that worked.

LIVE STATE / 03Checkout ready

Cart, auth, storage and JS state are live.

SESSIONBrowser live
SAFE POINTcp_72ba
03NOWlive session
sess_8f13CDP connected
shop.mono.test / checkout
LIVE
CHECKOUT

Delivery

2 / 3
First nameMaya
Last nameChen
Address27 Mercer Street
LIVE SESSIONCheckout ready
THE STATE APIOne primitive.
Three operations.
01checkpoint()

Preserve a safe point in the live session.

02rewind()

Return to the exact browser state that worked.

03fork(n)

Branch parallel futures from one checkpoint.

NEXT

One session.

Fork an authenticated checkpoint into isolated live sessions. Give each branch a different job, then keep moving without repeating login, setup, or navigation.

Copy-on-writeIndependent CDPFresh entropy
PARALLEL SESSION MAPAuthenticated catalog workspace
3 / 3 branches live
admin.northstar.test / catalog
CATALOGAUTHENTICATED

Products

FORK SOURCEcp_72baREADY
Source state remains immutablebranches continue independentlyPOST /v1/sessions/sess_8f13/fork

Not a page reload.The browser itself.

A checkpoint preserves the live browser process and its client-side state together. Rewind returns to that complete safe point—not a URL, screenshot, or reconstructed approximation.

STATE CUTAWAYCHECKPOINT OBJECT
01RUNTIMEBrowser processChromium memory and execution statevm / memory
02DOCUMENTLive pageDOM, JavaScript heap and timerspage / live
03STORAGEOrigin dataCookies, local storage and IndexedDBorigin / state
04BACKGROUNDWorker stateService workers and cache storageworker / state
05SESSIONClient identityAuthenticated browser contextsession / auth
FULL LIVE STATEcp_72ba
RECOVERY CONTRACTPrecise about the boundary.

Restores client-side browser state, including the live page, storage and authenticated context.

Dead network connections are re-established after the browser returns.

Does not reverse irreversible actions already accepted by the server.

Keep your browser stack.Add a way back.

brawsr owns the browser lifecycle and state operations. Your client library stays in control through authenticated CDP.

playwright-rewind.tsTYPESCRIPT
PlaywrightconnectOverCDP

Reconnect Chromium and rediscover the restored pages.

01import { chromium } from "playwright-core";02import { BrawsrClient } from "@brawsr/sdk";03
04const brawsr = new BrawsrClient({05  apiKey: process.env.BRAWSR_API_KEY!,06});07const session = await brawsr.createSession();08const cdp = brawsr.connectCDP(session);09
10let browser = await chromium.connectOverCDP(11  cdp.endpointUrl,12  { headers: cdp.headers },13);14
15const checkpoint = await brawsr.createCheckpoint(session.id, {16  label: "before-action",17});18
19// Attempt the browser action.20const restored = await brawsr.rewind(session.id, checkpoint);21const next = brawsr.connectCDP(restored);22
23browser = await chromium.connectOverCDP(next.endpointUrl, {24  headers: next.headers,25});
AFTER REWIND

Same endpoint. Fresh connection. Rediscover pages and targets.

old handles → stale
YOUR CLIENTSTABLE CDP ENDPOINTCURRENT BROWSER
STATE APIcheckpoint()rewind()fork(n)

Explicit. Framework-neutral.

Progress shouldsurvive failure.

Agents, scrapers, and automations spend time building state before the hard part begins. Preserve that progress, then recover or branch from it.

LIVE RUN TRACEAGENT WORKFLOWS
SESSION ACTIVE
SAFE POINTcp_72ba
AGENT STEPchoose delivery
DIVERGEDselector missing
REWINDcp_72ba
CONTINUEpayment
sess_8f13 / current runstate operations remain explicit

Your browser statestays yours.

Isolation follows the session from live execution through checkpoint storage and every forked branch. The boundary does not disappear when state moves.

BOUNDARY INSPECTORsess_8f13 / project northstar
BOUNDARIES ACTIVE
YOUR CLIENTCDP connection
SESSION BOUNDARYsess_8f13ACTIVE
01RUNTIMEBrowser processmemory · DOM · storage
02NETWORK POLICYOutbound membraneallowlist · metadata block
03CHECKPOINT LINEAGEcp_72baexplicit state operation
PROJECT STATE STOREnorthstar / checkpointsPROJECT-SCOPED

No cross-project deduplication

EARLY ACCESS OPEN

Start from a browserthat remembers.

ONE STATE APIKeep the progress that matters.