Trust
A small, explicit security model
Atlas separates user authentication, server-side management credentials, and client-side runtime validation. Each surface has a different credential and a different threat model.
Verify responses in your appCredential separation
- Dashboard sessions are opaque, httpOnly cookies with absolute and idle expiry.
- Secret API keys authenticate server-side management calls and are scoped by role, project, and environment.
- Publishable keys are public by design and only authorize runtime validation for one environment.
- A secret key cannot create or revoke other secret keys.
Data protection
- License keys and API secrets are hashed with a server-side pepper; storefront-delivered keys are also encrypted so retries return the same key.
- Passwords use Argon2id and are rehashed when parameters change.
- TOTP secrets use AES-256-GCM; recovery codes are single-use peppered hashes.
- Tenant tables use PostgreSQL row-level security and composite tenant foreign keys.
Signed responses
Runtime responses and offline leases are signed with Ed25519. Clients can pin the public key from GET /v1/runtime/key and verify the canonical JSON payload before trusting it.
Client-side limits
A patched desktop application can ignore validation or an offline lease. Signatures make tampering detectable, not impossible. Licensing is a commercial control, not a way to protect secrets or code.