Core Concepts
Architecture
Understanding Envault's security model
Security Architecture
Envault prioritizes security above all else. Our architecture is designed to ensure that your secrets remain confidential, even in the event of a database compromise.
Hybrid Encryption Model
We use a multi-tiered encryption strategy (Envelope Encryption).
Request Flow
When a user requests a secret (e.g., via envault pull):
- Auth: CLI authenticates via Device Flow.
- Permission Check: Server verifies user has
ViewerorEditorrole. - Key Retrieval: Server fetches the encrypted Data Key for the project.
- Decryption: Server decrypts the Data Key using the Master Key.
- Secret Decryption: Server uses the Data Key to decrypt the secrets.
- Transmission: Secrets are sent over TLS to the CLI.
This ensures that the plaintext secrets never reside on disk on the server side (except potentially in swap, which should be disabled or encrypted in production).