Problem Statement: Zero-Knowledge Password Vault
How Problem Statement: Zero-Knowledge Password Vault shapes architecture and interviewer follow-ups for Design Password Manager.
Problem Statement: Zero-Knowledge Password Vault
A password manager is a credential vault with synchronized clients (mobile, desktop, browser extension). Users expect autofill, secure notes, TOTP seeds, and family sharing without exposing plaintext secrets to the operator.
The canonical threat is database breach: attackers obtain encrypted blobs. Design must ensure offline cracking cost dominates breach value (Argon2id + high-entropy Secret Key).
Real-world scale (Bitwarden public stats, 1Password growth blogs): tens of millions of accounts, billions of vault items, sync bursts after password rotations.
Key points
- Server stores only ciphertext vault blobs; unlock keys never leave client RAM during normal use
- Master password + account secret key derive the vault encryption key via Argon2id
- Autofill and sharing are separate threat surfaces with their own crypto boundaries
Deep dive
Interviewers at 1Password, LastPass, or Bitwarden expect you to articulate zero-knowledge precisely: the operator cannot decrypt vaults without the user's derived keys. That does not mean "no server trust"—it means compromise of the database yields opaque blobs. Pair that with sync conflict resolution (vector clocks on item revisions), secure sharing (asymmetric item keys wrapped per member), and breach monitoring that never uploads full passwords to a third party.
1 public final class VaultKeyMaterial { 2 private final byte[] symmetricKey; 3 public byte[] deriveSubkey(String purpose) { 4 return Hkdf.expand(symmetricKey, purpose.getBytes(StandardCharsets.UTF_8), 32); 5 } 6 }
1 @dataclass(frozen=True) 2 class EncryptedVaultBlob: 3 version: int 4 nonce: bytes 5 ciphertext: bytes 6 aad: dict[str, str]
1 interface UnlockResult { 2 vaultKey: CryptoKey; 3 sessionExpiresAt: number; 4 } 5 6 export async function zeroizeBuffer(buf: ArrayBuffer): Promise<void> { 7 new Uint8Array(buf).fill(0); 8 }
Operational notes
- Section 1 note 1: understanding — document zero-knowledge unlock path, shard sync, and breach-monitor k-anonymity.
- Section 1 note 2: understanding — document zero-knowledge unlock path, shard sync, and breach-monitor k-anonymity.
- Section 1 note 3: understanding — document zero-knowledge unlock path, shard sync, and breach-monitor k-anonymity.
- Section 1 note 4: understanding — document zero-knowledge unlock path, shard sync, and breach-monitor k-anonymity.
- Section 1 note 5: understanding — document zero-knowledge unlock path, shard sync, and breach-monitor k-anonymity.
- Section 1 note 6: understanding — document zero-knowledge unlock path, shard sync, and breach-monitor k-anonymity.
- Section 1 note 7: understanding — document zero-knowledge unlock path, shard sync, and breach-monitor k-anonymity.
- Section 1 note 8: understanding — document zero-knowledge unlock path, shard sync, and breach-monitor k-anonymity.
- Section 1 note 9: understanding — document zero-knowledge unlock path, shard sync, and breach-monitor k-anonymity.
- Section 1 note 10: understanding — document zero-knowledge unlock path, shard sync, and breach-monitor k-anonymity.
- Section 1 note 11: understanding — document zero-knowledge unlock path, shard sync, and breach-monitor k-anonymity.
- Section 1 note 12: understanding — document zero-knowledge unlock path, shard sync, and breach-monitor k-anonymity.
- Section 1 note 13: understanding — document zero-knowledge unlock path, shard sync, and breach-monitor k-anonymity.
- Section 1 note 14: understanding — document zero-knowledge unlock path, shard sync, and breach-monitor k-anonymity.
State one measurable SLO (unlock p95 < 400ms on mobile), one failure mode (lost Secret Key), and one containment action (session revoke + forced re-auth on all devices).
Why interviewers care
Password Manager interviews reward crisp scope, explicit trade-offs, and failure stories—not generic microservice diagrams.
Interview checkpoint
Name one failure story for Problem Statement: Zero-Knowledge Password Vault that proves you understand real outages, not happy-path diagrams.
Key Highlights
- •A password manager is a **credential vault** with synchronized clients (mobile,
- •Client-side KDF + AEAD; server stores ciphertext only
- •Measure unlock p95 and sync merge correctness
Section Rescue Kit
Buzzwords to use:
Safe statements:
- "For Problem Statement: Zero-Knowledge Password Vault, I will state threat model assumptions (honest client, compromised server) before picking sync vs local-only."
- "If pressed on autofill phishing, I pivot to origin-bound matching and user-visible domain confirmation."