StatePort Desktop
Current Public Beta scope.
This is the boundary to rely on today: what is implemented in the Public Beta source, what it deliberately does not promise, and what remains unavailable or unverified.
Availability
Public Beta availability
- macOS arm64 (DMG) — 1.0.0-beta.107
- Windows x64 (EXE) — 1.0.0-beta.107
- Linux x64 (DEB) — 1.0.0-beta.107
3 approved Public Beta installers are available for testing. Other platform and architecture packages remain unavailable until they are published.
Create
Create a State Card
Manual Capture
- Open the application in the StatePort-managed browser
- Reproduce the state you want to keep
- Capture supported page, browser, form, storage, and API evidence
- Stop and review before saving
Automated Test Capture
- Choose one supported CodeceptJS browser test
- Rerun it once under Capture
- Save a State Card only when the expected failure reproduces
CodeceptJS is the currently implemented test-runner integration. Playwright Test, Cypress, Selenium, Jest, Vitest, CI providers, and arbitrary runners are not integrated today, and StatePort is not a generic test runner. Availability follows the exact published Desktop artifacts listed above.
Agent-controlled Capture
- Confirm that the connected runtime advertises the complete Capture capability
- Check Capture permission and the separate automatic-save preference in Settings → Coding agents
- Use the managed Clean Session and bounded semantic actions; supplied login uses the protected credential route
- Stop into mandatory Review, confirm the symptom, then save or discard
Setup does not authorize a task. Capture is allowed by default when no preference is stored; explicit permission choices remain in Settings → Coding agents until changed. Task-scoped authorization covers necessary in-scope steps without repeated prompts, subject to permissions and host approvals. Supplied credentials remain local and excluded from ordinary Cards and tool responses. Agent Capture cannot use a Development Profile, retrieve arbitrary secrets, or use arbitrary JavaScript, browser debugging protocols, or coordinate scripting. Review and required local authentication flows remain mandatory.
Review before you save
- Selected saved state or checkpoint
- Recorded Journey coverage — full, partial, or unavailable
- Manual barriers in the Journey
- Replayable API exchanges
- Browser console and page errors
- Optional description with Observed / Expected context
- Protected-value decisions and sharing readiness
Developer access
Work from the State Card against current code
One unified Reproduce screen: pick the current loopback/local target, a saved state or Recorded Journey, a Development Profile or Clean Session, whether DevTools start open, and optional per-run protected-value authorization — then Reproduce.
- Captured source
- Captured source opens the eligible saved page with matching captured HTTP material. It does not prove that current local code ran.
- Local app
- Local app uses your running local app, current code, and selected target. Separate local auth is required when the application needs it.
- Reopen a selected saved state against current localhost and current code
- Replay a full or partial Recorded Journey
- Pause at a manual barrier, then resume the remaining automatic steps
- Use a persistent StatePort-owned Development Profile for everyday work
- Switch to a clean isolated browser session when a clean run matters
- Start with browser DevTools open in interactive Desktop
- Keep captured supporting HTTP responses controlled
- Block an unmatched request instead of silently contacting the source environment; the saved-material attempt may continue and records the miss
- Inspect Journey, console, network, application-state, and safety evidence
- Create immutable supported response revisions and compare later runs where current behavior allows it
- Reopen the same State Card after a restart
What the result means
- Save does not run an automatic reproduction proof
- A launched browser or completed process does not prove that the expected checkpoint was reached
- Compare reports observed differences; it does not declare that the bug is fixed
- A Clean Session result applies to that Card, revision, target, and allowed authentication — not every future environment
Handoff
Share one State Card
- The sender creates one encrypted temporary share
- The recipient opens the generic secure landing
- The recipient imports it locally without an account
- The recipient uses the imported State Card under current access rules
- Ordinary shares exclude machine-local protected values and Development Profile or authentication state
- The sender can copy and revoke the link
- Shares expire
- Receiving and importing is free
- Opening or replaying the imported Card against current code requires Developer access
- Expiry or revocation blocks a future link fetch; it does not delete a downloaded or imported copy
- Sharing is atomic and one Card at a time
Team workspaces, persistent shared libraries, RBAC, organization policies, and seats are future capabilities — one-card sharing is not a Team workspace or cloud execution.
Sensitive data
What happens to sensitive values
Sensitive values are excluded by default.
If you choose to retain a protected value locally
- A supported protected value can be retained only when you explicitly choose it
- A retained value is stored through the OS-protected machine-local boundary and is available only on that device
- Each reproduction run requires explicit authorization before a retained value is used
- Ordinary sharing is unavailable while a reproduction still requires retained protected data
If you discard it
- Discard a protected value to remove it from the local protected reference path
- The Journey gains a manual barrier for the missing step
- Ordinary credential-free Share becomes available when no other blocker remains
If you explicitly send an eligible protected Persona
- An eligible authenticated session can be sent only as a separately encrypted Protected Persona after explicit sender selection and confirmation
- The recipient can review safe scope and expiry information, then accept into recipient-local protected storage or keep the Card only
- Production, customer, and payment contexts keep elevated warnings and policy controls; availability still depends on the installed build
Boundary
Capability boundaries
Generic external surfaces
When a dependency is missing, the unmatched request is blocked and recorded. A saved-material attempt may continue its actions, but a failed action or wrong state still fails. The Card is Partial or Unsupported when retained evidence says a required capability is missing; StatePort does not silently fall back to the live provider or source system.
Anti-bot protected sites
- Cloudflare, Turnstile, and other anti-bot or CAPTCHA-protected sites may not complete verification inside the managed Capture browser
- StatePort does not solve or bypass anti-bot controls
Data and environment boundary
- Database snapshots
- Server-memory snapshots
- Arbitrary backend virtualization
- Production-environment cloning
- Universal reproduction of every app and protocol
Deferred product surfaces
- Team workspace and shared organization library
- Customer Capture SDK
- Browser-extension capture in your own browser
- Remote Capture worker
- Native direct CI-provider integration
- Runner integrations beyond CodeceptJS
- Autonomous root-cause detection or bug fixing
- Universal or expanded Verified reproduction semantics
Before you rely on it
Confirm the edge case first
- SSR-specific behavior
- GraphQL subscriptions
- SSE/WebSocket streaming
- OAuth and external redirects
- Shared or service workers
- File upload and download
- Large binary and media flows
- DRM and WebRTC
- Arbitrary browser extensions
- Current bounded support covers safely captured HTTP resources and requests, redirects, CORS/preflight, iframe or popup documents, injected or open-shadow DOM, finite SSE, bounded WebSocket transcripts, bounded workers, and bounded non-DRM media when the Card's evidence admits them
- Provider state outside captured HTTP material, dynamic or unbounded WebSocket and SSE behavior, shared or service workers, and large or unbounded media/upload/download flows still need explicit review
Vocabulary
One saved boundary, named clearly.
- Setup
- The supported browser, application, and API conditions StatePort can save and reopen — not a machine, database, or production environment.
- State Card
- A named product record that points to a State Capsule and may declare a non-secret Auth Persona requirement.
- State Capsule
- The credential-free technical artifact containing the portable captured application state behind a State Card.