Implement encrypted backup export and restore #91
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/local-recall!91
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "agent/issue-32-backup-export"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #32.
RAGE transaction for encrypted backup export and restore. Starting main:
233f310.Completed and verified slices:
LRBACKUP1archive container: magic+version header, canonical-JSON manifest (format/schema versions, record count, SHA-256 body digest), length-prefixed canonical encrypted envelopes; no decryption anywhere in the pipeline and no active key material exported;BackupEngine.export: full and explicit time-range windows over the paged content-free catalog, sanitizedexport_decisionaudit;BackupEngine.restore: empty-target enforcement with explicit override, schema-version compatibility check, body-digest verification, envelope authentication, identical-duplicate skip, conflicting-duplicate fail-safe, sanitizedrestore_decisionaudit;GpgRecipientCrypterviacreate_subprocess_exec(no shell), strict args, bounded timeout, private homedir support; wrong-recipient/timeout/missing-binary failures are sanitized and never produce partial restores;docs/backup.md.Acceptance evidence (exact head
7c877c5):getassertions on restored profiles);Canonical
./scripts/checkon exact head: 916 tests passed (unit 795, security 61, integration 49, contract 6 — plus 5 GPG round-trip tests), 8 failure modes verified, Bandit clean, detect-secrets clean, ruff clean, strict Pyright clean. RAGE log:rage/issue-32-backup-export.org.