Post

The hard part comes next though. Key rotation and multi-device sync without ever trusting the backend with derivation material. How are you handling key lifecycle? Deriving from the password directly or managing a separate key hierarchy?

Deriving directly from the password via PBKDF2 (310k iterations, SHA-256) for Phase 1, no separate key hierarchy yet. You're right that key rotation is the hard next problem. It's on the Phase 3 list.

For now the constraint is known and documented, lost password means lost data, no recovery path by design. Separate key hierarchy is the right long-term architecture. Curious how you'd approach it?

Hmm, I'd push back slightly on deferring it to Phase 3. Once users have notes encrypted under a password-derived key, changing that password means re-wrapping everything. An envelope key now saves you pain later.