For most home-server backups, the backup application or client should control the encryption needed to read the backup, while the off-site storage provider's encryption should be treated as an additional layer. That keeps cloud or remote-storage compromise from automatically exposing backup contents, while preserving a backup format that can still deduplicate, verify, and restore data efficiently.
The important distinction is not simply โclient-side versus server-side encryption.โ You need to decide which failure domain owns the decryption secret. If the only key exists on the source server, a dead or ransomware-encrypted source can destroy recoverability. If the off-site target owns the only meaningful key, the target operator or a compromised target account may remain inside the trust boundary. The best design separates backup data, repository credentials, and recovery keys.
There Are Three Different Places Encryption Can Live
The phrase โencrypted backupโ hides several architectures. The source files can be encrypted before the backup tool sees them. The backup tool can encrypt its repository format before sending objects to local or remote storage. Or the destination storage system can receive data and encrypt it at rest using its own key-management layer.
| Layer | Who performs encryption? | Who must hold a recovery secret? | Main strength | Main weakness |
|---|---|---|---|---|
| Client pre-encryption | Source application or encryption tool | Client/user key owner | Strong separation from backup repository and provider | Can reduce backup-aware deduplication, metadata visibility, and granular restore convenience |
| Backup repository encryption | Backup software before storage | Repository key/passphrase holder | Best balance of confidentiality and backup features | Lost key or passphrase can make the entire repository unreadable |
| Off-site target encryption | Cloud/NAS/storage service | Provider, KMS, or customer-managed target key | Simple protection for data at rest | Target remains part of the decryption trust boundary |
Repository-Level Encryption Is Usually the Best Default
Modern backup tools are designed to encrypt data as part of the repository format. Restic's encryption documentation treats encryption as a first-class repository feature and supports multiple access keys/passwords. Kopia similarly describes its repositories as adding encryption and deduplication on top of storage backends such as filesystems, S3, and cloud object stores.
Borg makes the trust model especially explicit. Its security documentation assumes the client environment is trusted and the repository may be hostile. Borg encrypts locally so that a remote repository does not receive the plaintext files or unencrypted backup key.
This pattern is attractive for a home NAS because the backup application can still see the original files while creating the backup. It can perform chunking, deduplication, compression, snapshot metadata handling, verification, and selective restores before or alongside encryption. The storage target receives encrypted repository objects instead of ordinary readable files.
Do Not Confuse the Repository Key With the Storage Credential
A cloud bucket access key, SFTP private key, remote NAS password, and backup decryption key are different secrets even when an automation script needs all of them. The storage credential answers โmay this client read or write repository objects?โ The repository key answers โcan these objects be decrypted into backup data?โ
Separating the two matters during an incident. An attacker who steals a write-capable bucket credential should not automatically gain the repository decryption secret. Conversely, possessing the backup passphrase should not necessarily grant administrative access to the off-site storage account.
The ZimaSpace guide on verifying every key required for an encrypted restore is a useful companion because it maps repository access, backup encryption, destination storage, container secrets, and application-level secrets as separate recovery dependencies.
Client Pre-Encryption Is Best for Narrow High-Sensitivity Data
Encrypting files before the backup application reads them can make sense when a specific dataset must remain opaque even to the normal backup tooling or administrators. Examples include a small legal archive, exported password database, private key bundle, or client-controlled encrypted container.
The trade-off is that encryption performed too early can hide structure the backup system would otherwise exploit. If every changed file becomes completely different encrypted output, compression and deduplication can become less effective. Granular file browsing can also become a two-step restore: recover the encrypted object first, then unlock it with another tool.
For that reason, full-dataset pre-encryption is usually weaker as a default home-backup architecture than using a backup tool with native authenticated repository encryption. Use it when you deliberately need a second trust boundary around a subset of data.
Off-Site Server-Side Encryption Protects Storage, Not the Entire Backup Trust Model
Cloud object stores commonly encrypt data at rest. Amazon S3, for example, applies server-side encryption by default and supports AWS-managed or customer-managed KMS keys. Its SSE-KMS documentation describes how S3 performs encryption at the destination while AWS KMS controls the keys and permissions.
Backblaze B2 likewise supports provider-managed SSE-B2 and customer-managed SSE-C. Its server-side encryption documentation notes that SSE protects file data at rest and that losing a customer-managed SSE-C key makes the data unrecoverable.
Server-side encryption is valuable. It helps protect physical media and storage infrastructure, and customer-managed KMS policies can create strong organizational controls. But if the target service can decrypt data whenever an authorized storage request arrives, the target is still inside the confidentiality boundary. This is different from uploading a Borg, restic, or Kopia repository that was already encrypted before it reached the provider.
Use Off-Site Encryption as Defense in Depth
The practical answer is often โboth.โ Let the backup application encrypt repository content before upload, then leave the target's normal encryption-at-rest enabled as another control. The two layers protect against different events.
| Failure or threat | Repository encryption | Target server-side encryption |
|---|---|---|
| Cloud disk/media exposure | Protects contents | Protects contents |
| Storage provider can read authorized objects | Can keep provider outside plaintext trust boundary | Usually does not by itself |
| Stolen bucket credential | Data may remain unreadable without repository key | Authorized reads may still trigger decryption |
| Lost backup passphrase/key | Can make repository unrecoverable | Does not recover the repository key |
| Lost provider-managed storage key | Repository layer cannot fix unavailable target data | Provider/KMS recovery policy applies |
The Key Must Survive the Machine It Protects
The most important key-placement rule is simple: do not keep the only recovery copy of the encryption secret on the server being backed up. Borg's current repository initialization guide explicitly recommends keeping a backup of the Borg key outside both the repository and the system creating the backups.
The same logic applies to restic passwords, Kopia repository passwords, age keys, LUKS recovery material, cloud KMS administration, and application master keys. A perfect encrypted repository is useless if the only decryption secret disappears with the failed boot drive.
For a household or small lab, keep at least one recovery copy offline or in a separate credential system that does not depend on the NAS being alive. Then test a clean-machine restore. A written password that has never been used to open the repository is evidence of documentation, not evidence of recoverability.
Which Layer Should Own the Key in Common Home-Server Designs?
Home NAS Backing Up to Object Storage
Use native repository encryption in restic, Borg, Kopia, or a comparable backup tool before data leaves the NAS. Keep the repository key/passphrase outside the NAS. Leave bucket encryption enabled as defense in depth. This keeps the cloud target from being the only confidentiality control.
Home NAS Backing Up to a Friend's Remote Server
Prefer client/repository encryption whose plaintext key does not live on the friend's server. The remote host can store opaque repository objects and enforce limited write permissions. This is especially valuable because physical and administrative control of the remote machine belongs to another failure domain.
Local Backup Disk Stored in the Same House
Repository encryption still protects confidentiality if the disk is lost or stolen. Full-disk encryption on the backup disk can be a useful second layer, but do not let the disk's unlock key become the only route to the backup repository.
Managed Cloud Backup With Provider Recovery Features
Provider-managed encryption can be reasonable when simplicity and vendor-assisted recovery are more important than keeping the provider outside the plaintext trust boundary. Understand that this is a different security decision from zero-knowledge-style client encryption.
Do Not Put All Backup Secrets in One Automation File
An unattended backup job needs credentials, but convenience can collapse your security boundaries. Restic's automation guidance warns that the way passwords are supplied can expose credentials and recommends protecting password files carefully.
For a home server, separate at least these roles where practical:
- A narrowly scoped credential that can reach the backup target.
- The repository decryption password or key.
- An offline recovery copy of that password/key.
- Administrative credentials that can delete retention policies, buckets, or remote accounts.
This separation is more important than deciding whether one specific secret is stored in a file, environment variable, password manager, hardware token, or KMS. The architecture should prevent one stolen automation credential from simultaneously reading plaintext, deleting the repository, and destroying the only recovery key.
Encryption Does Not Replace Immutability or Restore Testing
Confidentiality, integrity, deletion resistance, and recoverability are separate goals. An encrypted repository can still be deleted. An immutable bucket can still contain backups whose decryption key was lost. A successfully completed backup job can still fail during restore.
The ZimaSpace comparison of a remote backup server versus cloud object storage for VM backups reaches the same operational endpoint: the target label matters less than whether a real recovery has been tested.
Decision Matrix
| Priority | Preferred key ownership |
|---|---|
| Keep cloud/remote administrator away from plaintext | Client or encrypted backup repository |
| Preserve deduplication and backup-aware restores | Native repository encryption |
| Lowest operational complexity | Provider-managed target encryption, accepting broader trust |
| Strong defense in depth | Repository encryption + target server-side encryption |
| Protect a tiny ultra-sensitive subset separately | Client pre-encryption + normal repository backup |
| Disaster recovery after source loss | Any model with an independent tested recovery copy of the key |
Final Verdict
For most self-hosted backup systems, let the backup client or repository format own the content-encryption boundary, and let the off-site target encrypt again at rest. This keeps backup features such as deduplication and verification while reducing how much you must trust the remote storage system with plaintext.
The key-management plan is complete only when the decryption secret survives loss of the source server, the storage target, and the normal administrator workstation. Test that assumption from a clean machine before calling the backup recoverable.
FAQs
Is cloud server-side encryption enough for home backups?
It protects data at rest, but it usually keeps the storage service inside the decryption trust boundary. Use backup-native encryption too when you do not want the provider or a stolen storage credential to be sufficient for plaintext access.
Should the repository key be stored inside the repository?
Some backup formats store an encrypted key object in the repository, but recovery still depends on another secret such as a strong passphrase. Keep independent recovery material outside both the repository and the source system.
Does encrypting files before backup improve security?
It can create an additional trust boundary for sensitive subsets, but encrypting everything before the backup tool sees it may reduce deduplication, compression, metadata visibility, and restore convenience.
What is the most important key-management test?
Restore from a clean machine after pretending the original NAS is completely unavailable. If you cannot locate every credential and decrypt representative data, the key plan is incomplete.
Product Comparisons
More to Read

Can Home Assistant Replace openHAB for Whole-Home Device Control?
Home Assistant can replace openHAB only when every essential device and automation passes a parallel migration and rollback test.

Mini PC vs Single-Board Server vs NAS for Home Assistant
Pick an SBC for a small efficient appliance, a mini PC for flexible headroom, or a NAS only when shared-host operations are already mature.

How to Choose Between a Dedicated Home Assistant Server and a Shared App Host
Choose dedicated hosting for simpler failure isolation; choose a shared host when isolation, maintenance windows, and recovery are proven.

