Saphan StudioDocs
Security

Secrets

How Saphan Studio references credentials, and the few secrets it holds itself.

Configuration, the record and evidence carry names, paths and fingerprints — never secret values. The secrets Saphan Studio does hold are its own key files, kept under enforced custody, and a metered seat's vendor API key, stored owner-only in that seat's own profile and handed to that seat's agent at run time. ⚠ It is not hidden from other seats' agents on the same machine.

SurfaceMechanism
ConfigurationCredentials are configured as the name of an environment variable or the path to a file. Never a value.
Workspace integrity key32 bytes, owner-only permissions, refused if permissions are loose before the contents are read, symlink-safe check order.
In-memory representationRenders as a fingerprint. Ordinary logging cannot leak it.
Durable evidenceRedacted before serialisation — by pattern, and by a Shannon-entropy threshold that catches token-shaped strings matching no known pattern.
Cost and audit recordsNames, references and numbers only.
Remote executionEnvironment forwarding disabled; the local SSH client receives a minimal environment rather than the control plane's.
Billing classNot a secret — subscription/metered/local-energy/unknown are labels, not credentials — but it carries the same write custody as any other seat fact: it rides the signed seat row, so changing it requires the root key, or an identity key the root granted, and a new owner-signed append, never a config edit or an inferred update.