AES-256 Encryption
Encryption is per-profile and driven entirely by the profile's Encryption Password in Archive Settings — a blank value means no encryption, any non-empty value turns AES-256 on. Support depends on the archive format:
- ZIP — WinZip-compatible AES-256 applied per entry after the archive is written (requires PHP 7.2+ with libzip 1.2.0+). File contents are encrypted; filenames stay visible.
- 7z — native
7zCLI encryption with header encryption (-mhe=on), so filenames are hidden too (requires p7zip / 7-Zip on the server). - tar.gz — encryption is not supported; the backup completes unencrypted and logs a warning.
If encryption is configured but the encryption step fails, the plaintext archive is deleted and the backup is recorded as failed, so an unencrypted copy is never left behind.
Data Sanitization
Independently of encryption, a profile can scrub the database dump before it is archived: sanitize passwords (with preserve super admin), sanitize emails, and sanitize sessions. Credentials in configuration.php are also stripped automatically. Use encryption and sanitization together when shipping backups off-site.
SHA-256 Integrity
A checksum is computed after archive creation. Use the Verify Integrity button to detect corruption or tampering.
MokoRestore Restore Script
Self-contained restore.php with CSRF protection, pre-flight checks, and encrypted-archive support. Upload it to any PHP server for a bare-server restore. See Restore & MokoRestore.
Backup Directory
Protected with .htaccess (Deny from all) and index.html. For best security, set a backup directory outside the web root.