PersonalPremiumFamilyTeamBusinessEnterprise
How encryption works
The PulsVault client-side key hierarchy — PDS → KEK → UMK → DEK — and how field-level encryption keeps your secrets readable only on your devices.
PulsVault uses a layered key hierarchy so that a single password can protect many vaults, sharing can happen without exposing plaintext, and changing your password never re-encrypts your data. Every step runs on your device.
The key hierarchy#
Password + Email
│ PBKDF2 (600k)
▼
PDS (Password-Derived Secret) in memory only, for the first unlock after sign-in
│
│ + Access Key PBKDF2/HKDF (600k)
▼
KEK (Key Encryption Key) computed on demand, never stored
│
│ AES-256-GCM decrypt(encryptedMasterKey, KEK)
▼
UMK (User Master Key) in memory while unlocked
│
│ AES-256-GCM decrypt(encryptedDek, UMK)
▼
DEK (Data Encryption Key, per vault) in memory while the vault is open
│
│ AES-256-GCM / ChaCha20-Poly1305 (per field)
▼
Encrypted item fieldsEach layer, briefly#
- PDS — derived from your password and email. Proves you know the password without sending it.
- KEK — derived from the PDS and your Access Key. Both are required, which is why the Access Key matters and why it's unrecoverable by design.
- UMK — a random 256-bit key, stored only in its encrypted form (
encryptedMasterKey). The KEK unwraps it at unlock. - DEK — a random 256-bit key per vault, stored only as
encryptedDek. The UMK unwraps it when you open the vault. - Item fields — sensitive fields are encrypted individually with the DEK, each with a unique 12-byte IV.
Why this design#
| Property | How the hierarchy delivers it |
|---|---|
| Server can't read your secrets | It only ever stores encryptedMasterKey, encryptedDek, and ciphertext for every secret field (item names and non-secret fields are stored readable — what is and isn't encrypted) |
| Password change is cheap | It only re-wraps the UMK — items are never re-encrypted |
| Sharing without plaintext | A vault's DEK is re-wrapped for the recipient's keys |
| Per-vault isolation | Each vault has its own DEK; revoking one doesn't expose others |
Invariants that never change
The raw UMK, DEK, and PDS never reach the server. The primary vault is always AES-256-GCM and never shareable. Each AES-GCM encryption uses a unique IV. See the full list in Security invariants.
Related#
- The two-gate model — how unlock and sessions work
- Encryption architecture — the deep technical reference
- Recovery & Emergency Kit
Was this page helpful?