Feature: backup archive encryption (AES-256) #17

Open
opened 2026-06-02 20:29:31 +00:00 by jmiller · 1 comment
Owner

Encrypt backup archives for GDPR compliance and secure offsite storage.

Description

Password-protect backup archives using AES-256 encryption. Critical when storing backups in cloud storage (Google Drive, S3) that may contain PII.

Requirements

  • Optional encryption password per profile
  • AES-256 encryption of ZIP archive
  • Encrypted archives must be decryptable by standard ZIP tools (7-Zip, WinZip)
  • Kickstart restore.php must handle encrypted archives
  • Password stored securely (not in plaintext? or accept plaintext in DB?)
Encrypt backup archives for GDPR compliance and secure offsite storage. ## Description Password-protect backup archives using AES-256 encryption. Critical when storing backups in cloud storage (Google Drive, S3) that may contain PII. ## Requirements - [ ] Optional encryption password per profile - [ ] AES-256 encryption of ZIP archive - [ ] Encrypted archives must be decryptable by standard ZIP tools (7-Zip, WinZip) - [ ] Kickstart restore.php must handle encrypted archives - [ ] Password stored securely (not in plaintext? or accept plaintext in DB?)
jmiller added the type: featurepriority: mediumcomponent: enginestatus: ready labels 2026-06-02 20:29:31 +00:00
Author
Owner

Testing Plan

TC-F4.1: Encrypted backup

  1. Set encryption password in profile
  2. Run backup
  3. Try to open ZIP without password — verify it fails
  4. Open with correct password — verify contents accessible

TC-F4.2: Restore with encryption

  1. Create encrypted backup
  2. Restore via admin UI (should prompt for password)
  3. Verify restore succeeds

TC-F4.3: Kickstart with encryption

  1. Create encrypted backup with Kickstart enabled
  2. Use restore.php on blank server
  3. Verify password prompt in Step 2 (extraction)
  4. Verify restore completes

TC-F4.4: No encryption

  1. Leave password empty
  2. Verify backup is not encrypted (normal ZIP)
## Testing Plan **TC-F4.1: Encrypted backup** 1. Set encryption password in profile 2. Run backup 3. Try to open ZIP without password — verify it fails 4. Open with correct password — verify contents accessible **TC-F4.2: Restore with encryption** 1. Create encrypted backup 2. Restore via admin UI (should prompt for password) 3. Verify restore succeeds **TC-F4.3: Kickstart with encryption** 1. Create encrypted backup with Kickstart enabled 2. Use restore.php on blank server 3. Verify password prompt in Step 2 (extraction) 4. Verify restore completes **TC-F4.4: No encryption** 1. Leave password empty 2. Verify backup is not encrypted (normal ZIP)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoJoomBackup#17