Security

We say “AES-256-GCM envelope encryption”, not “military-grade”. Here's the actual mechanism — and its limits.

  • Envelope encryption: Per-project 256-bit DEKs (AES-256-GCM), wrapped by a KEK derived via PBKDF2-HMAC-SHA256, 600k iterations, from your master secret.
  • Password hashing: PBKDF2-HMAC-SHA256, 600k iterations, per-user salts. Unknown-user logins burn the same work (no timing oracle).
  • Bearer tokens: HMAC-signed with a key HKDF-derived from the master secret (never the data KEK). Scopes, project/env bindings, expiry; revocation-checked.
  • Login rate limiting: 30 attempts per 60s per IP (429 on excess), plus proxy-level throttling recommended.
  • RBAC, fail-closed: owner/admin/developer/viewer/ci scoped to project + environment; denials are audit-logged.
  • Tamper-evident audit: Hash-chained, append-only event log. Export it to immutable storage — the chain detects tampering, it doesn't prevent it.
  • No secret logging: The server never logs secret values; structured logs carry metadata only.

Known limits (we'd rather you read them here)

Questions or a vulnerability to report? Contact us — security reports go to the top of the queue.