


A read-only copy of your backups that nobody can modify or delete. Not you, not a rogue script, not ransomware. Protected by credential separation and controlled sync jobs.
Immutable backups create a separate datastore that syncs automatically from your primary. Deletions don't propagate. Credentials are isolated. Your data survives.
An attacker who compromises your PBS credentials can delete snapshots through the API. Your immutable copy is controlled by a separate sync job with separate credentials that you don't hold. Even a full credential compromise leaves the immutable data untouched.
A misconfigured prune job set to keep 3 instead of 30 snapshots. A bulk delete on the wrong datastore. A script pointed at production instead of staging. Immutable backups maintain their own retention, independent from your primary.
SOC 2, ISO 27001, and GDPR frameworks expect backup copies that can't be altered by the same credentials used for daily operations. Immutable backups provide exactly this: a separation of control where the backup copy is beyond the reach of normal operational access.
The mechanism is straightforward: a sync job copies your backups to a second datastore with remove-vanished set to false. Deletions on your primary don't propagate.
Choose your sync schedule (what hour to sync) and set your retention policy for the immutable copy.
A second PBS datastore is created on the same server. A sync job copies your backups with remove-vanished disabled.
Your existing backups are copied to the immutable datastore right away. Subsequent syncs run on your chosen schedule.
A dedicated API token with DatastoreReader permissions. You can browse snapshots and restore, but not modify or delete.
The sync job runs under admin credentials you don't have access to. Your restore token is DatastoreReader only.
The sync job uses remove-vanished: false. When you delete a snapshot from your primary datastore, it survives in the immutable copy.
You hold a DatastoreReader token. All writes happen through a sync job running under admin credentials you don't have access to.
The immutable datastore has its own prune schedule. Keep 7 daily on your primary but 30 daily and 12 monthly on the immutable copy.
Your restore token lets you browse and restore. You cannot write, modify, or delete anything on the immutable datastore.
Same tools, same workflow. The only difference is the repository string.
proxmox-backup-client restore <snapshot> <target> \
--repository user-<id>@pbs!restore@<host>:<datastore>-immYour dashboard shows the full connection details with copy buttons for each field: host, datastore name, token name, and token secret.
€3 per TB per month*, billed per GB per hour. You pay for the bytes your immutable snapshots actually consume, not your primary datastore's allocated size.
Per TB/Month
Based on actual usageBilling Granularity
Not per 100GB incrementsBilling Interval
Pay only for what you use| Primary Datastore | Immutable Usage | Monthly Cost |
|---|---|---|
| 500 GB | ~400 GB | ~€1.20* |
| 2 TB | ~1.5 TB | ~€4.50* |
| 5 TB | ~4 TB | ~€12* |
Actual immutable usage depends on your retention settings and deduplication ratio. If your primary is 2 TB but only 800 GB of unique data syncs, you pay for 800 GB.
Knowing the boundaries matters as much as knowing the features.
Your immutable copy lives on the same server as your primary datastore. It protects against logical deletion and credential compromise, not physical server failure.
Add geo-replication for physical protection →There's no filesystem-level write-once enforcement with compliance-grade retention locks. Immutability comes from access control: you have read-only access, writes happen through a controlled sync job.
Read the full technical analysis →Root access to the physical server could theoretically reach the immutable datastore. For that level of isolation, combine immutable backups with geo-replication to a separate server.
See the 3-2-1-1-0 strategy →When you request to disable immutable backups, nothing happens immediately. A 24-hour grace period starts. You get an email notification, and you can cancel at any time during those 24 hours.
After the grace period, the immutable datastore, sync job, restore token, and all associated data are permanently removed. This prevents both accidental and malicious disabling of the protection.
Each layer addresses a different threat. Together, they cover ransomware, human error, and regional disasters.
Your working backup target with daily prune jobs.
IncludedRead-only copy that survives deletion and credential compromise.
€3/TB/month*Geographic separation that survives physical disasters.
€4/TB/copy*Immutable backups are available now for all datastores.
Your first sync starts immediately. The dashboard shows your immutable backup status, last sync time, storage usage, and restore credentials.
proxmox-backup-client restore command with the immutable datastore name and your read-only restore token. The dashboard shows all connection details with copy buttons.Immutable backups create a read-only copy of your data that survives accidental deletion, ransomware, and credential compromise. From €3/TB/month*.
* = VAT may apply