Make Kafka backups pass the audit
Regulators ask four things of backup data: keep it long enough, prove it restores, make the evidence tamper-evident, and honor erasure requests. Each one maps to a config below.
What Kafka backup compliance actually requires
Kafka backup compliance is not one control. It is four: a retention period matched to the regulation, proof that backups restore, tamper-evident documentation of that proof, and a way to erase personal data on request.
Auditors have stopped accepting assertions for any of them. Roughly 40% of organizations now field requests for live restore evidence during audits, and the trend is accelerating under GDPR, SOX, and CMMC.
| Regulation | What it asks of backup data | How to satisfy it |
|---|---|---|
| SOX (Section 404 ITGC) | Integrity monitoring, restore testing, 7-year evidence retention | Scheduled validation runs; SHA-256 checksummed evidence kept 2,555 days |
| GDPR (Article 32) | Regular testing of restore capability; erasure of personal data | Validation reports with RTO metrics; record deletion by key (Enterprise) |
| HIPAA | PHI protection and access logging | Storage-provider encryption at rest, scoped IAM, audit logging (Enterprise) |
| CMMC Level 2 (RE.3.139) | Regularly performed and tested backups, documented | Every validation check maps to RE.3.139 in the evidence report |
Not every topic carries regulated data. Tag the topics that do — payment streams, audit logs, PHI — and give them their own backup policy instead of one blanket rule for the cluster.
The Kafka backup compliance loop
Three artifacts run the whole program: a backup config scoped to regulated topics, a validation config that generates signed evidence, and a schedule that runs both without a human in the loop.
- compliance-backup.yaml
- validation.yaml
- schedule + audit trigger
mode: backup
backup_id: "compliance-${TIMESTAMP}"
source:
bootstrap_servers:
- kafka-prod-1:9092
- kafka-prod-2:9092
- kafka-prod-3:9092
topics:
include:
- "financial-transactions"
- "audit-log"
exclude:
- "__consumer_offsets"
storage:
backend: s3
bucket: kafka-compliance-backups
region: us-east-1
prefix: regulated/daily
backup:
compression: zstd
compression_level: 3
# Consumer group recovery is part of restore proof
include_offset_headers: true
source_cluster_id: "prod-us-west-2"
backup_id: "compliance-daily-001"
storage:
backend: s3
bucket: kafka-compliance-backups
region: us-east-1
prefix: regulated/daily
# The restored cluster to check against the backup manifest
target:
bootstrap_servers:
- restored-kafka:9092
checks:
message_count:
enabled: true
mode: exact
offset_range:
enabled: true
consumer_group_offsets:
enabled: true
evidence:
formats:
- json
- pdf
storage:
prefix: "evidence-reports/"
retention_days: 2555 # ~7 years (SOX requirement)
# /etc/cron.d/kafka-backup-validation
# Weekly SOX validation, Sundays 02:00 UTC
0 2 * * 0 kafka-backup validation run --config /etc/kafka-backup/sox-validation.yaml
# Auditor asks: "prove you can restore data from March 15th"
kafka-backup validation run \
--config validation.yaml \
--pitr 1710460800000 \
--triggered-by "External auditor KPMG - Q1 2026 review"
Each run produces a JSON report for automation and a branded PDF for direct
submission, both with detached ECDSA-P256-SHA256 signatures. The
--triggered-by string lands in the report, which gives the evidence a chain
of custody. The SOX example walks a
complete year of this loop.
Point the evidence bucket at object storage with versioning or S3 Object Lock and the reports become tamper-evident as well as signed. That replaces the screenshots-in-a-Word-document workflow auditors keep rejecting.
Erasure and PII: where Enterprise comes in
Backup, restore, validation, and signed evidence reports are all in the MIT-licensed core. The controls that touch record contents are Enterprise features:
- Data masking — redact PII during backup so regulated fields never reach the bucket.
- Right to be forgotten — delete specific records from existing backups by key, satisfying GDPR erasure requests without discarding whole backup sets.
- Field-level redaction — remove one field while preserving the rest of the record.
- RBAC and audit logging — separate backup-operator and restore-operator roles, with immutable operation logs.
If your topics hold no personal data, the core covers the SOX and CMMC story on its own. The proof side of that story — verifying that restores actually work — is covered in depth in the backup verification guide on the blog.
Compliance retention is also an input to disaster recovery: the same validated backups fund your DR plan, so one schedule can serve both programs.
Frequently asked questions
How do I make Kafka backups GDPR compliant?
GDPR Article 32 requires regularly testing that data protection measures work, which scheduled validation runs document with RTO metrics in signed evidence reports. For erasure requests, the Enterprise edition deletes specific records from backups by key, so honoring a request does not mean destroying whole backup sets.
How long should Kafka backups be retained for SOX?
SOX IT General Controls call for 7-year evidence retention on financial data. Set retention_days: 2555 on the evidence store, apply a matching lifecycle policy to the backup bucket, and scope the policy to the financial topics rather than the whole cluster.
How do I prove to an auditor that Kafka backups restore?
Run kafka-backup validation against a restored cluster. It checks message counts, offset ranges, and consumer group offsets against the backup manifest, then emits JSON and PDF evidence reports with SHA-256 checksums and an ECDSA-P256-SHA256 signature the auditor can verify independently.
Does Kafka topic retention count as compliant backup?
No. Retention keeps live data in the cluster that produced it, so a cluster loss, corruption event, or accidental deletion destroys the "backup" too. Regulators expect an isolated copy with tested restore capability, which retention alone cannot provide.
Is compliance evidence generation an Enterprise feature?
No — validation runs and signed evidence reports ship in the MIT-licensed core. Enterprise adds the controls that modify record contents and access: data masking, right-to-be-forgotten deletion by key, field-level redaction, RBAC, and audit logging.
Ready to protect your Kafka data?
Take your first backup in minutes with the open source CLI, or talk to us about Enterprise features like encryption, RBAC, and audit logging.