Background
Image content is currently included in the encrypted backup payload. This preserves parity, but re-uploads unchanged image bytes and makes one large backup object.
Scope
- Store each image as a separately encrypted Drive object keyed by image ID or content hash.
- Add a versioned manifest to the main backup.
- Upload only new or changed image objects.
- Define atomic backup-generation and cleanup semantics so interrupted backups cannot corrupt the last good restore point.
- Restore images lazily or in bounded batches, with clear missing-object recovery behavior.
Acceptance criteria
- Unchanged images are not re-uploaded.
- Interrupted backup/restore leaves the previous complete generation usable.
- Encryption remains client-side and password-compatible.
- Legacy single-payload backups remain restorable.
- Tests cover incremental upload, deletion, interruption, and missing objects.
Background
Image content is currently included in the encrypted backup payload. This preserves parity, but re-uploads unchanged image bytes and makes one large backup object.
Scope
Acceptance criteria