Replaces the in-memory prototype with the real thing: per-database DEK seals
every 4 KiB page with ChaCha20-Poly1305, persisted to a backend dir; the DEK
itself is sealed with luxfi/age PQ-hybrid (ML-KEM-768 + X25519). The full path
tenant page → encrypted block → object is end-to-end post-quantum — recording
ciphertext yields nothing without the ML-KEM identity.
- Config{Dir, Recipients, Identities}; Register(name, cfg); GenerateIdentity().
- Test proves: DEK is age-sealed (never raw), pages carry no plaintext SQLite,
right identity → data durable across reopen, WRONG identity → open rejected.
- Durable PQ bench (arm64): 720K insert/s, 59.6K point-read/s — 2.6x writes /
5x reads vs the FUSE path, and post-quantum.
No FUSE, no cgo, no kludge.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>