remote-backups.comremote-backups.com
Contact illustration
Sign In
Don't have an account ?Sign Up

PBS Compliance: GDPR, SOC 2, and ISO 27001

Your auditor will ask about backups. Not "do you have backups?" They want encryption key management documentation, retention policies with defined windows, access control lists, and evidence of tested restores. If your answer is "trust me, it works," your controls documentation is incomplete. Proxmox Backup Server, combined with a properly configured offsite target, maps directly to the technical controls that GDPR, SOC 2 Type II, and ISO 27001 require from a backup system. This post covers what each framework expects, how PBS addresses it at the technical layer, and what evidence to collect before your next audit.

Not Legal Advice

This post covers technical controls and how they map to common compliance frameworks. It is not legal advice. Your specific compliance posture depends on your processing activities, data categories, and organisational context. Work with your legal or compliance team before making framework-specific representations to auditors or clients.

Key Takeaways
  • PBS client-side AES-256-GCM encryption addresses the 'encryption at rest' technical control referenced in GDPR Art. 32, SOC 2 CC6.1, and ISO 27001 A.10.1
  • API tokens can be scoped to a single datastore and a single role: DatastoreBackup for agents, DatastoreReader for restore-only operators
  • PBS prune jobs define retention windows; a datastore-per-client architecture makes GDPR right-to-erasure clean and auditable
  • Verify jobs check chunk integrity. They do not constitute a restore test. SOC 2 CC7.5 and ISO 27001 A.12.3.1 require actual restore testing
  • EU-hosted PBS removes the need for Standard Contractual Clauses on the backup tier — no personal data crosses EU/EEA borders
  • Compliance evidence is only useful if collected before the audit. Build log forwarding and a restore test cadence into your runbook now

What Auditors Actually Ask For

The underlying requirements across GDPR, SOC 2 Type II, and ISO 27001 overlap heavily. Auditors are not testing different things. They're asking the same questions through different lenses. The backup system itself must satisfy these controls, not just your production infrastructure.

Backup Controls Across Compliance Frameworks
Requirement
GDPR
SOC 2 (CC6/A1)
ISO 27001 (A.12.3)
Encrypted data at rest and in transit
Access controls and least privilege
Defined retention and deletion policies
Regular restore testing
Audit logging of backup activity
Geographic data residency (EU)
Incident response and breach procedures

When you're managing client environments under multiple compliance frameworks, a well-configured PBS stack addresses most of the technical controls in this table. The sections below go through each one.

Encryption: Client-Side AES-256-GCM

Client-side encryption is the foundation of a compliant PBS setup. When you configure a Proxmox Backup Server storage with an encryption key, the backup client on your Proxmox VE node splits the VM data into chunks and encrypts each one with AES-256-GCM before the data leaves your network. The remote PBS server receives encrypted chunks and nothing else. It has no key, no decryption capability, and no way to read the backup content.

This addresses the encryption technical control referenced in:

  • GDPR Art. 32: "appropriate technical and organisational measures" — encryption is the named example; organisational measures (key management docs, access policy) are required alongside it
  • SOC 2 CC6.1: encryption of data at rest to prevent unauthorized access
  • ISO 27001 A.10.1: cryptographic controls for information protection

Key management is the client's responsibility. Document where your encryption key and its passphrase are stored. Auditors want to see that you have a key backup procedure, not just that encryption is on.

bash
# Generate a new encryption key on the PVE node
proxmox-backup-client key create /etc/proxmox-backup/encryption-key

# Create a paper key backup (QR code, printable offline copy)
proxmox-backup-client key paperkey /etc/proxmox-backup/encryption-key \
    --output-format text > /tmp/encryption-key-paperkey.txt

# Store passphrase in password manager AND print the paper key
# Never store the key on the PBS server itself
Generate a PBS encryption key
Key Loss Is Permanent Data Loss

Losing your encryption key means losing every backup protected by it. No recovery service can help. The server holds only ciphertext. Store the key file and its passphrase in at least two physically separate locations. A password manager plus a printed paper key kept offsite is a reasonable minimum.

For your compliance evidence pack, document when the key was generated, where it is stored, and who has access to it. Treat this like a certificate inventory entry.

Access Controls and API Token Scoping

PBS has a role-based access model that maps directly to least-privilege requirements. The right pattern is one API token per use case, scoped to a single datastore and a single role. This is described in detail in the PBS security hardening guide. The short version for compliance purposes is below.

API Token Role Assignment
Use Case
Backup agent (automated)
Restore operator
Monitoring / metrics
Admin (break-glass)
PBS Role
DatastoreBackup
DatastoreReader
DatastoreAudit
DatastoreAdmin
ACL Scope
Single client datastore
Single client datastore
All datastores (read-only)
Named datastore only
Notes
Cannot prune, verify, or read backups
Read and restore only; cannot write
For Prometheus scraping, task log review
Enable MFA; audit all usage
bash
# Create a user for the backup agent
proxmox-backup-manager user create backup-agent@pbs \
    --comment "Automated backup agent - client ACME"

# Generate a named API token
proxmox-backup-manager user generate-token backup-agent@pbs agent-token-01

# Grant DatastoreBackup on a specific datastore only
proxmox-backup-manager acl update /datastore/client-acme \
    --auth-id backup-agent@pbs!agent-token-01 \
    --role DatastoreBackup
Create a scoped backup agent token

Tokens are expirable. Set an expiry when you create them and rotate on a schedule. Quarterly is a reasonable baseline. For SOC 2 CC6.1 and ISO 27001 A.9.4, your evidence is the ACL list showing scoped permissions. Run proxmox-backup-manager acl list and export it before each audit cycle.

For MSPs managing client environments, the multi-tenant PBS architecture goes deeper on isolating client datastores. The principle is the same: one token per client per purpose, no shared credentials across tenants.

Retention Policies and Data Deletion

GDPR Art. 17 includes a right to erasure. For backups, regulators generally accept that you cannot immediately scrub individual records from encrypted backup chunks — but you need a documented retention window, a process to avoid restoring erased data, and the ability to fully delete a client's dataset when the retention period ends or an offboarding request comes in.

PBS prune jobs define retention windows per backup type. Configure them at the datastore level so they apply automatically without manual intervention.

PBS Prune Parameters
Parameter
keep-daily
keep-weekly
keep-monthly
keep-yearly
Example Value
7
4
3
0
What It Means
One snapshot per day, kept for 7 days
One snapshot per week, kept for 4 weeks
One snapshot per month, kept for 3 months
No annual retention; rolls off after monthly window
bash
proxmox-backup-manager datastore update client-acme \
    --prune-schedule "daily" \
    --keep-daily 7 \
    --keep-weekly 4 \
    --keep-monthly 3
Set prune schedule on a datastore
Document the Policy, Not Just the Config

Auditors want a written retention policy with explicit windows, not just a screenshot of your prune config. Create a one-page policy document that references these settings. The PBS config is your implementation evidence. The written policy is what satisfies the control.

For complete client offboarding under GDPR, a datastore-per-client architecture is cleanest: delete the datastore, all data is gone. There's no partial-deletion complexity. This also fits naturally with the 3-2-1-1-0 strategy. Your retention tiers are explicit, documented, and auditable.

Audit Logging and Evidence Collection

SOC 2 and ISO 27001 require audit trails for backup operations. PBS logs every backup job, restore operation, verify run, and admin action. The logs are accessible in two places: the task log in the PBS web UI, and /var/log/proxmox-backup/ on the host.

The task log captures:

  • Backup start/end time, status, datastore, and auth-id (which user or token triggered it)
  • Restore operations with the same metadata
  • Verify job results
  • ACL changes, user creation, token creation
Local Logs Don't Satisfy Audit Requirements

Logs stored on the PBS server itself can be tampered with or wiped if the server is compromised. For compliance purposes, forward logs to an external SIEM before you need them. Evidence collected after an incident is not evidence.

bash
# Forward PBS proxy logs to external SIEM (UDP syslog)
if $programname == 'proxmox-backup-proxy' then @siem.example.com:514
& stop

# For TCP with guaranteed delivery:
# if $programname == 'proxmox-backup-proxy' then @@siem.example.com:514
/etc/rsyslog.d/99-pbs-siem.conf

Define which events trigger alerts. The table below is a starting point for your monitoring runbook.

Key PBS Log Events to Monitor
Event
Backup failure
Restore operation
ACL change
Token creation or deletion
Datastore deletion
What to Watch For
Alert on 2+ consecutive failures per client; indicates a broken schedule
Log who triggered it, which token, which snapshot. Every restore is an access event.
Any permission modification should generate an immediate alert
New API tokens represent new access paths; review immediately
Irreversible. Alert and require manual confirmation before any automated process can trigger this

Restore Testing: The Control Most Teams Skip

This is where most backup setups fail audits. PBS verify jobs check chunk integrity using SHA-256 hashes. They confirm that the stored chunks have not been corrupted or tampered with. They do not confirm that a VM will boot, that a database can be queried, or that your restore procedure works under time pressure.

SOC 2 CC7.5 and ISO 27001 A.12.3.1 both require that backups are periodically tested by performing actual restores. Verify jobs do not satisfy this control. You need to restore a VM or service and verify it works.

The PBS disaster recovery guide covers full-cluster scenarios. For routine compliance testing, a quarterly cadence per critical system is a reasonable baseline. Document every test.

Restore Test Log (Example)
Date
2026-03-15
2026-04-01
Operator
j.smith
j.smith
Datastore
client-acme
client-beta
Snapshot Used
vm/100/2026-03-14
vm/201/2026-03-31
Service Restored
webserver01
db-primary
Result
Pass
Pass
Notes
Full restore in 12 min, HTTP check passed
Restored, pg_dump integrity check passed

Keep this log in your runbook. When an auditor asks for restore test evidence, one spreadsheet export is the answer. The PBS verify jobs guide covers the technical difference between integrity verification and restore testing in more detail.

GDPR Data Residency: Why EU-Hosted PBS Matters

GDPR Art. 44 restricts transferring personal data outside the EU/EEA without adequate safeguards. If your backups land on US-based storage (AWS S3, Azure Blob, Backblaze B2), you need Standard Contractual Clauses or another legal transfer mechanism for the backup tier specifically. This is frequently missed in compliance audits.

EU-hosted PBS removes the cross-border transfer obligation for the backup tier. No personal data leaves the EU/EEA, so Standard Contractual Clauses, adequacy decisions, and transfer impact assessments are not required for this layer specifically. You still need a Data Processing Agreement with your storage provider — that applies regardless of where the servers sit.

Encrypted Data Is Still Personal Data Under GDPR

Some teams assume that client-side encrypted backups fall outside GDPR scope because the data is unreadable. This is incorrect. Encrypted data is still personal data if the controller holds the decryption key. EU data residency is required regardless of encryption status.

remote-backups.com operates across multiple EU datacenters with geo-replication within EU borders. For businesses subject to GDPR, this means the backup tier has no Art. 44 cross-border transfer obligations to resolve.

Building Your Compliance Evidence Pack

The most practical question after reading a post like this: what exactly do I collect, and how often? The table below is a starting checklist.

Compliance Evidence Pack
Evidence Item
Encryption key existence proof
Prune/retention policy
API token list with scope
Backup success logs (90 days)
Restore test records
Firewall rules for PBS port
TLS certificate details
How to Get It
Screenshot of key file + creation date from PVE node
proxmox-backup-manager datastore list (export) + written policy doc
proxmox-backup-manager acl list, export to file
PBS task log export or SIEM query
Manual log or spreadsheet (see template above)
ufw status verbose or iptables-save export
PBS Dashboard fingerprint screenshot or openssl output
Collection Frequency
One-time; repeat on key rotation
On every change
Quarterly, plus on any change
Quarterly
Quarterly per critical system
On every change
On renewal

Store this evidence pack somewhere your auditor can access without your help. Use a shared folder with clear naming and dates. Evidence that requires your intervention to retrieve is not evidence, it is a performance.

Wrapping Up

PBS is not marketed as compliance software, but its architecture aligns closely with what GDPR, SOC 2, and ISO 27001 actually require from a backup system. Client-side encryption, scoped API tokens, per-client datastores with prune schedules, task logging, and a clear chain of custody from backup to restore cover most of the controls. The gap between "PBS is running" and "PBS is auditable" is documentation, log forwarding, and a quarterly restore test schedule.

If you need an offsite PBS endpoint with no cross-border data transfer obligations under GDPR, remote-backups.com provides dedicated PBS targets in EU datacenters, client-side encryption support, EU geo-replication, and immutable datastores for ransomware-resistant retention. See the Proxmox Backup Server hosting page for details.

EU-Hosted PBS Storage for Compliance-Driven Teams

remote-backups.com provides dedicated PBS endpoints in EU datacenters with geo-replication, immutable datastores, and client-side encryption. No cross-border data transfers for the backup tier.

View Plans

PBS AES-256-GCM client-side encryption addresses the encryption technical control in Art. 32. The remote server holds only ciphertext and cannot decrypt it. Whether this satisfies Art. 32 in your specific context depends on your overall technical and organisational measures — encryption alone is not sufficient. Document your key management procedures and pair encryption with proper access controls.

No. Verify jobs check SHA-256 chunk integrity. They confirm data has not been corrupted on disk, but they do not test whether a VM will boot or a service will function after a restore. SOC 2 CC7.5 and ISO 27001 A.12.3.1 require actual restore testing. Run a quarterly restore of each critical system and document the result.

PBS does not have a per-snapshot immutability flag. Protection from deletion is achieved through access control: a backup agent token with DatastoreBackup role cannot delete snapshots. remote-backups.com offers Immutable Datastores, a separate product feature where snapshots are protected at the infrastructure level, not just through ACLs.

Under GDPR, encrypted personal data is still personal data if you hold the decryption key. Art. 44 transfer restrictions apply regardless of encryption status. Hosting in the EU removes the cross-border transfer obligation for the backup tier — no SCCs required for that layer. You still need a Data Processing Agreement with your storage provider.

If you use a dedicated datastore per client (recommended for MSPs), offboarding is clean: delete the datastore and all associated data is gone. There are no partial-deletion edge cases. Document the deletion with a timestamp for your compliance records.
Bennet Gallein
Bennet Gallein

remote-backups.com operator

Infrastructure enthusiast and founder of remote-backups.com. I build and operate reliable backup infrastructure powered by Proxmox Backup Server, so you can focus on what matters most: your data staying safe.