TA-0014: Customer data encryption at rest
Issue
How do we encrypt customer data at rest such that we satisfy SOC 2 CC6.1 and GDPR Art. 32(1)(a) without adding a vendor to the audit scope?
Decision
Adopt envelope encryption: AWS KMS-managed Customer Master Key (CMK) + per-tenant Data Encryption Keys (DEK) + libsodium for application-layer encrypt/decrypt.
Status
Approved — Author: A. Lee. Reviewer: Architecture Review Board (ARB). Date: 2026-04-15.
Group
Security
Assumptions
- AWS remains our primary cloud for the next 24 months.
- Performance budget allows ~2ms additional latency per encrypted
field at the application layer.
- Per-tenant blast-radius isolation is a requirement for our enterprise
tier (assumed from Sales spec, to be re-validated 2026-Q3).
Constraints
- Customer data must be encrypted at rest with rotatable keys.
- Per-tenant key separation.
- No new vendor on the SOC 2 audit scope this quarter.
- Recovery Time Objective (RTO) ≤ 1 hour for the keystore.
Positions
- KMS envelope encryption (chosen).
- Application-managed keys backed by HashiCorp Vault.
- Disk-level encryption only (EBS-encrypt + LUKS).
Argument
Position 1 is the only option that satisfies all three primary constraints (rotation, per-tenant separation, no-new-vendor) without adding HashiCorp to the audit scope (which Position 2 would require). Position 3 fails the per-tenant separation constraint outright.
The latency cost of Position 1 (~1.6ms p99 per encrypt) is within the ~2ms assumption budget.
Implications
- New runbook required for KMS key-rotation events (quarterly).
- Application latency budget eaten: ~1.6ms p99 per encrypted field.
- New audit log entries for every encrypt/decrypt operation — estimated
observability storage cost increase: ~5%.
- DR drill required to validate RTO ≤ 1 hour for the keystore.
Related Decisions
- Depends on: ADR-0011 (AWS as primary cloud).
- Supersedes: ADR-0034 (Disk-level encryption only).
- Related to: ADR-0058 (Audit log retention).
Related Requirements
SOC 2 CC6.1; GDPR Art. 32(1)(a); internal SEC-POL-04 §3.
Notes
Two reviewers (P. Singh, M. Costa) dissented on Position 2, arguing that Vault would future-proof a multi-cloud strategy. The ARB acknowledged the concern but ruled the audit-scope cost decisive. Revisit if a multi-cloud ADR is opened.