What gets encrypted
Anima encrypts these fields at rest:- API keys
- Webhook secrets
- Email provider credentials
Encryption model
Anima uses AES-256-GCM for all field-level encryption. This algorithm provides both confidentiality and authenticated integrity — meaning any tampering with a ciphertext is detectable on decryption. Each encrypted field stores:- The ciphertext
- The initialization vector (IV)
- The authentication tag
- The key version used to encrypt it
Envelope encryption
Anima separates key encryption from data encryption using a two-layer envelope model.- DEK (Data Encryption Key) — Used to encrypt your actual secret fields. One DEK per organization.
- KEK (Key Encryption Key) — Wraps the DEK and is managed within a KMS/HSM boundary. The KEK never touches application memory directly.
Each organization has its own isolated encryption context. Your DEK is never shared with or accessible to other organizations.
Key rotation
Anima supports versioned key rotation. When you rotate to new key material, existing encrypted records continue to decrypt using their stored key version until they are migrated forward.What this means for you
- You do not need to manage encryption keys directly — Anima handles the full key lifecycle.
- Decrypted secrets are never logged or returned in client-side responses.
- Authenticated encryption ensures that any corruption or tampering is caught at read time.
