Saphan StudioDocs
Security/Session recording

Limits

What is not recorded, and what is recorded but cannot be read back yet.

limitwhat it means for you
No retention policyNothing deletes run directories, journals, model transcripts or custody records automatically. Size your storage, and remove old runs by your own policy.
No model transcript where the recorder cannot runAgents with no recorder channel (cursor, proc, agent-loop, openai-compat); droid without a bring-your-own-key model and a declared codec and upstream; qwen-code without a configured upstream, or signed in with its own OAuth; walled runs the recorder cannot be carried into (qwen-code on any walled run; codex and droid on macOS; container and vendor confinement); runs with --no-recording or guardrail.record = false. These runs still have a run record, a journal and a raw transcript, and the run record names the reason.
Console sessions are recorded for claude-code onlyConsole conversations and shells with other agents are not recorded through the guardrail.
No viewer for the signed transcriptReturned, signed segments are stored with their custody records, but no console page or command reads them back in this release.
No standalone verification commandsaphan return verifies segment signatures when it takes them into custody; there is no command to check a chain or a signature on demand.
Local model transcripts are not taken into custodyOnly remote runs' segments are copied home, checked and stored.
No running cost while a run worksThe run's cost is known when it ends.
The recorder is given, not enforcedOutside sealed Linux walls, an agent that ignores the recorder's address is not recorded.
One console route shows the raw transcriptA finished run with no journal is replayed unredacted on its output stream.
Attached sessions are not copiesIf the vendor's own session file is deleted or changed, so is what the attached session shows.
Runs started outside Saphan Studio are not recordedOnly runs the engine starts are recorded.