Encryption
All secrets are encrypted client-side before transmission. The server never sees plaintext values. This page explains the cryptographic primitives and key derivation process used by the Secrets system.
Encryption Flow
1
2
3
4
5
Cryptographic Primitives
| Component | Algorithm | Parameters |
|---|---|---|
| Key Derivation | PBKDF2-SHA256 | 100,000 iterations, 32-byte output |
| Encryption | AES-256-GCM | 12-byte IV, 128-bit auth tag |
| Password Hashing | SHA-256 | Used for vault password verification |
Implementation
The encryption is implemented using the Web Crypto API, which delegates to the browser's native cryptographic library. No JavaScript crypto libraries are used.
iNote
The salt is stored alongside the encrypted blob. Each vault uses a consistent salt derived from the vault ID, so the same password always produces the same key for a given vault.