Skip to content

Architecture decision records

Each record states the context, the decision and its consequences. Records are numbered in the order they were accepted and are not rewritten once accepted; a later record supersedes an earlier one explicitly.

# Decision Status Date
0001 The Rust core owns all secret-management semantics accepted 2026-10-20
0002 Encrypted SQLite vault with the key in the OS credential store accepted 2026-10-20
0003 XChaCha20-Poly1305, Argon2id, random nonces accepted 2026-10-20
0004 get_secret without a version returns the newest accessible version accepted 2026-10-20
0005 Language SDKs only read accepted 2026-10-20
0006 One binding technology per language accepted 2026-10-20

The records live in docs/adr/ in the repository.