Skip to content
Go To Dashboard

Account and privacy

Agent Studio runs on your machine and uses your installed Claude Code or Codex account for coding-agent sessions. A Sapiom account is separate and is required to use Studio and its session-scoped Sapiom MCP, including for local editing, checking, and Local Run. Those local actions still execute on your machine and create no Sapiom capability spend. Deploys, production runs, schedules, and signals additionally operate cloud-owned state.

The desktop and command-line hosts reuse the current environment entry in ~/.sapiom/credentials.json. If no credential exists, complete browser sign-in before using Studio’s authoring features. For an npx launch, use the account menu after startup or pass --login to authenticate before startup. A clean desktop launch opens browser sign-in as part of setup. Cancelling or losing that flow does not create a supported signed-out authoring mode; retry sign-in to continue.

Disconnect removes the cached Sapiom credential for the current environment. It does not sign Claude Code or Codex out, delete coding-agent history, remove an agent project, or erase Studio session records. See Credentials and configuration for the complete credential matrix.

New coding-agent sessions receive the Sapiom connection state available when they start. If you reconnect or disconnect a Sapiom account while a session is already open, start a new session before asking that coding agent to use Sapiom MCP. Studio’s direct actions update immediately.

The Studio server listens on 127.0.0.1, not on every network interface. Each launch creates a random boot token that protects its HTTP API, WebSocket connection, and terminal-event ingestion.

For a command-line launch, the complete tokenized URL is printed once in the terminal. Treat that URL as a credential for the current Studio process: bare http://localhost:4100 is not an authenticated substitute, and the URL should not be pasted into an issue or prompt. The token expires when that server exits.

ControlDefaultWhat it governs
Share session details with SapiomOffRemote delivery of detailed coding-session events.
Product analytics (clicks & usage)OnPostHog interaction and outcome analytics from the Studio UI.
Summarize sessions in the backgroundOffOptional coding-agent work that improves a later portable continuation.

The two telemetry toggles are independent unless a hard-off flag is active. The session-summary toggle is not telemetry: it controls a local continuation aid that uses your coding-agent account and tokens.

When enabled, Studio can send normalized session lifecycle events, prompts, assistant replies, tool names, bounded tool inputs and results, working-directory and session identifiers, and—when transcript enrichment succeeds—model and token-usage fields to Sapiom’s collector. The first interactive command-line launch and desktop setup explain this tier before saving a choice.

The same normalized events are always written locally to ~/.sapiom/harness/events.ndjson, whether remote sharing is on or off. The local log retains the newest data within both a 30-day age cap and a 50 MB size cap. Turning sharing off discards events still buffered for remote delivery; a request already in flight can finish.

Archived session records are a different local surface. They keep a compact, explicitly lossy conversation reconstruction for up to 365 days within a 16 MB store cap so History can outlive the raw event log. See Files and retention for the exact paths and limitations.

When enabled, Studio initializes PostHog with page-open/page-leave events, autocaptured interactions, heatmaps, dead-click detection, and a small typed set of outcome events. Typed events carry identifiers, enums, counts, and durations—not prompt text, file contents, secret values, or free-form error messages. Studio never enables session or screen recording.

Before any event leaves the page, Studio removes query strings and fragments from URL-valued fields, including the boot token. Autocaptured element text is limited to 120 characters. On a tagged secret or credential surface, element text, serialized element chains, and all but class/id element attributes are removed. If this redaction step throws, the event is dropped rather than sent unredacted.

Product analytics starts anonymously. After Sapiom sign-in, Studio identifies the current account and associates events with the current organization; signing out resets that browser identity. PostHog’s local retry queue and distinct ID live in browser storage, separately from ~/.sapiom/harness.

Use any one of these for a hard-off launch:

Terminal window
npx @sapiom/agent-studio@latest --no-telemetry
Terminal window
SAPIOM_TELEMETRY_DISABLED=1 npx @sapiom/agent-studio@latest
Terminal window
DO_NOT_TRACK=1 npx @sapiom/agent-studio@latest

The environment variables accept 1 or true, case-insensitively. A hard-off launch disables both outbound telemetry tiers and locks both UI toggles until the environment override is removed and Studio restarts. It does not stop the local events.ndjson write.

For a disposable state root that does not read or write ordinary Studio state, combine --state-root <scratch-directory> with --no-telemetry. An explicit state root relocates Harness-owned files only; it does not relocate shared credentials, coding-agent history, browser storage, desktop app data, or your project directory.

When enabled for a Claude Code session, Studio starts a one-turn background task after every 10 completed turns and once more at session end when there is new material. It asks for at most a 500-word summary and stores the result under that session’s generated-config directory. The task is best-effort, never blocks the interactive turn, and uses your Claude Code account. Codex sessions rely on the normal bounded History reconstruction instead.

That summary is an ephemeral cache, not the durable History record. Generated session directories are removed when their managed process exits, and abandoned ones are eligible for a seven-day stale sweep. Portable continuation still works when the toggle is off or no summary survives: it falls back to a bounded reconstruction of recent recorded turns.

Quitting or uninstalling the desktop app removes neither shared nor project data. Likewise, npx leaves no global Studio executable to uninstall, but it does retain the files created while Studio ran.

Review each owner before deleting anything:

OwnerLocationWhat removal affects
Agent Studio~/.sapiom/harness/Studio settings, local session registry and records, registered agent projects, event log, and generated session files. It does not remove projects, shared credentials, or coding-agent history.
One project/session directory<directory>/.sapiom/Studio context, Canvas files, and composer uploads in that directory. Inspect version-control status before removal.
Agent author<agent-project>/.sapiom-dev/Checked local-run stubs. This is project authoring data, not uninstall residue.
Sapiom authentication~/.sapiom/credentials.jsonCached sign-in shared by Studio and Sapiom MCP. Prefer Disconnect when removing only the current environment entry.
Sapiom analytics identity~/.sapiom/analytics.jsonThe analytics-core identity used by detailed telemetry clients. It is outside --state-root.
Claude Code~/.claude/projects/Claude-owned conversation transcripts used to verify native Resume. Studio does not own or delete them.
Codex~/.codex/sessions/Codex-owned rollout records used to verify native Resume. Studio does not own or delete them.
BrowserSite local storage for the Studio originTheme, pane/UI preferences, and product-analytics persistence for that origin.
Desktop hostYour operating system’s Sapiom app-data directoryRuntime shims, the optional app-managed Claude Code installation, and Electron host data. This location is platform-specific and separate from ~/.sapiom/harness.