Records of processing activities maintained per Art. 30
Why it matters
GDPR Art. 30 requires controllers to maintain written records of processing activities (ROPA) covering processing purposes, data categories, recipients, retention periods, and security measures. Though organizations under 250 employees are generally exempt unless processing is systematic, non-occasional, or involves special category data, the practical effect is that most SaaS products should maintain a ROPA — and those that cannot demonstrate the exemption on request are treated as non-exempt. In a breach or regulatory investigation, the ROPA is the first document a DPA requests. Absence of any data register also makes it impossible to correctly scope DSARs, breach notifications, or deletion requests.
Severity rationale
Info because ROPA is a documentation obligation rather than a direct data protection control — the immediate harm is regulatory and reputational rather than a risk to user data.
Remediation
Create a ROPA in docs/ROPA.md or as a spreadsheet linked from the README. Cover every processing activity with all Art. 30(1) required fields.
# Records of Processing Activities — Art. 30 GDPR
Controller: Example Corp | privacy@example.com | Last updated: 2026-02-22
| Processing Activity | Purpose | Data Categories | Recipients | Retention | Legal Basis |
|-----------------------|----------------------|--------------------------|----------------|---------------|-----------------|
| User account mgmt | Service delivery | Email, name, hash(pwd) | Clerk (auth) | Until deletion| Contract |
| Transactional email | Notifications | Email, name | Resend | 90 days | Contract |
| Usage analytics | Product improvement | Pseudonymous ID, events | Internal only | 26 months | Legitimate int. |
| Payment processing | Order fulfillment | Billing address | Stripe | 7 years* | Contract/Legal |
| Error monitoring | Service reliability | Error context, user ID | Sentry | 90 days | Legitimate int. |
*Financial records retained 7 years under legal obligation (Art. 6(1)(c)).
Update the ROPA within 30 days of adding or changing any processing activity. Reference it from your DPA registry and breach notification procedure.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the GDPR Readiness Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- gdpr · Art. 30 — Records of processing activities
- gdpr · Art. 5(2) — Accountability — controller responsible and able to demonstrate compliance
- iso-27001:2022 · A.5.34 — Privacy and protection of PII — records of processing
Taxons
History
- 2026-04-18·v1.0.0·Initial import from gdpr-readiness·automated