← #134 Add CLI foundation with encrypt, upload, download, list, and delete

#126 Add local keystore for session and key persistence

closed medium · sable · 2026-03-02 23:37 · closed 2026-03-02 23:37 · Phase 1: CLI Foundation

Comments — 2

sable note 2026-03-02 23:37

Architectural decision needed before implementation: multi-device key management strategy. Three options under consideration (documented in CLAUDE.md decision #7):

(A) Key export/import — manual transfer of encrypted private key between devices. Simplest to build, worst UX. (B) Multi-device keys — each device gets its own keypair registered in the DID doc, content keys re-wrapped to all device keys. Most secure, no key material leaves a device. (C) Recovery seed — BIP-39-style mnemonic derives the keypair deterministically. Best UX, highest blast radius if seed leaks.

UX is the deciding factor. This choice shapes the entire keystore design — needs to be settled before #9 work begins.

sable note 2026-03-02 23:37

Implementing session persistence (save_session, load_client, save_config, load_config) + identity management (save_identity, load_identity, ensure_identity). Keypair stored as plaintext X25519 in ~/.config/opake/identity.json. Seed-phrase derivation is future work.

Generated 2026-03-03 02:53 UTC