LET AGENTS BUILD FAST. PROVE THE UI SURVIVES REAL STATES.
Interception in a controlled browser. No MSW, no proxy, no app edits. Forces loading, empty, error, and offline.
npx @stateproof-dev/cli init --url http://localhost:5173 --route /account/settings
The happy path is not proof.
Four synthetic responses injected before your UI renders. Zero app instrumentation.
response: delay 3000ms
expect [data-state='loading']
■ PASS
response: fixture account-empty.json
expect [data-state='empty']
■ PASS
response: error 500
expect [data-state='error']
▲ FAIL
response: abort internetdisconnected
expect [data-state='offline']
■ PASS
Stateproof Three-Step Workflow
CHOOSE A REQUEST
Pinpoint the network route that populates your component.
GET /api/account
FORCE A STATE
Inject error status, artificial delay, or empty fixture payload.
"mode": "error" | 500
CAPTURE PROOF
Record screenshot evidence, Stateproof Card, and offline report.
PASS / FAIL + screenshot
How runtime proof works beside your stack.
Stateproof runs beside npm run dev against your localhost in a dedicated headless Chromium instance. There is no mock service worker, no local reverse proxy, and zero modifications to your source code.
A scenario file is strict, typed JSON. When testing empty states, responses are explicit fixtures—Stateproof never guesses your application’s empty data shape.
Every run collects concrete evidence: full-resolution viewport screenshots, a markdown Stateproof Card for pull requests, and a standalone offline HTML report that opens directly from file:// with zero network dependency.
--url --route --force --scenario --viewport --timeout-ms --allow-remote --reporter
| State | desktop | mobile |
|---|---|---|
| Loading | PASS | PASS |
| Empty | PASS | PASS |
| Error | PASS | FAIL |
artifacts/stateproof/account-settings/ — account-loading.desktop.png · …
Force the state. Capture the proof.
Test how an account settings UI reacts across desktop and mobile viewports.
Local-first by architecture, not by promise.
Built for security-conscious teams. Interception lives in our browser process, never in your code.
ZERO TELEMETRY
No telemetry, analytics, or background pings. Nothing leaves your machine unless you explicitly export or commit the artifact directory.
CONTROLLED CHROMIUM PROCESS
Network interception happens inside the Chromium instance launched by Stateproof via Playwright CDP. No production proxies, no monkey-patching.
LOOPBACK GUARDRAIL
Interception is strictly restricted to localhost and 127.0.0.1 by default. External origins require the explicit --allow-remote flag.
DISK-ONLY ARTIFACTS
Screenshots, JSON envelopes, and reports write to ./artifacts on local disk. You control your git history and CI attachments.
OFFLINE HTML REPORT
The generated test report is a standalone HTML document with inline styles and assets. It opens directly from file:// with zero network requests.
PROVE YOUR RUNTIME
IN FOUR COMMANDS.
Drop Stateproof into your project. Intercept real runtime failure modes against localhost in under 60 seconds.
/account/settings
./artifacts/stateproof/01J9ZK84/