Secrets Cloudless Ops Runbook
Secrets Cloudless Ops Runbook
Section titled “Secrets Cloudless Ops Runbook”Purpose
Section titled “Purpose”Define operator-grade procedures for running Cloudless secret persistence safely across local, canonical, and replicated VoxDB modes.
Operational invariants
Section titled “Operational invariants”- No plaintext secrets in persisted database rows.
- Secret values never logged.
- All privileged actions produce auditable events.
- Rotation is mandatory after incident-driven privileged access.
Identity & UX Warnings
Section titled “Identity & UX Warnings”- Default Account Warning: If
vox secrets doctorflags thatVOX_ACCOUNT_IDis set todefault-account, you MUST configure a unique identifier. Running the cloudless vault ondefault-accountcan cause catastrophic multi-device database drift and conflicting secret IDs when syncing state. - Always run
vox secrets statusafter provisioning to verify that Clavis identifies your local KEK and node identity properly.
Key custody model & KEK Rotation
Section titled “Key custody model & KEK Rotation”- Account-level secrets are encrypted with DEK-per-record using AES-256-GCM.
- KEK references are managed by the approved custody path (local keyring bootstrap via OS secure enclave/credential manager).
- KEK Rotation:
- To rotate the Key Encryption Key (KEK), use
vox secrets rotate-kek. - The vault will temporarily decrypt all secrets using the active KEK, generate a new OS keyring entry, re-wrap all DEKs, and permanently shred the old KEK reference.
- Doing this while offline is supported, but you must ensure any remote replicas are synced immediately after coming back online to prevent split-brain decryption failures.
- To rotate the Key Encryption Key (KEK), use
Multi-Device Vault (Synchronization)
Section titled “Multi-Device Vault (Synchronization)”When using Vox across multiple environments, there are two primary patterns for syncing your Clavis credentials:
- LibSQL Replica (Recommended): Run the cloudless vault using
vox secrets vault serve --libsql-sync. This sets up a shadow local SQLite file synced securely via an embedded replica. Your KEK remains device-local, meaning the synced vault file is useless without the enclave KEK. You must securely exchange your KEK to the new device once (viavox secrets export-kek). - Manual Export: Run
vox secrets export-env --encryptedto dump a ciphertext payload that can be transferred via secure channels or committed to a private repository.
VoxDb Schema Hardening
Section titled “VoxDb Schema Hardening”- CRITICAL INVARIANT: Never store plaintext secrets, API keys, or OAuth tokens in the standard
VoxDbschema or user-facing tables. - All external API secrets MUST route through the separate Clavis vault plane.
- The Product DB / Codex plane must ONLY store
SecretIdreferences or cryptographic checksums.
Backup procedure (encrypted data only)
Section titled “Backup procedure (encrypted data only)”- Verify cluster/store health via
vox secrets doctor. - Snapshot encrypted secret rows and key-reference metadata via
vox secrets snapshot. - Verify snapshot integrity hash and store in approved backup location.
- Record audit event with operator identity and reason.
Restore procedure
Section titled “Restore procedure”- Restore encrypted rows and key-reference metadata.
- Validate key-reference availability before enabling reads.
- Run integrity checks for ciphertext parse/decryptability.
- Enable read path in staged mode; then full mode after verification.
Incident handling
Section titled “Incident handling”- Trigger incident record and severity.
- Restrict access boundaries (least privilege).
- Execute break-glass only if approved and required.
- Rotate all affected credentials strictly through
vox secrets reset --forceimmediately after containment. - Publish post-incident findings and closure criteria.
Replication and consistency notes
Section titled “Replication and consistency notes”- Treat stale replica reads as non-authoritative for secret mutation checks.
- Use strict consistency for write-critical operations.
- For replica-latest modes, enforce deterministic stale-data error handling.
Health checks
Section titled “Health checks”- Backend availability via
vox secrets backend-status. - Encryption/decryption roundtrip checks.
- Local keyring integrity.
- Audit log append health.