1.1 KiB
1.1 KiB
V1 ADR 005: Export & Backup Boundary
Status: Accepted; updated to match current app state
Date: 2026-06-26
Last reviewed: 2026-07-07
Decision
- Backup: passphrase-encrypted copy of the local SQLite database bytes.
Defaults:
- source DB:
~/ADHD_Scheduler/scheduler.sqlite - backup directory:
~/ADHD_Scheduler/backups - backup filename:
yyyymmdd_hhmm.db.enc
- source DB:
- Backup cryptography: AES-256-GCM with PBKDF2-HMAC-SHA256 key derivation, 200,000 iterations, random salt, and random nonce. The encoded file is a JSON envelope containing format metadata, salt, nonce, ciphertext, and MAC.
- Restore: decrypts a
.db.encbackup and atomically replaces the target SQLite file. - Readable export: JSON and CSV are produced through
ExportControllerand export writer implementations.
Boundary
Encrypted backup is the restorable binary preservation path for the SQLite runtime database. JSON and CSV exports are readable user/data-portability outputs and are not the canonical restore format.
No open questions remain.