Encrypt backup archives | laravel-backup | Spatie

 SPATIE

  Laravel Backup
=================

spatie.be/open-source

  [Docs](https://spatie.be/docs)  [Laravel-backup](https://spatie.be/docs/laravel-backup/v10)  Advanced-usage  Encrypt backup archives

 Version   v10   v9   v8   v7   v6   v5   v4   v3

 Other versions for crawler [v10](https://spatie.be/docs/laravel-backup/v10) [v9](https://spatie.be/docs/laravel-backup/v9) [v8](https://spatie.be/docs/laravel-backup/v8) [v7](https://spatie.be/docs/laravel-backup/v7) [v6](https://spatie.be/docs/laravel-backup/v6) [v5](https://spatie.be/docs/laravel-backup/v5) [v4](https://spatie.be/docs/laravel-backup/v4) [v3](https://spatie.be/docs/laravel-backup/v3)

  Encrypt backup archives
- [ Introduction ](https://spatie.be/docs/laravel-backup/v10/introduction)
- [ Support us ](https://spatie.be/docs/laravel-backup/v10/support-us)
- [ Requirements ](https://spatie.be/docs/laravel-backup/v10/requirements)
- [ High level overview ](https://spatie.be/docs/laravel-backup/v10/high-level-overview)
- [ Installation and setup ](https://spatie.be/docs/laravel-backup/v10/installation-and-setup)
- [ Questions &amp; issues ](https://spatie.be/docs/laravel-backup/v10/questions-and-issues)
- [ Changelog ](https://spatie.be/docs/laravel-backup/v10/changelog)
- [ About us ](https://spatie.be/docs/laravel-backup/v10/about-us)

Taking Backups
--------------

- [ Taking backups ](https://spatie.be/docs/laravel-backup/v10/taking-backups/overview)
- [ Events ](https://spatie.be/docs/laravel-backup/v10/taking-backups/events)

Cleaning up old backups
-----------------------

- [ Cleaning up old backups ](https://spatie.be/docs/laravel-backup/v10/cleaning-up-old-backups/overview)
- [ Events ](https://spatie.be/docs/laravel-backup/v10/cleaning-up-old-backups/events)

Monitoring the health of all backups
------------------------------------

- [ Monitoring the health of all backups ](https://spatie.be/docs/laravel-backup/v10/monitoring-the-health-of-all-backups/overview)
- [ Creating your custom health check ](https://spatie.be/docs/laravel-backup/v10/monitoring-the-health-of-all-backups/creating-your-custom-health-check)
- [ Events ](https://spatie.be/docs/laravel-backup/v10/monitoring-the-health-of-all-backups/events)

Sending notifications
---------------------

- [ Sending notifications ](https://spatie.be/docs/laravel-backup/v10/sending-notifications/overview)
- [ Adding extra notification channels ](https://spatie.be/docs/laravel-backup/v10/sending-notifications/adding-extra-notification-channels)
- [ Customizing the notifiable ](https://spatie.be/docs/laravel-backup/v10/sending-notifications/customizing-the-notifiable)

Advanced Usage
--------------

- [ Adding extra files to a backup ](https://spatie.be/docs/laravel-backup/v10/advanced-usage/adding-extra-files-to-a-backup)
- [ Backing up a non-laravel application ](https://spatie.be/docs/laravel-backup/v10/advanced-usage/backing-up-a-non-laravel-application)
- [ Binary database dumps with PostgreSQL ](https://spatie.be/docs/laravel-backup/v10/advanced-usage/binary-database-dumps-with-postgresql)
- [ Encrypt backup archives ](https://spatie.be/docs/laravel-backup/v10/advanced-usage/encrypt-backup-archives)
- [ Isolated mode ](https://spatie.be/docs/laravel-backup/v10/advanced-usage/isolated-mode)

 Encrypt backup archives
=======================

It's common to encrypt backups before storing them somewhere to prevent unauthorized access. To do so you can configure this package to use client-side symmetric zip file password encryption before storing the archive somewhere.

By default you only have to define the `BACKUP_ARCHIVE_PASSWORD` environment variable in your `.env` file.

If you want to customize this you can configure the `backup.backup.password` and `backup.backup.encryption` keys in your `config/backup.php` file.

The supported encryption values are: `'none'`, `'default'`, `'aes128'`, `'aes192'`, `'aes256'`. When set to `'default'`, AES-256 will be used if available on your system.

Encryption is applied while the archive is being built by the `\Spatie\Backup\Tasks\Backup\Zip` class. Encryption only runs when a password is set and the encryption algorithm is not `'none'`.

The `\Spatie\Backup\Listeners\EncryptBackupArchive` listener that previously did this is deprecated and no longer registered. If you registered this listener yourself, remove that registration. Otherwise the archive will be encrypted during the build and rewritten again by the listener.

It's important to try this workflow and also to decrypt a backup archive. So you know that it works and you have a working backup restore solution.

**Warning:** the default MacOS app to (un)archive ZIPs seems unable to open/extract encrypted ZIP files. You should use an app like [The Unarchiver](https://theunarchiver.com/) or [BetterZip](https://macitbetter.com/).

 A good
match?
-------------

### What we do best

- All things Laravel
- Custom frontend components
- Building APIs
- AI-powered features
- Simplifying things
- Clean solutions
- Integrating services

### Not our cup of tea

- WordPress themes
- Cutting corners
- Free mockups to win a job
- "Just execute the briefing"

 In short: we'd like to be a **substantial part** of your project.

 [ Get in touch via email ](mailto:info@spatie.be?subject=A%20good%20match%21&body=Tell%20us%20as%20much%20as%20you%20can%20about%0A-%20your%20online%20project%0A-%20your%20planning%0A-%20your%20budget%0A-%20%E2%80%A6%0A%0AAnything%20that%20helps%20us%20to%20start%20straightforward%21)
