GDPR Audit Prep
Operational playbook for GDPR audit preparation — whether triggered by a Data Protection Authority (DPA) inquiry, customer-side DPA review, internal compliance audit, or annual self-assessment.
When to use this skill vs. gdpr-dsgvo-expert:
- This skill: audit imminent (4-12 weeks); need execution sprint
- gdpr-dsgvo-expert: building GDPR program; designing DPIA process; multi-quarter
When to use this skill
| Situation |
Skill applies |
| Supervisory authority inquiry received |
Yes — start immediately; engage DPO |
| Customer DPA audit / questionnaire |
Yes — scripts/gdpr_readiness_score.py first |
| Annual internal GDPR audit |
Yes — standard sprint |
| ROPA needs rapid update |
Yes — scripts/ropa_completeness_checker.py |
| New high-risk processing → DPIA needed |
Use ra-qm-team/gdpr-dsgvo-expert for DPIA design |
The audit-prep sprint at a glance
4-week sprint (well-prepared org, periodic review)
Week 1: ROPA review + DPO engagement plan
Week 2: Gap remediation (policies, notices, technical)
Week 3: Evidence compilation + walkthroughs
Week 4: Audit week / submission
8-week sprint (gaps remaining)
Weeks 1-2: ROPA update + gap identification
Weeks 3-5: Gap closure (DPAs, notices, security, retention)
Weeks 6-7: Evidence + walkthroughs
Week 8: Audit
12-week sprint (DPA inquiry response)
Weeks 1-2: Inquiry analysis + response strategy + DPO engagement
Weeks 3-8: Targeted evidence collection + remediation
Weeks 9-10: Formal response drafting + legal review
Weeks 11-12: Submission + ongoing dialogue
See references/gdpr-pre-audit-checklist.md for the full pre-audit punch list and references/dpo-engagement-playbook.md for DPO-coordinated audit response.
Critical GDPR audit areas
1. ROPA (Records of Processing Activities, Article 30)
Every processing activity documented:
- Purpose of processing
- Categories of data subjects + data types
- Recipients (internal + external)
- International transfers (and lawful basis)
- Retention periods
- Security measures
- Lawful basis (consent, contract, legitimate interest, etc.)
- DPIA reference (if high-risk)
Audit gap: ROPA incomplete, stale, or missing for processing activities surfaced during audit.
2. Privacy Notices (Article 13/14)
- Privacy notice published + current
- Contains all required information (data controller, purposes, lawful basis, retention, rights, complaints contact, etc.)
- Easily accessible (no dark patterns)
- Translated for EU member states (where required)
3. Data Subject Rights (Article 12-23)
- Process documented + tested
- Response time tracked (< 1 month standard; extension possible)
- Identity verification
- Records of requests and responses (last 12 months)
4. Data Protection Impact Assessments (DPIAs, Article 35)
- High-risk processing activities identified
- DPIA conducted for each
- Mitigations documented
- DPO consulted (Article 35.2)
5. Data Processing Agreements (Article 28)
- DPA with every processor (vendor, sub-service org)
- Covers required clauses (Article 28.3)
- Annual review
6. Security Measures (Article 32)
- Technical and organizational measures documented
- Risk-appropriate (encryption, access control, backup, etc.)
- Tested and reviewed
7. Breach Notification (Article 33/34)
- Process documented
- 72-hour authority notification capability
- Past-period breaches: notified appropriately + documented
8. International Transfers (Chapter V)
- Mechanism for each transfer (SCCs, BCRs, adequacy decision)
- Transfer Impact Assessment (TIA) for non-adequacy countries
- Schrems II compliance for US transfers
Clarify First
Before running the audit-prep, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the readiness assessment.
Quick start
- Run readiness score:
python3 scripts/gdpr_readiness_score.py --config gdpr-controls.yaml
- Check ROPA completeness:
python3 scripts/ropa_completeness_checker.py --ropa ropa.yaml
- Engage DPO: Walk through findings with DPO; finalize sprint scope
- Execute sprint per references/gdpr-pre-audit-checklist.md
Common GDPR audit failures
- ROPA missing or out-of-date. Often the first thing an auditor asks.
- Privacy notice generic — boilerplate not actually reflecting actual processing.
- DPIA missing for high-risk processing (AI / profiling / large-scale monitoring / sensitive data).
- DPAs not signed with all processors — easy oversight; substantial finding.
- International transfer mechanism unclear post-Schrems II.
- Breach notification process untested — first breach is the test.
- Consent not freely given — bundled consent, pre-ticked boxes, take-it-or-leave-it.
- No DPO appointed when required (Article 37 — public authority, large-scale monitoring, etc.).
- Data subject rights process untested — request comes in, no one knows what to do.
Tooling
| Script |
Purpose |
scripts/gdpr_readiness_score.py |
Score current state per GDPR area; identify gaps |
scripts/ropa_completeness_checker.py |
Validate ROPA structure and completeness per Article 30 |
References
- gdpr-pre-audit-checklist.md — full checklist per GDPR area
- dpo-engagement-playbook.md — DPO-coordinated audit response
Related skills
ra-qm-team/gdpr-dsgvo-expert — deep GDPR program management
ra-qm-team/audit-prep/compliance-readiness — multi-framework readiness (GDPR + ISO 27001 + SOC 2)
ra-qm-team/ccpa-cpra-privacy-expert — US privacy counterpart
ra-qm-team/audit-prep/ai-act-readiness — EU AI Act overlay for AI processing
1---
2name: gdpr-audit-prep
3description: >
4 GDPR audit-prep playbook: sprint to prepare for a supervisory authority inquiry,
5 DPA audit, or internal review. Use when an audit is scheduled, when readiness gaps
6 surface, or when ROPA (Records of Processing Activities) needs completion.
7license: MIT + Commons Clause
8metadata:
9 version: 1.0.0
10 author: borghei
11 category: compliance
12 domain: ra-qm-team
13 updated: 2026-05-27
14 tags: [gdpr, audit-prep, ropa, dpia, data-protection, dpo-engagement, eu-privacy]
15---
16
17# GDPR Audit Prep
18
19Operational playbook for GDPR audit preparation — whether triggered by a Data Protection Authority (DPA) inquiry, customer-side DPA review, internal compliance audit, or annual self-assessment.
20
21When to use this skill vs. gdpr-dsgvo-expert:
22- **This skill**: audit imminent (4-12 weeks); need execution sprint
23- **gdpr-dsgvo-expert**: building GDPR program; designing DPIA process; multi-quarter
24
25---
26
27## When to use this skill
28
29| Situation | Skill applies |
30|-----------|---------------|
31| Supervisory authority inquiry received | Yes — start immediately; engage DPO |
32| Customer DPA audit / questionnaire | Yes — `scripts/gdpr_readiness_score.py` first |
33| Annual internal GDPR audit | Yes — standard sprint |
34| ROPA needs rapid update | Yes — `scripts/ropa_completeness_checker.py` |
35| New high-risk processing → DPIA needed | Use `ra-qm-team/gdpr-dsgvo-expert` for DPIA design |
36
37---
38
39## The audit-prep sprint at a glance
40
41### 4-week sprint (well-prepared org, periodic review)
42
43```
44Week 1: ROPA review + DPO engagement plan
45Week 2: Gap remediation (policies, notices, technical)
46Week 3: Evidence compilation + walkthroughs
47Week 4: Audit week / submission
48```
49
50### 8-week sprint (gaps remaining)
51
52```
53Weeks 1-2: ROPA update + gap identification
54Weeks 3-5: Gap closure (DPAs, notices, security, retention)
55Weeks 6-7: Evidence + walkthroughs
56Week 8: Audit
57```
58
59### 12-week sprint (DPA inquiry response)
60
61```
62Weeks 1-2: Inquiry analysis + response strategy + DPO engagement
63Weeks 3-8: Targeted evidence collection + remediation
64Weeks 9-10: Formal response drafting + legal review
65Weeks 11-12: Submission + ongoing dialogue
66```
67
68See [references/gdpr-pre-audit-checklist.md](references/gdpr-pre-audit-checklist.md) for the full pre-audit punch list and [references/dpo-engagement-playbook.md](references/dpo-engagement-playbook.md) for DPO-coordinated audit response.
69
70---
71
72## Critical GDPR audit areas
73
74### 1. ROPA (Records of Processing Activities, Article 30)
75
76Every processing activity documented:
77- Purpose of processing
78- Categories of data subjects + data types
79- Recipients (internal + external)
80- International transfers (and lawful basis)
81- Retention periods
82- Security measures
83- Lawful basis (consent, contract, legitimate interest, etc.)
84- DPIA reference (if high-risk)
85
86Audit gap: ROPA incomplete, stale, or missing for processing activities surfaced during audit.
87
88### 2. Privacy Notices (Article 13/14)
89
90- Privacy notice published + current
91- Contains all required information (data controller, purposes, lawful basis, retention, rights, complaints contact, etc.)
92- Easily accessible (no dark patterns)
93- Translated for EU member states (where required)
94
95### 3. Data Subject Rights (Article 12-23)
96
97- Process documented + tested
98- Response time tracked (< 1 month standard; extension possible)
99- Identity verification
100- Records of requests and responses (last 12 months)
101
102### 4. Data Protection Impact Assessments (DPIAs, Article 35)
103
104- High-risk processing activities identified
105- DPIA conducted for each
106- Mitigations documented
107- DPO consulted (Article 35.2)
108
109### 5. Data Processing Agreements (Article 28)
110
111- DPA with every processor (vendor, sub-service org)
112- Covers required clauses (Article 28.3)
113- Annual review
114
115### 6. Security Measures (Article 32)
116
117- Technical and organizational measures documented
118- Risk-appropriate (encryption, access control, backup, etc.)
119- Tested and reviewed
120
121### 7. Breach Notification (Article 33/34)
122
123- Process documented
124- 72-hour authority notification capability
125- Past-period breaches: notified appropriately + documented
126
127### 8. International Transfers (Chapter V)
128
129- Mechanism for each transfer (SCCs, BCRs, adequacy decision)
130- Transfer Impact Assessment (TIA) for non-adequacy countries
131- Schrems II compliance for US transfers
132
133---
134
135## Clarify First
136
137Before running the audit-prep, confirm these inputs. If any is unknown or vague, ASK — do not assume:
138
139- [ ] **Audit trigger** — supervisory-authority inquiry, customer DPA audit, internal audit, or annual self-assessment (sets the 4/8/12-week sprint and whether formal response drafting is needed)
140- [ ] **Org readiness** — well-prepared vs gaps remaining (picks the 4-week vs 8-week sprint)
141- [ ] **Processing scope and role** — controller vs processor, and which activities/ROPA are in scope (drives the ROPA and DPA focus)
142
143Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the readiness assessment.
144
145## Quick start
146
1471. **Run readiness score**: `python3 scripts/gdpr_readiness_score.py --config gdpr-controls.yaml`
1482. **Check ROPA completeness**: `python3 scripts/ropa_completeness_checker.py --ropa ropa.yaml`
1493. **Engage DPO**: Walk through findings with DPO; finalize sprint scope
1504. **Execute sprint** per [references/gdpr-pre-audit-checklist.md](references/gdpr-pre-audit-checklist.md)
151
152---
153
154## Common GDPR audit failures
155
156- **ROPA missing or out-of-date.** Often the first thing an auditor asks.
157- **Privacy notice generic** — boilerplate not actually reflecting actual processing.
158- **DPIA missing for high-risk processing** (AI / profiling / large-scale monitoring / sensitive data).
159- **DPAs not signed with all processors** — easy oversight; substantial finding.
160- **International transfer mechanism** unclear post-Schrems II.
161- **Breach notification process untested** — first breach is the test.
162- **Consent not freely given** — bundled consent, pre-ticked boxes, take-it-or-leave-it.
163- **No DPO appointed** when required (Article 37 — public authority, large-scale monitoring, etc.).
164- **Data subject rights process untested** — request comes in, no one knows what to do.
165
166---
167
168## Tooling
169
170| Script | Purpose |
171|--------|---------|
172| `scripts/gdpr_readiness_score.py` | Score current state per GDPR area; identify gaps |
173| `scripts/ropa_completeness_checker.py` | Validate ROPA structure and completeness per Article 30 |
174
175---
176
177## References
178
179- [gdpr-pre-audit-checklist.md](references/gdpr-pre-audit-checklist.md) — full checklist per GDPR area
180- [dpo-engagement-playbook.md](references/dpo-engagement-playbook.md) — DPO-coordinated audit response
181
182---
183
184## Related skills
185
186- `ra-qm-team/gdpr-dsgvo-expert` — deep GDPR program management
187- `ra-qm-team/audit-prep/compliance-readiness` — multi-framework readiness (GDPR + ISO 27001 + SOC 2)
188- `ra-qm-team/ccpa-cpra-privacy-expert` — US privacy counterpart
189- `ra-qm-team/audit-prep/ai-act-readiness` — EU AI Act overlay for AI processing