GDPR/DSGVO Expert
Tools and guidance for EU General Data Protection Regulation (GDPR) and German Bundesdatenschutzgesetz (BDSG) compliance.
Table of Contents
Tools
GDPR Compliance Checker
Scans codebases for potential GDPR compliance issues including personal data patterns and risky code practices.
# Scan a project directory
python scripts/gdpr_compliance_checker.py /path/to/project
# JSON output for CI/CD integration
python scripts/gdpr_compliance_checker.py . --json --output report.json
Detects:
- Personal data patterns (email, phone, IP addresses)
- Special category data (health, biometric, religion)
- Financial data (credit cards, IBAN)
- Risky code patterns:
- Logging personal data
- Missing consent mechanisms
- Indefinite data retention
- Unencrypted sensitive data
- Disabled deletion functionality
Output:
- Compliance score (0-100)
- Risk categorization (critical, high, medium)
- Prioritized recommendations with GDPR article references
DPIA Generator
Generates Data Protection Impact Assessment documentation following Art. 35 requirements.
# Get input template
python scripts/dpia_generator.py --template > input.json
# Generate DPIA report
python scripts/dpia_generator.py --input input.json --output dpia_report.md
Features:
- Automatic DPIA threshold assessment
- Risk identification based on processing characteristics
- Legal basis requirements documentation
- Mitigation recommendations
- Markdown report generation
DPIA Triggers Assessed:
- Systematic monitoring (Art. 35(3)(c))
- Large-scale special category data (Art. 35(3)(b))
- Automated decision-making (Art. 35(3)(a))
- WP29 high-risk criteria
Data Subject Rights Tracker
Manages data subject rights requests under GDPR Articles 15-22.
# Add new request
python scripts/data_subject_rights_tracker.py add \
--type access --subject "John Doe" --email "john@example.com"
# List all requests
python scripts/data_subject_rights_tracker.py list
# Update status
python scripts/data_subject_rights_tracker.py status --id DSR-202601-0001 --update verified
# Generate compliance report
python scripts/data_subject_rights_tracker.py report --output compliance.json
# Generate response template
python scripts/data_subject_rights_tracker.py template --id DSR-202601-0001
Supported Rights:
| Right |
Article |
Deadline |
| Access |
Art. 15 |
30 days |
| Rectification |
Art. 16 |
30 days |
| Erasure |
Art. 17 |
30 days |
| Restriction |
Art. 18 |
30 days |
| Portability |
Art. 20 |
30 days |
| Objection |
Art. 21 |
30 days |
| Automated decisions |
Art. 22 |
30 days |
Features:
- Deadline tracking with overdue alerts
- Identity verification workflow
- Response template generation
- Compliance reporting
Reference Guides
GDPR Compliance Guide
references/gdpr_compliance_guide.md
Comprehensive implementation guidance covering:
- Legal bases for processing (Art. 6)
- Special category requirements (Art. 9)
- Data subject rights implementation
- Accountability requirements (Art. 30)
- International transfers (Chapter V)
- Breach notification (Art. 33-34)
German BDSG Requirements
references/german_bdsg_requirements.md
German-specific requirements including:
- DPO appointment threshold (§ 38 BDSG - 20+ employees)
- Employment data processing (§ 26 BDSG)
- Video surveillance rules (§ 4 BDSG)
- Credit scoring requirements (§ 31 BDSG)
- State data protection laws (Landesdatenschutzgesetze)
- Works council co-determination rights
DPIA Methodology
references/dpia_methodology.md
Step-by-step DPIA process:
- Threshold assessment criteria
- WP29 high-risk indicators
- Risk assessment methodology
- Mitigation measure categories
- DPO and supervisory authority consultation
- Templates and checklists
Clarify First
Before running the assessment, 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 assessment.
Workflows
Workflow 1: New Processing Activity Assessment
Step 1: Run compliance checker on codebase
→ python scripts/gdpr_compliance_checker.py /path/to/code
Step 2: Review findings and compliance score
→ Address critical and high issues
Step 3: Determine if DPIA required
→ Check references/dpia_methodology.md threshold criteria
Step 4: If DPIA required, generate assessment
→ python scripts/dpia_generator.py --template > input.json
→ Fill in processing details
→ python scripts/dpia_generator.py --input input.json --output dpia.md
Step 5: Document in records of processing activities
Workflow 2: Data Subject Request Handling
Step 1: Log request in tracker
→ python scripts/data_subject_rights_tracker.py add --type [type] ...
Step 2: Verify identity (proportionate measures)
→ python scripts/data_subject_rights_tracker.py status --id [ID] --update verified
Step 3: Gather data from systems
→ python scripts/data_subject_rights_tracker.py status --id [ID] --update in_progress
Step 4: Generate response
→ python scripts/data_subject_rights_tracker.py template --id [ID]
Step 5: Send response and complete
→ python scripts/data_subject_rights_tracker.py status --id [ID] --update completed
Step 6: Monitor compliance
→ python scripts/data_subject_rights_tracker.py report
Workflow 3: German BDSG Compliance Check
Step 1: Determine if DPO required
→ 20+ employees processing personal data automatically
→ OR processing requires DPIA
→ OR business involves data transfer/market research
Step 2: If employees involved, review § 26 BDSG
→ Document legal basis for employee data
→ Check works council requirements
Step 3: If video surveillance, comply with § 4 BDSG
→ Install signage
→ Document necessity
→ Limit retention
Step 4: Register DPO with supervisory authority
→ See references/german_bdsg_requirements.md for authority list
Key GDPR Concepts
Legal Bases (Art. 6)
- Consent: Marketing, newsletters, analytics (must be freely given, specific, informed)
- Contract: Order fulfillment, service delivery
- Legal obligation: Tax records, employment law
- Legitimate interests: Fraud prevention, security (requires balancing test)
Special Category Data (Art. 9)
Requires explicit consent or Art. 9(2) exception:
- Health data
- Biometric data
- Racial/ethnic origin
- Political opinions
- Religious beliefs
- Trade union membership
- Genetic data
- Sexual orientation
Data Subject Rights
All rights must be fulfilled within 30 days (extendable to 90 for complex requests):
- Access: Provide copy of data and processing information
- Rectification: Correct inaccurate data
- Erasure: Delete data (with exceptions for legal obligations)
- Restriction: Limit processing while issues are resolved
- Portability: Provide data in machine-readable format
- Object: Stop processing based on legitimate interests
German BDSG Additions
| Topic |
BDSG Section |
Key Requirement |
| DPO threshold |
§ 38 |
20+ employees = mandatory DPO |
| Employment |
§ 26 |
Detailed employee data rules |
| Video |
§ 4 |
Signage and proportionality |
| Scoring |
§ 31 |
Explainable algorithms |
Cross-Reference: CCPA/CPRA US Privacy Comparison
When operating across EU and US jurisdictions, align GDPR compliance with California Consumer Privacy Act (CCPA) as amended by CPRA. Key differences to manage:
| Dimension |
GDPR |
CCPA/CPRA |
| Scope |
Any org processing EU resident data |
For-profit businesses meeting revenue/data thresholds |
| Legal basis |
6 lawful bases required (Art. 6) |
No legal basis requirement; opt-out model |
| Consent |
Opt-in by default |
Opt-out (except minors and sensitive data) |
| Data subject rights |
Access, rectification, erasure, portability, objection |
Know, delete, correct, opt-out of sale/sharing, limit sensitive data use |
| Breach notification |
72 hours to supervisory authority (Art. 33) |
"Most expedient time possible" to consumers |
| Enforcement |
DPAs with fines up to 4% global turnover |
California Privacy Protection Agency (CPPA), $2,500-$7,500 per violation |
| DPO requirement |
Mandatory in many cases (Art. 37) |
No DPO requirement |
| Children's data |
Under 16 requires parental consent (Art. 8) |
Under 16 opt-in for sale; under 13 parental consent |
Practical alignment: Build a unified privacy program that satisfies the stricter GDPR requirements by default, then layer CCPA/CPRA-specific mechanisms (e.g., "Do Not Sell or Share My Personal Information" link, annual metrics disclosure).
See also: ../ccpa-cpra-specialist/SKILL.md for full CCPA/CPRA compliance workflows and tools.
Infrastructure Privacy Controls
Cookie Consent and Tracking
Implement compliant cookie consent per GDPR Art. 6 + ePrivacy Directive:
| Category |
Examples |
Consent Required |
Default State |
| Strictly Necessary |
Session, CSRF, load balancer |
No |
Active |
| Functional |
Language preference, UI settings |
Yes |
Inactive |
| Analytics |
Google Analytics, Matomo, Hotjar |
Yes |
Inactive |
| Marketing |
Facebook Pixel, Google Ads, retargeting |
Yes |
Inactive |
Implementation requirements:
- Banner must block all non-essential cookies until explicit consent
- Pre-checked boxes are NOT valid consent (Planet49 ruling, CJEU C-673/17)
- Consent must be as easy to withdraw as to give
- Record consent proof (timestamp, version, choices made)
- Re-consent on material changes to cookie policy
Global Privacy Control (GPC) Signal
Per CCPA/CPRA regulations and emerging EU guidance:
- Detect
Sec-GPC: 1 HTTP header and navigator.globalPrivacyControl JavaScript API
- Treat GPC as valid opt-out signal for CCPA/CPRA
- For GDPR: GPC can serve as a signal of objection under Art. 21 — evaluate on a case-by-case basis
- Log GPC signal detection and honor it automatically
Data Localization and Cross-Border Transfers
| Transfer Mechanism |
Status (post-Schrems II) |
When to Use |
| EU Adequacy Decision |
Valid |
Transfers to adequate countries (e.g., Japan, UK, South Korea, US via DPF) |
| Standard Contractual Clauses (SCCs) |
Valid with TIA |
Default mechanism for non-adequate countries |
| Binding Corporate Rules (BCRs) |
Valid |
Intra-group transfers in multinationals |
| EU-US Data Privacy Framework (DPF) |
Valid (since July 2023) |
US companies certified under DPF |
| Derogations (Art. 49) |
Limited use only |
Explicit consent, contract necessity — not for systematic transfers |
Transfer Impact Assessment (TIA) requirements for SCCs:
- Map the data flow (what data, to whom, where)
- Assess recipient country legal framework (surveillance laws, access by authorities)
- Evaluate supplementary measures needed (encryption, pseudonymization, contractual)
- Document assessment and review annually
AI-Specific GDPR Requirements
Automated Decision-Making (Art. 22)
Art. 22 restricts decisions based solely on automated processing that produce legal or similarly significant effects:
| Requirement |
Implementation |
| Right not to be subject to automated decisions |
Provide human review mechanism for consequential decisions |
| Right to explanation |
Document and explain logic, significance, and consequences |
| Right to contest |
Enable data subjects to challenge automated decisions |
| Explicit consent or contract necessity |
Secure Art. 22(2) legal basis before deploying |
| Suitable safeguards |
Implement human oversight, right to express point of view |
AI transparency checklist:
AI Training Data Requirements
| Requirement |
GDPR Basis |
Action |
| Lawful basis for training data |
Art. 6 |
Legitimate interest (with DPIA) or consent |
| Purpose limitation |
Art. 5(1)(b) |
Training purpose must be compatible with original collection |
| Data minimization |
Art. 5(1)(c) |
Use minimum data necessary; prefer synthetic/anonymized data |
| Accuracy |
Art. 5(1)(d) |
Ensure training data is accurate and up-to-date |
| Storage limitation |
Art. 5(1)(e) |
Define retention for training datasets |
| Special category data |
Art. 9 |
Explicit consent or Art. 9(2)(j) research exemption for health/biometric data |
| Right to erasure |
Art. 17 |
Implement mechanism to remove individual data from training sets (or document inability) |
| Data scraping |
Art. 14 |
Inform data subjects when using publicly available data for training |
Enhanced DPIA Methodology with EU AI Act Integration
When DPIA + AI Act Conformity Assessment Overlap
For AI systems processing personal data, both GDPR Art. 35 DPIA and EU AI Act conformity assessment may apply:
| AI Risk Level (EU AI Act) |
GDPR DPIA Required? |
Combined Assessment Approach |
| Unacceptable (Art. 5) |
N/A — prohibited |
Do not deploy |
| High-risk (Annex III) |
Almost always yes |
Joint DPIA + conformity assessment |
| Limited risk (Art. 50) |
Evaluate per Art. 35 criteria |
DPIA if systematic monitoring or profiling |
| Minimal risk |
Evaluate per Art. 35 criteria |
Standard DPIA threshold assessment |
Enhanced DPIA Process for AI Systems
Step 1: AI System Classification
→ Classify under EU AI Act risk levels
→ Map to GDPR Art. 35(3) triggers
Step 2: Data Flow and Processing Analysis
→ Document training data sources and legal basis
→ Map inference data flows
→ Identify automated decision points (Art. 22)
Step 3: AI-Specific Risk Assessment
→ Bias and discrimination risk (protected groups)
→ Accuracy and reliability risk
→ Explainability and transparency gaps
→ Data quality and representativeness
→ Model drift and ongoing monitoring needs
Step 4: Fundamental Rights Impact
→ Right to non-discrimination
→ Right to privacy and data protection
→ Freedom of expression (content moderation AI)
→ Right to an effective remedy
Step 5: Combined Mitigation Measures
→ Technical: differential privacy, federated learning, model cards
→ Organizational: AI ethics board, human oversight procedures
→ Contractual: AI-specific DPA clauses with processors
→ Monitoring: continuous bias monitoring, performance drift detection
Step 6: DPO and Supervisory Authority Consultation
→ Consult DPO on combined assessment
→ Prior consultation with SA if high residual risk (Art. 36)
→ Notify national AI authority if high-risk AI system
Privacy by Design Technical Controls
Data Minimization Techniques
| Technique |
Description |
Use Case |
| Field-level encryption |
Encrypt specific PII fields at rest |
Database storage |
| Tokenization |
Replace PII with non-reversible tokens |
Payment processing, analytics |
| Data masking |
Obscure portions of data (e.g., email: j***@example.com) |
UI display, logging |
| Aggregation |
Process only aggregated/statistical data |
Analytics, reporting |
| Purpose-scoped access |
Limit data access to specific processing purposes |
Multi-purpose systems |
| Automatic expiration |
TTL-based data deletion |
Session data, temporary processing |
Pseudonymization Implementation (Recital 26, Art. 4(5))
| Method |
Reversibility |
Strength |
Best For |
| HMAC-based |
Reversible with key |
Strong |
Internal analytics with re-identification need |
| Format-preserving encryption |
Reversible with key |
Strong |
Legacy system compatibility |
| Deterministic hashing (salted) |
One-way |
Medium |
Cross-dataset linkage without PII |
| Random ID mapping |
Reversible with lookup table |
Strong |
Research datasets |
Key management for pseudonymization:
- Store re-identification keys separately from pseudonymized data
- Apply strict access controls to key material (minimum two-person rule)
- Document key rotation schedule
- Log all re-identification events
Encryption Standards
| Layer |
Minimum Standard |
Recommended |
| At rest |
AES-256 |
AES-256-GCM with envelope encryption |
| In transit |
TLS 1.2 |
TLS 1.3 |
| Database |
Transparent Data Encryption (TDE) |
Column-level encryption for PII |
| Backups |
AES-256 |
AES-256 + separate key from production |
| Key management |
Hardware-backed (HSM/KMS) |
Cloud KMS with customer-managed keys (BYOK) |
Cross-Framework Privacy Mapping
| Requirement |
GDPR Article |
CCPA/CPRA Section |
HIPAA Rule |
NIS2 Article |
| Risk assessment |
Art. 35 (DPIA) |
§1798.185 (risk assessment regs) |
§164.308(a)(1) |
Art. 21(2)(a) |
| Breach notification |
Art. 33-34 (72 hrs to SA) |
§1798.150 (to consumers) |
§164.404-408 (60 days) |
Art. 23 (24 hrs early warning) |
| Data minimization |
Art. 5(1)(c) |
§1798.100(c) (collection limitation) |
§164.502(b) (minimum necessary) |
Art. 21(2)(e) |
| Encryption |
Art. 32(1)(a) |
Implicit (reasonable security) |
§164.312(a)(2)(iv) (addressable) |
Art. 21(2)(e) |
| Access controls |
Art. 32(1)(b) |
Implicit (reasonable security) |
§164.312(a)(1) (access control) |
Art. 21(2)(d) |
| Incident response |
Art. 33-34 |
§1798.150 |
§164.308(a)(6) |
Art. 21(2)(b) |
| Supply chain security |
Art. 28 (processor agreements) |
§1798.140(ag) (service provider contracts) |
§164.308(b) (BAAs) |
Art. 21(2)(d) |
| Governance/accountability |
Art. 5(2), Art. 24 |
§1798.185 (audit regs) |
§164.308(a)(1) |
Art. 20 (governance) |
| Right to delete/erasure |
Art. 17 |
§1798.105 |
Limited (retention rules) |
N/A |
| Data portability |
Art. 20 |
§1798.130(a)(2) |
N/A |
N/A |
Cross-references: See ../information-security-manager-iso27001/SKILL.md for ISO 27001 security controls, and ../mdr-745-specialist/SKILL.md for healthcare device data protection under MDR.
Cross-Framework Privacy Integration
GDPR ↔ CCPA/CPRA Comparison
| Aspect |
GDPR |
CCPA/CPRA |
| Scope |
Any org processing EU residents' data |
$25M+ revenue, 100K+ consumers, or 50%+ revenue from selling PI |
| Legal Basis |
6 legal bases required (Art. 6) |
Opt-out model (no legal basis needed for collection) |
| Consent |
Opt-in required |
Opt-out for sale/sharing |
| Right to Delete |
Art. 17 |
§1798.105 |
| Data Portability |
Art. 20 |
§1798.130 |
| Penalties |
Up to €20M or 4% global turnover |
$2,500-$7,500 per violation |
| DPO Required |
Yes (in many cases) |
No |
| DPIA Required |
Yes (high risk processing) |
Risk assessments (CPRA) |
AI-Specific GDPR Requirements
- Automated Decision-Making (Art. 22): Right not to be subject to decisions based solely on automated processing with legal/significant effects
- AI Training Data: Legitimate interest or consent required; purpose limitation applies to model training
- Profiling: Requires explicit consent for automated profiling with significant effects
- EU AI Act Integration: High-risk AI systems processing personal data require DPIA per Art. 35 GDPR
- Cross-reference: See
eu-ai-act-specialist for AI-specific compliance
Infrastructure Privacy Controls
- Cookie Consent: TCF 2.2 compliant consent management platform (CMP)
- Global Privacy Control (GPC): Must honor GPC browser signals (also CCPA requirement)
- Data Localization: EU data residency requirements, Schrems II adequacy decisions
- Cross-Border Transfers: Standard Contractual Clauses (SCCs), adequacy decisions, binding corporate rules
- Privacy by Design Controls: Data minimization, pseudonymization, encryption at rest/transit, access logging
Cross-Framework Mapping
| Control |
GDPR |
CCPA |
HIPAA |
NIS2 |
| Privacy Notice |
Art. 13-14 |
§1798.100 |
Privacy Practices |
— |
| Data Subject Rights |
Art. 15-22 |
§1798.100-125 |
Access/Amendment |
— |
| Breach Notification |
Art. 33-34 |
§1798.150 |
§164.404-408 |
Art. 23 |
| DPO/Privacy Officer |
Art. 37-39 |
— |
Privacy Officer |
— |
| Risk Assessment |
Art. 35 (DPIA) |
Risk Assessment |
§164.308(a)(1) |
Art. 21 |
| Encryption |
Art. 32 |
Reasonable Security |
§164.312(a)(2)(iv) |
Art. 21.2.h |
| Training |
Art. 39.1.b |
— |
§164.308(a)(5) |
Art. 21.2.g |
Troubleshooting
| Problem |
Possible Cause |
Resolution |
| Compliance checker reports critical findings for special category data |
Code processes health, biometric, or religious data without explicit consent or Art. 9(2) exception |
Identify all special category data processing; secure explicit consent or document applicable Art. 9(2) exception; implement field-level encryption for sensitive fields |
| DPIA generator determines assessment required but organization has no DPIA process |
Processing triggers Art. 35(3) criteria (systematic monitoring, large-scale special categories, or automated decision-making) |
Follow the DPIA methodology in references/dpia_methodology.md; generate template with dpia_generator.py --template; consult DPO before proceeding; consider prior consultation with supervisory authority if high residual risk (Art. 36) |
| Data subject rights requests consistently exceed 30-day deadline |
Manual fulfillment without tracking system, unclear data location, or complex verification requirements |
Deploy data_subject_rights_tracker.py for automated deadline monitoring; map all personal data locations using data inventory; streamline identity verification to proportionate measures |
| Cross-border transfer mechanism invalidated or uncertain |
Reliance on deprecated mechanism or Transfer Impact Assessment not completed for SCCs |
Review current adequacy decisions (UK, Japan, South Korea, US via DPF); for SCCs, complete Transfer Impact Assessment per Schrems II requirements; document supplementary measures (encryption, pseudonymization) |
| Cookie consent banner flagged as non-compliant |
Pre-checked boxes, cookie wall blocking access, or reject button harder to find than accept |
Implement TCF 2.2 compliant CMP; ensure all non-essential cookies blocked until explicit consent; make reject as prominent as accept (per Planet49 ruling, CJEU C-673/17); record consent proof |
| GDPR compliance checker detects personal data in application logs |
Application logs contain email addresses, IP addresses, or user identifiers |
Implement log sanitization to mask or pseudonymize personal data before storage; configure logging frameworks to exclude PII fields; set log retention limits aligned with purpose |
| AI system processing personal data lacks Art. 22 safeguards |
Automated decision-making produces legal or significant effects without human review mechanism |
Implement human-in-the-loop for high-stakes decisions; provide right to explanation and right to contest; document algorithmic logic in plain language; include AI decision-making in privacy notice per Art. 13(2)(f) |
Success Criteria
- Compliance score of 80+ on codebase scan -- indicating no critical personal data exposure issues, with all high-risk patterns addressed and documented
- All data subject rights requests fulfilled within 30 days -- tracked via
data_subject_rights_tracker.py with identity verification completed, response templates generated, and compliance reports showing zero overdue requests
- DPIA completed for all high-risk processing activities -- covering Art. 35(3) triggers, WP29 criteria, risk mitigation measures, and DPO consultation; prior SA consultation documented where required
- Records of Processing Activities (Art. 30) maintained and current -- covering all processing activities with purposes, legal bases, data categories, recipients, retention periods, and transfer mechanisms
- Cross-border transfer mechanisms validated -- adequacy decisions, SCCs with TIA, or BCRs in place for all international data flows, reviewed annually
- Cookie consent implementation compliant -- non-essential cookies blocked until explicit consent, reject as easy as accept, consent proof recorded with timestamp and version, GPC signal honored
- DPO appointed and registered where required -- including German BDSG Section 38 threshold (20+ employees processing personal data automatically), with supervisory authority notification
Scope & Limitations
In Scope:
- Codebase scanning for personal data patterns and risky processing practices
- DPIA generation following Art. 35 requirements with threshold assessment and risk mitigation
- Data subject rights request tracking (Art. 15-22) with deadline monitoring and response templates
- German BDSG-specific requirements (DPO threshold, employment data, video surveillance, credit scoring)
- Cross-border transfer mechanism assessment (adequacy decisions, SCCs, BCRs, DPF)
- AI-specific GDPR requirements (Art. 22 automated decisions, training data governance, profiling)
- Cross-framework privacy mapping (GDPR, CCPA/CPRA, HIPAA, NIS2)
Out of Scope:
- Legal advice on specific legal basis selection or legitimate interest balancing tests -- consult DPO and legal counsel
- Supervisory authority notification or interaction for breach reporting (Art. 33-34)
- Implementation of cookie consent management platforms or consent management code
- GDPR representative appointment logistics for non-EU organizations (Art. 27)
- Binding Corporate Rules (BCR) application or approval process
- German Landesdatenschutzgesetze (state-level data protection laws) beyond general guidance
Important Notes:
- GDPR enforcement fines reached EUR 2.3 billion in 2025, a 38% year-over-year increase; healthcare violations spiked with average penalties of EUR 203,000
- The EU AI Act creates dual obligations for AI systems processing personal data -- both DPIA (GDPR Art. 35) and conformity assessment (AI Act) may apply simultaneously
- Dark patterns in consent interfaces are under heightened enforcement scrutiny; regulators are penalizing cookie walls, manipulative UI, and buried reject options
Integration Points
| Skill |
Integration |
When to Use |
ccpa-cpra-privacy-expert |
Unified privacy program covering both GDPR and CCPA/CPRA; cross-framework mapping |
When organization processes data of both EU residents and California consumers |
eu-ai-act-specialist |
Combined DPIA + AI Act conformity assessment for high-risk AI systems processing personal data |
When AI system triggers both GDPR Art. 35 DPIA and EU AI Act high-risk classification |
information-security-manager-iso27001 |
ISO 27001 security controls support GDPR Art. 32 security of processing requirements |
When implementing technical and organizational measures for personal data protection |
infrastructure-compliance-auditor |
Technical privacy controls validation (encryption, access controls, logging, data masking) |
When assessing infrastructure supporting GDPR privacy-by-design requirements |
dora-compliance-expert |
DORA complements GDPR for financial sector ICT systems processing personal data |
When financial entity must align DORA ICT security with GDPR data protection requirements |
Tool Reference
gdpr_compliance_checker.py
Scans codebases for potential GDPR compliance issues including personal data patterns and risky code practices.
| Flag |
Required |
Description |
<project_dir> |
Yes |
Path to project directory to scan |
--json |
No |
Output results in JSON format for CI/CD integration |
--output <file> |
No |
Export report to specified file path |
Detects: Email, phone, IP address, credit card, IBAN, German ID patterns; special category data (health, biometric, religion); risky code patterns (logging PII, missing consent, indefinite retention, unencrypted sensitive data, disabled deletion). Output: Compliance score (0-100), risk categorization (critical/high/medium), and prioritized recommendations with GDPR article references.
dpia_generator.py
Generates Data Protection Impact Assessment documentation following Art. 35 requirements.
| Flag |
Required |
Description |
--template |
No |
Generate blank DPIA input template to stdout |
--input <file> |
Yes (unless --template or --interactive) |
Path to JSON processing activity description |
--output <file> |
No |
Export DPIA report to specified file path (markdown format) |
--interactive |
No |
Launch interactive mode for guided DPIA creation |
Features: Automatic DPIA threshold assessment against Art. 35(3) triggers and WP29 criteria, risk identification based on processing characteristics, legal basis documentation, mitigation recommendations, and markdown report generation.
data_subject_rights_tracker.py
Manages data subject rights requests under GDPR Articles 15-22 with deadline tracking and response templates.
| Subcommand |
Description |
add |
Add new request (--type, --subject, --email required) |
list |
List all tracked requests |
status |
View or update request status (--id required, --update to change status) |
report |
Generate compliance report (--output for file export) |
template |
Generate response template for specific request (--id required) |
| Flag |
Description |
--type <right> |
Right type: access, rectification, erasure, restriction, portability, objection, automated |
--subject <name> |
Data subject name |
--email <email> |
Data subject email address |
--id <request_id> |
Request identifier (e.g., DSR-202601-0001) |
--update <status> |
New status: received, verified, in_progress, completed, denied, extended |
--output <file> |
Export report or template to specified file path |
Features: 30-day deadline tracking with overdue alerts, identity verification workflow, response template generation per right type, and compliance reporting with metrics.
1---2name: gdpr-dsgvo-expert3description: GDPR and German DSGVO compliance. Use for GDPR compliance assessments, privacy audits, scanning codebases for privacy risks, DPIA generation, data protection planning, and data subject rights management.4license: MIT + Commons Clause5---6# GDPR/DSGVO Expert
7
8Tools and guidance for EU General Data Protection Regulation (GDPR) and German Bundesdatenschutzgesetz (BDSG) compliance.
9
10---
11
12## Table of Contents
13
14- [Tools](#tools)
15 - [GDPR Compliance Checker](#gdpr-compliance-checker)
16 - [DPIA Generator](#dpia-generator)
17 - [Data Subject Rights Tracker](#data-subject-rights-tracker)
18- [Reference Guides](#reference-guides)
19- [Workflows](#workflows)
20
21---
22
23## Tools
24
25### GDPR Compliance Checker
26
27Scans codebases for potential GDPR compliance issues including personal data patterns and risky code practices.
28
29```bash
30# Scan a project directory
31python scripts/gdpr_compliance_checker.py /path/to/project
32
33# JSON output for CI/CD integration
34python scripts/gdpr_compliance_checker.py . --json --output report.json
35```
36
37**Detects:**
38- Personal data patterns (email, phone, IP addresses)
39- Special category data (health, biometric, religion)
40- Financial data (credit cards, IBAN)
41- Risky code patterns:
42 - Logging personal data
43 - Missing consent mechanisms
44 - Indefinite data retention
45 - Unencrypted sensitive data
46 - Disabled deletion functionality
47
48**Output:**
49- Compliance score (0-100)
50- Risk categorization (critical, high, medium)
51- Prioritized recommendations with GDPR article references
52
53---
54
55### DPIA Generator
56
57Generates Data Protection Impact Assessment documentation following Art. 35 requirements.
58
59```bash
60# Get input template
61python scripts/dpia_generator.py --template > input.json
62
63# Generate DPIA report
64python scripts/dpia_generator.py --input input.json --output dpia_report.md
65```
66
67**Features:**
68- Automatic DPIA threshold assessment
69- Risk identification based on processing characteristics
70- Legal basis requirements documentation
71- Mitigation recommendations
72- Markdown report generation
73
74**DPIA Triggers Assessed:**
75- Systematic monitoring (Art. 35(3)(c))
76- Large-scale special category data (Art. 35(3)(b))
77- Automated decision-making (Art. 35(3)(a))
78- WP29 high-risk criteria
79
80---
81
82### Data Subject Rights Tracker
83
84Manages data subject rights requests under GDPR Articles 15-22.
85
86```bash
87# Add new request
88python scripts/data_subject_rights_tracker.py add \
89 --type access --subject "John Doe" --email "john@example.com"
90
91# List all requests
92python scripts/data_subject_rights_tracker.py list
93
94# Update status
95python scripts/data_subject_rights_tracker.py status --id DSR-202601-0001 --update verified
96
97# Generate compliance report
98python scripts/data_subject_rights_tracker.py report --output compliance.json
99
100# Generate response template
101python scripts/data_subject_rights_tracker.py template --id DSR-202601-0001
102```
103
104**Supported Rights:**
105
106| Right | Article | Deadline |
107|-------|---------|----------|
108| Access | Art. 15 | 30 days |
109| Rectification | Art. 16 | 30 days |
110| Erasure | Art. 17 | 30 days |
111| Restriction | Art. 18 | 30 days |
112| Portability | Art. 20 | 30 days |
113| Objection | Art. 21 | 30 days |
114| Automated decisions | Art. 22 | 30 days |
115
116**Features:**
117- Deadline tracking with overdue alerts
118- Identity verification workflow
119- Response template generation
120- Compliance reporting
121
122---
123
124## Reference Guides
125
126### GDPR Compliance Guide
127`references/gdpr_compliance_guide.md`
128
129Comprehensive implementation guidance covering:
130- Legal bases for processing (Art. 6)
131- Special category requirements (Art. 9)
132- Data subject rights implementation
133- Accountability requirements (Art. 30)
134- International transfers (Chapter V)
135- Breach notification (Art. 33-34)
136
137### German BDSG Requirements
138`references/german_bdsg_requirements.md`
139
140German-specific requirements including:
141- DPO appointment threshold (§ 38 BDSG - 20+ employees)
142- Employment data processing (§ 26 BDSG)
143- Video surveillance rules (§ 4 BDSG)
144- Credit scoring requirements (§ 31 BDSG)
145- State data protection laws (Landesdatenschutzgesetze)
146- Works council co-determination rights
147
148### DPIA Methodology
149`references/dpia_methodology.md`
150
151Step-by-step DPIA process:
152- Threshold assessment criteria
153- WP29 high-risk indicators
154- Risk assessment methodology
155- Mitigation measure categories
156- DPO and supervisory authority consultation
157- Templates and checklists
158
159---
160
161## Clarify First
162
163Before running the assessment, confirm these inputs. If any is unknown or vague, ASK — do not assume:
164
165- [ ] **Task** — codebase compliance scan, DPIA generation, or data-subject-rights tracking (selects the tool and workflow)
166- [ ] **Role and jurisdiction** — controller vs processor; GDPR-only vs German BDSG applies (BDSG adds the DPO threshold, §26 employment, and §4 video rules)
167- [ ] **Processing characteristics** — high-risk processing such as profiling, AI, or large-scale special-category data (determines whether a DPIA is required)
168
169Stop 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 assessment.
170
171## Workflows
172
173### Workflow 1: New Processing Activity Assessment
174
175```
176Step 1: Run compliance checker on codebase
177 → python scripts/gdpr_compliance_checker.py /path/to/code
178
179Step 2: Review findings and compliance score
180 → Address critical and high issues
181
182Step 3: Determine if DPIA required
183 → Check references/dpia_methodology.md threshold criteria
184
185Step 4: If DPIA required, generate assessment
186 → python scripts/dpia_generator.py --template > input.json
187 → Fill in processing details
188 → python scripts/dpia_generator.py --input input.json --output dpia.md
189
190Step 5: Document in records of processing activities
191```
192
193### Workflow 2: Data Subject Request Handling
194
195```
196Step 1: Log request in tracker
197 → python scripts/data_subject_rights_tracker.py add --type [type] ...
198
199Step 2: Verify identity (proportionate measures)
200 → python scripts/data_subject_rights_tracker.py status --id [ID] --update verified
201
202Step 3: Gather data from systems
203 → python scripts/data_subject_rights_tracker.py status --id [ID] --update in_progress
204
205Step 4: Generate response
206 → python scripts/data_subject_rights_tracker.py template --id [ID]
207
208Step 5: Send response and complete
209 → python scripts/data_subject_rights_tracker.py status --id [ID] --update completed
210
211Step 6: Monitor compliance
212 → python scripts/data_subject_rights_tracker.py report
213```
214
215### Workflow 3: German BDSG Compliance Check
216
217```
218Step 1: Determine if DPO required
219 → 20+ employees processing personal data automatically
220 → OR processing requires DPIA
221 → OR business involves data transfer/market research
222
223Step 2: If employees involved, review § 26 BDSG
224 → Document legal basis for employee data
225 → Check works council requirements
226
227Step 3: If video surveillance, comply with § 4 BDSG
228 → Install signage
229 → Document necessity
230 → Limit retention
231
232Step 4: Register DPO with supervisory authority
233 → See references/german_bdsg_requirements.md for authority list
234```
235
236---
237
238## Key GDPR Concepts
239
240### Legal Bases (Art. 6)
241
242- **Consent**: Marketing, newsletters, analytics (must be freely given, specific, informed)
243- **Contract**: Order fulfillment, service delivery
244- **Legal obligation**: Tax records, employment law
245- **Legitimate interests**: Fraud prevention, security (requires balancing test)
246
247### Special Category Data (Art. 9)
248
249Requires explicit consent or Art. 9(2) exception:
250- Health data
251- Biometric data
252- Racial/ethnic origin
253- Political opinions
254- Religious beliefs
255- Trade union membership
256- Genetic data
257- Sexual orientation
258
259### Data Subject Rights
260
261All rights must be fulfilled within **30 days** (extendable to 90 for complex requests):
262- **Access**: Provide copy of data and processing information
263- **Rectification**: Correct inaccurate data
264- **Erasure**: Delete data (with exceptions for legal obligations)
265- **Restriction**: Limit processing while issues are resolved
266- **Portability**: Provide data in machine-readable format
267- **Object**: Stop processing based on legitimate interests
268
269### German BDSG Additions
270
271| Topic | BDSG Section | Key Requirement |
272|-------|--------------|-----------------|
273| DPO threshold | § 38 | 20+ employees = mandatory DPO |
274| Employment | § 26 | Detailed employee data rules |
275| Video | § 4 | Signage and proportionality |
276| Scoring | § 31 | Explainable algorithms |
277
278---
279
280## Cross-Reference: CCPA/CPRA US Privacy Comparison
281
282When operating across EU and US jurisdictions, align GDPR compliance with California Consumer Privacy Act (CCPA) as amended by CPRA. Key differences to manage:
283
284| Dimension | GDPR | CCPA/CPRA |
285|-----------|------|-----------|
286| Scope | Any org processing EU resident data | For-profit businesses meeting revenue/data thresholds |
287| Legal basis | 6 lawful bases required (Art. 6) | No legal basis requirement; opt-out model |
288| Consent | Opt-in by default | Opt-out (except minors and sensitive data) |
289| Data subject rights | Access, rectification, erasure, portability, objection | Know, delete, correct, opt-out of sale/sharing, limit sensitive data use |
290| Breach notification | 72 hours to supervisory authority (Art. 33) | "Most expedient time possible" to consumers |
291| Enforcement | DPAs with fines up to 4% global turnover | California Privacy Protection Agency (CPPA), $2,500-$7,500 per violation |
292| DPO requirement | Mandatory in many cases (Art. 37) | No DPO requirement |
293| Children's data | Under 16 requires parental consent (Art. 8) | Under 16 opt-in for sale; under 13 parental consent |
294
295**Practical alignment:** Build a unified privacy program that satisfies the stricter GDPR requirements by default, then layer CCPA/CPRA-specific mechanisms (e.g., "Do Not Sell or Share My Personal Information" link, annual metrics disclosure).
296
297> **See also:** `../ccpa-cpra-specialist/SKILL.md` for full CCPA/CPRA compliance workflows and tools.
298
299---
300
301## Infrastructure Privacy Controls
302
303### Cookie Consent and Tracking
304
305Implement compliant cookie consent per GDPR Art. 6 + ePrivacy Directive:
306
307| Category | Examples | Consent Required | Default State |
308|----------|----------|------------------|---------------|
309| Strictly Necessary | Session, CSRF, load balancer | No | Active |
310| Functional | Language preference, UI settings | Yes | Inactive |
311| Analytics | Google Analytics, Matomo, Hotjar | Yes | Inactive |
312| Marketing | Facebook Pixel, Google Ads, retargeting | Yes | Inactive |
313
314**Implementation requirements:**
315- Banner must block all non-essential cookies until explicit consent
316- Pre-checked boxes are NOT valid consent (Planet49 ruling, CJEU C-673/17)
317- Consent must be as easy to withdraw as to give
318- Record consent proof (timestamp, version, choices made)
319- Re-consent on material changes to cookie policy
320
321### Global Privacy Control (GPC) Signal
322
323Per CCPA/CPRA regulations and emerging EU guidance:
324- Detect `Sec-GPC: 1` HTTP header and `navigator.globalPrivacyControl` JavaScript API
325- Treat GPC as valid opt-out signal for CCPA/CPRA
326- For GDPR: GPC can serve as a signal of objection under Art. 21 — evaluate on a case-by-case basis
327- Log GPC signal detection and honor it automatically
328
329### Data Localization and Cross-Border Transfers
330
331| Transfer Mechanism | Status (post-Schrems II) | When to Use |
332|---------------------|--------------------------|-------------|
333| EU Adequacy Decision | Valid | Transfers to adequate countries (e.g., Japan, UK, South Korea, US via DPF) |
334| Standard Contractual Clauses (SCCs) | Valid with TIA | Default mechanism for non-adequate countries |
335| Binding Corporate Rules (BCRs) | Valid | Intra-group transfers in multinationals |
336| EU-US Data Privacy Framework (DPF) | Valid (since July 2023) | US companies certified under DPF |
337| Derogations (Art. 49) | Limited use only | Explicit consent, contract necessity — not for systematic transfers |
338
339**Transfer Impact Assessment (TIA) requirements for SCCs:**
3401. Map the data flow (what data, to whom, where)
3412. Assess recipient country legal framework (surveillance laws, access by authorities)
3423. Evaluate supplementary measures needed (encryption, pseudonymization, contractual)
3434. Document assessment and review annually
344
345---
346
347## AI-Specific GDPR Requirements
348
349### Automated Decision-Making (Art. 22)
350
351Art. 22 restricts decisions based solely on automated processing that produce legal or similarly significant effects:
352
353| Requirement | Implementation |
354|-------------|----------------|
355| Right not to be subject to automated decisions | Provide human review mechanism for consequential decisions |
356| Right to explanation | Document and explain logic, significance, and consequences |
357| Right to contest | Enable data subjects to challenge automated decisions |
358| Explicit consent or contract necessity | Secure Art. 22(2) legal basis before deploying |
359| Suitable safeguards | Implement human oversight, right to express point of view |
360
361**AI transparency checklist:**
362- [ ] Document algorithmic logic in plain language
363- [ ] Implement human-in-the-loop for high-stakes decisions (credit, employment, insurance)
364- [ ] Provide opt-out mechanism for fully automated decisions
365- [ ] Conduct and document bias testing (protected characteristics under Art. 9)
366- [ ] Log all automated decisions with reasoning for auditability
367- [ ] Include AI decision-making in privacy notice (Art. 13(2)(f), Art. 14(2)(g))
368
369### AI Training Data Requirements
370
371| Requirement | GDPR Basis | Action |
372|-------------|------------|--------|
373| Lawful basis for training data | Art. 6 | Legitimate interest (with DPIA) or consent |
374| Purpose limitation | Art. 5(1)(b) | Training purpose must be compatible with original collection |
375| Data minimization | Art. 5(1)(c) | Use minimum data necessary; prefer synthetic/anonymized data |
376| Accuracy | Art. 5(1)(d) | Ensure training data is accurate and up-to-date |
377| Storage limitation | Art. 5(1)(e) | Define retention for training datasets |
378| Special category data | Art. 9 | Explicit consent or Art. 9(2)(j) research exemption for health/biometric data |
379| Right to erasure | Art. 17 | Implement mechanism to remove individual data from training sets (or document inability) |
380| Data scraping | Art. 14 | Inform data subjects when using publicly available data for training |
381
382---
383
384## Enhanced DPIA Methodology with EU AI Act Integration
385
386### When DPIA + AI Act Conformity Assessment Overlap
387
388For AI systems processing personal data, both GDPR Art. 35 DPIA and EU AI Act conformity assessment may apply:
389
390| AI Risk Level (EU AI Act) | GDPR DPIA Required? | Combined Assessment Approach |
391|---------------------------|----------------------|------------------------------|
392| Unacceptable (Art. 5) | N/A — prohibited | Do not deploy |
393| High-risk (Annex III) | Almost always yes | Joint DPIA + conformity assessment |
394| Limited risk (Art. 50) | Evaluate per Art. 35 criteria | DPIA if systematic monitoring or profiling |
395| Minimal risk | Evaluate per Art. 35 criteria | Standard DPIA threshold assessment |
396
397### Enhanced DPIA Process for AI Systems
398
399```
400Step 1: AI System Classification
401 → Classify under EU AI Act risk levels
402 → Map to GDPR Art. 35(3) triggers
403
404Step 2: Data Flow and Processing Analysis
405 → Document training data sources and legal basis
406 → Map inference data flows
407 → Identify automated decision points (Art. 22)
408
409Step 3: AI-Specific Risk Assessment
410 → Bias and discrimination risk (protected groups)
411 → Accuracy and reliability risk
412 → Explainability and transparency gaps
413 → Data quality and representativeness
414 → Model drift and ongoing monitoring needs
415
416Step 4: Fundamental Rights Impact
417 → Right to non-discrimination
418 → Right to privacy and data protection
419 → Freedom of expression (content moderation AI)
420 → Right to an effective remedy
421
422Step 5: Combined Mitigation Measures
423 → Technical: differential privacy, federated learning, model cards
424 → Organizational: AI ethics board, human oversight procedures
425 → Contractual: AI-specific DPA clauses with processors
426 → Monitoring: continuous bias monitoring, performance drift detection
427
428Step 6: DPO and Supervisory Authority Consultation
429 → Consult DPO on combined assessment
430 → Prior consultation with SA if high residual risk (Art. 36)
431 → Notify national AI authority if high-risk AI system
432```
433
434---
435
436## Privacy by Design Technical Controls
437
438### Data Minimization Techniques
439
440| Technique | Description | Use Case |
441|-----------|-------------|----------|
442| Field-level encryption | Encrypt specific PII fields at rest | Database storage |
443| Tokenization | Replace PII with non-reversible tokens | Payment processing, analytics |
444| Data masking | Obscure portions of data (e.g., email: j***@example.com) | UI display, logging |
445| Aggregation | Process only aggregated/statistical data | Analytics, reporting |
446| Purpose-scoped access | Limit data access to specific processing purposes | Multi-purpose systems |
447| Automatic expiration | TTL-based data deletion | Session data, temporary processing |
448
449### Pseudonymization Implementation (Recital 26, Art. 4(5))
450
451| Method | Reversibility | Strength | Best For |
452|--------|---------------|----------|----------|
453| HMAC-based | Reversible with key | Strong | Internal analytics with re-identification need |
454| Format-preserving encryption | Reversible with key | Strong | Legacy system compatibility |
455| Deterministic hashing (salted) | One-way | Medium | Cross-dataset linkage without PII |
456| Random ID mapping | Reversible with lookup table | Strong | Research datasets |
457
458**Key management for pseudonymization:**
459- Store re-identification keys separately from pseudonymized data
460- Apply strict access controls to key material (minimum two-person rule)
461- Document key rotation schedule
462- Log all re-identification events
463
464### Encryption Standards
465
466| Layer | Minimum Standard | Recommended |
467|-------|------------------|-------------|
468| At rest | AES-256 | AES-256-GCM with envelope encryption |
469| In transit | TLS 1.2 | TLS 1.3 |
470| Database | Transparent Data Encryption (TDE) | Column-level encryption for PII |
471| Backups | AES-256 | AES-256 + separate key from production |
472| Key management | Hardware-backed (HSM/KMS) | Cloud KMS with customer-managed keys (BYOK) |
473
474---
475
476## Cross-Framework Privacy Mapping
477
478| Requirement | GDPR Article | CCPA/CPRA Section | HIPAA Rule | NIS2 Article |
479|-------------|-------------|-------------------|------------|--------------|
480| Risk assessment | Art. 35 (DPIA) | §1798.185 (risk assessment regs) | §164.308(a)(1) | Art. 21(2)(a) |
481| Breach notification | Art. 33-34 (72 hrs to SA) | §1798.150 (to consumers) | §164.404-408 (60 days) | Art. 23 (24 hrs early warning) |
482| Data minimization | Art. 5(1)(c) | §1798.100(c) (collection limitation) | §164.502(b) (minimum necessary) | Art. 21(2)(e) |
483| Encryption | Art. 32(1)(a) | Implicit (reasonable security) | §164.312(a)(2)(iv) (addressable) | Art. 21(2)(e) |
484| Access controls | Art. 32(1)(b) | Implicit (reasonable security) | §164.312(a)(1) (access control) | Art. 21(2)(d) |
485| Incident response | Art. 33-34 | §1798.150 | §164.308(a)(6) | Art. 21(2)(b) |
486| Supply chain security | Art. 28 (processor agreements) | §1798.140(ag) (service provider contracts) | §164.308(b) (BAAs) | Art. 21(2)(d) |
487| Governance/accountability | Art. 5(2), Art. 24 | §1798.185 (audit regs) | §164.308(a)(1) | Art. 20 (governance) |
488| Right to delete/erasure | Art. 17 | §1798.105 | Limited (retention rules) | N/A |
489| Data portability | Art. 20 | §1798.130(a)(2) | N/A | N/A |
490
491> **Cross-references:** See `../information-security-manager-iso27001/SKILL.md` for ISO 27001 security controls, and `../mdr-745-specialist/SKILL.md` for healthcare device data protection under MDR.
492
493---
494
495## Cross-Framework Privacy Integration
496
497### GDPR ↔ CCPA/CPRA Comparison
498
499| Aspect | GDPR | CCPA/CPRA |
500|--------|------|-----------|
501| Scope | Any org processing EU residents' data | $25M+ revenue, 100K+ consumers, or 50%+ revenue from selling PI |
502| Legal Basis | 6 legal bases required (Art. 6) | Opt-out model (no legal basis needed for collection) |
503| Consent | Opt-in required | Opt-out for sale/sharing |
504| Right to Delete | Art. 17 | §1798.105 |
505| Data Portability | Art. 20 | §1798.130 |
506| Penalties | Up to €20M or 4% global turnover | $2,500-$7,500 per violation |
507| DPO Required | Yes (in many cases) | No |
508| DPIA Required | Yes (high risk processing) | Risk assessments (CPRA) |
509
510### AI-Specific GDPR Requirements
511
512- **Automated Decision-Making (Art. 22):** Right not to be subject to decisions based solely on automated processing with legal/significant effects
513- **AI Training Data:** Legitimate interest or consent required; purpose limitation applies to model training
514- **Profiling:** Requires explicit consent for automated profiling with significant effects
515- **EU AI Act Integration:** High-risk AI systems processing personal data require DPIA per Art. 35 GDPR
516- **Cross-reference:** See `eu-ai-act-specialist` for AI-specific compliance
517
518### Infrastructure Privacy Controls
519
520- **Cookie Consent:** TCF 2.2 compliant consent management platform (CMP)
521- **Global Privacy Control (GPC):** Must honor GPC browser signals (also CCPA requirement)
522- **Data Localization:** EU data residency requirements, Schrems II adequacy decisions
523- **Cross-Border Transfers:** Standard Contractual Clauses (SCCs), adequacy decisions, binding corporate rules
524- **Privacy by Design Controls:** Data minimization, pseudonymization, encryption at rest/transit, access logging
525
526### Cross-Framework Mapping
527
528| Control | GDPR | CCPA | HIPAA | NIS2 |
529|---------|------|------|-------|------|
530| Privacy Notice | Art. 13-14 | §1798.100 | Privacy Practices | — |
531| Data Subject Rights | Art. 15-22 | §1798.100-125 | Access/Amendment | — |
532| Breach Notification | Art. 33-34 | §1798.150 | §164.404-408 | Art. 23 |
533| DPO/Privacy Officer | Art. 37-39 | — | Privacy Officer | — |
534| Risk Assessment | Art. 35 (DPIA) | Risk Assessment | §164.308(a)(1) | Art. 21 |
535| Encryption | Art. 32 | Reasonable Security | §164.312(a)(2)(iv) | Art. 21.2.h |
536| Training | Art. 39.1.b | — | §164.308(a)(5) | Art. 21.2.g |
537
538---
539
540## Troubleshooting
541
542| Problem | Possible Cause | Resolution |
543|---------|---------------|------------|
544| Compliance checker reports critical findings for special category data | Code processes health, biometric, or religious data without explicit consent or Art. 9(2) exception | Identify all special category data processing; secure explicit consent or document applicable Art. 9(2) exception; implement field-level encryption for sensitive fields |
545| DPIA generator determines assessment required but organization has no DPIA process | Processing triggers Art. 35(3) criteria (systematic monitoring, large-scale special categories, or automated decision-making) | Follow the DPIA methodology in `references/dpia_methodology.md`; generate template with `dpia_generator.py --template`; consult DPO before proceeding; consider prior consultation with supervisory authority if high residual risk (Art. 36) |
546| Data subject rights requests consistently exceed 30-day deadline | Manual fulfillment without tracking system, unclear data location, or complex verification requirements | Deploy `data_subject_rights_tracker.py` for automated deadline monitoring; map all personal data locations using data inventory; streamline identity verification to proportionate measures |
547| Cross-border transfer mechanism invalidated or uncertain | Reliance on deprecated mechanism or Transfer Impact Assessment not completed for SCCs | Review current adequacy decisions (UK, Japan, South Korea, US via DPF); for SCCs, complete Transfer Impact Assessment per Schrems II requirements; document supplementary measures (encryption, pseudonymization) |
548| Cookie consent banner flagged as non-compliant | Pre-checked boxes, cookie wall blocking access, or reject button harder to find than accept | Implement TCF 2.2 compliant CMP; ensure all non-essential cookies blocked until explicit consent; make reject as prominent as accept (per Planet49 ruling, CJEU C-673/17); record consent proof |
549| GDPR compliance checker detects personal data in application logs | Application logs contain email addresses, IP addresses, or user identifiers | Implement log sanitization to mask or pseudonymize personal data before storage; configure logging frameworks to exclude PII fields; set log retention limits aligned with purpose |
550| AI system processing personal data lacks Art. 22 safeguards | Automated decision-making produces legal or significant effects without human review mechanism | Implement human-in-the-loop for high-stakes decisions; provide right to explanation and right to contest; document algorithmic logic in plain language; include AI decision-making in privacy notice per Art. 13(2)(f) |
551
552---
553
554## Success Criteria
555
556- **Compliance score of 80+ on codebase scan** -- indicating no critical personal data exposure issues, with all high-risk patterns addressed and documented
557- **All data subject rights requests fulfilled within 30 days** -- tracked via `data_subject_rights_tracker.py` with identity verification completed, response templates generated, and compliance reports showing zero overdue requests
558- **DPIA completed for all high-risk processing activities** -- covering Art. 35(3) triggers, WP29 criteria, risk mitigation measures, and DPO consultation; prior SA consultation documented where required
559- **Records of Processing Activities (Art. 30) maintained and current** -- covering all processing activities with purposes, legal bases, data categories, recipients, retention periods, and transfer mechanisms
560- **Cross-border transfer mechanisms validated** -- adequacy decisions, SCCs with TIA, or BCRs in place for all international data flows, reviewed annually
561- **Cookie consent implementation compliant** -- non-essential cookies blocked until explicit consent, reject as easy as accept, consent proof recorded with timestamp and version, GPC signal honored
562- **DPO appointed and registered where required** -- including German BDSG Section 38 threshold (20+ employees processing personal data automatically), with supervisory authority notification
563
564---
565
566## Scope & Limitations
567
568**In Scope:**
569- Codebase scanning for personal data patterns and risky processing practices
570- DPIA generation following Art. 35 requirements with threshold assessment and risk mitigation
571- Data subject rights request tracking (Art. 15-22) with deadline monitoring and response templates
572- German BDSG-specific requirements (DPO threshold, employment data, video surveillance, credit scoring)
573- Cross-border transfer mechanism assessment (adequacy decisions, SCCs, BCRs, DPF)
574- AI-specific GDPR requirements (Art. 22 automated decisions, training data governance, profiling)
575- Cross-framework privacy mapping (GDPR, CCPA/CPRA, HIPAA, NIS2)
576
577**Out of Scope:**
578- Legal advice on specific legal basis selection or legitimate interest balancing tests -- consult DPO and legal counsel
579- Supervisory authority notification or interaction for breach reporting (Art. 33-34)
580- Implementation of cookie consent management platforms or consent management code
581- GDPR representative appointment logistics for non-EU organizations (Art. 27)
582- Binding Corporate Rules (BCR) application or approval process
583- German Landesdatenschutzgesetze (state-level data protection laws) beyond general guidance
584
585**Important Notes:**
586- GDPR enforcement fines reached EUR 2.3 billion in 2025, a 38% year-over-year increase; healthcare violations spiked with average penalties of EUR 203,000
587- The EU AI Act creates dual obligations for AI systems processing personal data -- both DPIA (GDPR Art. 35) and conformity assessment (AI Act) may apply simultaneously
588- Dark patterns in consent interfaces are under heightened enforcement scrutiny; regulators are penalizing cookie walls, manipulative UI, and buried reject options
589
590---
591
592## Integration Points
593
594| Skill | Integration | When to Use |
595|-------|-------------|-------------|
596| `ccpa-cpra-privacy-expert` | Unified privacy program covering both GDPR and CCPA/CPRA; cross-framework mapping | When organization processes data of both EU residents and California consumers |
597| `eu-ai-act-specialist` | Combined DPIA + AI Act conformity assessment for high-risk AI systems processing personal data | When AI system triggers both GDPR Art. 35 DPIA and EU AI Act high-risk classification |
598| `information-security-manager-iso27001` | ISO 27001 security controls support GDPR Art. 32 security of processing requirements | When implementing technical and organizational measures for personal data protection |
599| `infrastructure-compliance-auditor` | Technical privacy controls validation (encryption, access controls, logging, data masking) | When assessing infrastructure supporting GDPR privacy-by-design requirements |
600| `dora-compliance-expert` | DORA complements GDPR for financial sector ICT systems processing personal data | When financial entity must align DORA ICT security with GDPR data protection requirements |
601
602---
603
604## Tool Reference
605
606### gdpr_compliance_checker.py
607
608Scans codebases for potential GDPR compliance issues including personal data patterns and risky code practices.
609
610| Flag | Required | Description |
611|------|----------|-------------|
612| `<project_dir>` | Yes | Path to project directory to scan |
613| `--json` | No | Output results in JSON format for CI/CD integration |
614| `--output <file>` | No | Export report to specified file path |
615
616**Detects:** Email, phone, IP address, credit card, IBAN, German ID patterns; special category data (health, biometric, religion); risky code patterns (logging PII, missing consent, indefinite retention, unencrypted sensitive data, disabled deletion). **Output:** Compliance score (0-100), risk categorization (critical/high/medium), and prioritized recommendations with GDPR article references.
617
618### dpia_generator.py
619
620Generates Data Protection Impact Assessment documentation following Art. 35 requirements.
621
622| Flag | Required | Description |
623|------|----------|-------------|
624| `--template` | No | Generate blank DPIA input template to stdout |
625| `--input <file>` | Yes (unless `--template` or `--interactive`) | Path to JSON processing activity description |
626| `--output <file>` | No | Export DPIA report to specified file path (markdown format) |
627| `--interactive` | No | Launch interactive mode for guided DPIA creation |
628
629**Features:** Automatic DPIA threshold assessment against Art. 35(3) triggers and WP29 criteria, risk identification based on processing characteristics, legal basis documentation, mitigation recommendations, and markdown report generation.
630
631### data_subject_rights_tracker.py
632
633Manages data subject rights requests under GDPR Articles 15-22 with deadline tracking and response templates.
634
635| Subcommand | Description |
636|------------|-------------|
637| `add` | Add new request (`--type`, `--subject`, `--email` required) |
638| `list` | List all tracked requests |
639| `status` | View or update request status (`--id` required, `--update` to change status) |
640| `report` | Generate compliance report (`--output` for file export) |
641| `template` | Generate response template for specific request (`--id` required) |
642
643| Flag | Description |
644|------|-------------|
645| `--type <right>` | Right type: `access`, `rectification`, `erasure`, `restriction`, `portability`, `objection`, `automated` |
646| `--subject <name>` | Data subject name |
647| `--email <email>` | Data subject email address |
648| `--id <request_id>` | Request identifier (e.g., `DSR-202601-0001`) |
649| `--update <status>` | New status: `received`, `verified`, `in_progress`, `completed`, `denied`, `extended` |
650| `--output <file>` | Export report or template to specified file path |
651
652**Features:** 30-day deadline tracking with overdue alerts, identity verification workflow, response template generation per right type, and compliance reporting with metrics.