dpia-assessment
GDPR Art. 35 Data Protection Impact Assessment with threshold checking, risk registers, and EDPB criteria scoring. Use for DPIA evaluations.
What this skill does
> **⚠️ EXPERIMENTAL** — This skill is provided for educational and informational purposes only. It does NOT constitute legal advice. All responsibility for usage rests with the user. Consult qualified legal professionals before acting on any output.
# DPIA Assessment
GDPR Article 35 Data Protection Impact Assessment tooling. Evaluates whether a DPIA is required, manages risk registers with mitigation tracking, and generates documentation meeting supervisory authority expectations.
---
## Table of Contents
- [Tools](#tools)
- [DPIA Threshold Checker](#dpia-threshold-checker)
- [DPIA Risk Register](#dpia-risk-register)
- [Reference Guides](#reference-guides)
- [Workflows](#workflows)
- [Legal Precision Points](#legal-precision-points)
- [Output Formats](#output-formats)
- [Troubleshooting](#troubleshooting)
- [Success Criteria](#success-criteria)
- [Scope & Limitations](#scope--limitations)
- [Anti-Patterns](#anti-patterns)
- [Tool Reference](#tool-reference)
---
## Tools
### DPIA Threshold Checker
Evaluates whether a DPIA is required based on processing activity description. Checks Art. 35(3) mandatory triggers and 9 EDPB criteria.
```bash
# Check a processing activity (interactive prompts)
python scripts/dpia_threshold_checker.py --activity "AI-based credit scoring using financial and behavioral data of retail banking customers across EU"
# Check from JSON description
python scripts/dpia_threshold_checker.py --input processing.json
# JSON output
python scripts/dpia_threshold_checker.py --activity "Employee monitoring via CCTV in workplace" --json
# Generate blank input template
python scripts/dpia_threshold_checker.py --template > processing.json
```
**Checks performed:**
- Art. 35(3)(a): Automated decision-making with legal/significant effect
- Art. 35(3)(b): Large-scale processing of special category data (Art. 9) or criminal data (Art. 10)
- Art. 35(3)(c): Systematic monitoring of publicly accessible area on large scale
- 9 EDPB criteria from WP 248 rev.01 with two-criterion presumption rule
**Output:**
- Verdict: Required / Recommended / Not Required
- Art. 35(3) trigger matches
- EDPB criteria scores with reasoning
- Two-criterion presumption analysis
---
### DPIA Risk Register
Manages a DPIA risk register in JSON format. Add risks, apply mitigations, and calculate residual risk.
```bash
# Initialize a new risk register
python scripts/dpia_risk_register.py init --output dpia_risks.json
# Add a risk
python scripts/dpia_risk_register.py add --register dpia_risks.json \
--description "Unauthorized access to profiling data" \
--rights-category "right-to-privacy" \
--likelihood 4 --severity 3
# Add mitigation to a risk
python scripts/dpia_risk_register.py mitigate --register dpia_risks.json \
--risk-id 1 --measure "Implement role-based access control" \
--likelihood-reduction 2 --severity-reduction 1
# View risk register table
python scripts/dpia_risk_register.py view --register dpia_risks.json
# Generate residual risk summary
python scripts/dpia_risk_register.py summary --register dpia_risks.json --json
# Check Art. 36 consultation threshold
python scripts/dpia_risk_register.py art36-check --register dpia_risks.json
```
**Rights categories:** right-to-privacy, non-discrimination, freedom-of-expression, right-to-information, right-to-not-be-subject-to-automated-decisions, right-to-physical-safety
---
## Reference Guides
### EDPB Criteria
`references/edpb_criteria.md`
Complete EDPB 9-criteria assessment framework:
- Each criterion with description, indicators, and scoring guidance
- Art. 35(3) mandatory triggers
- Two-criterion presumption rule (WP 248 rev.01)
- Multi-jurisdictional DPIA analysis
- National blacklist/whitelist overview (DE, FR, IE, BE, NL, IT, PL)
### Risk Scoring Methodology
`references/risk_scoring_methodology.md`
DPIA risk scoring from the data subject perspective:
- Likelihood and severity scales (1-5)
- Rights categories per Recital 75
- Risk level thresholds (Low/Medium/High/Very High)
- Mitigation effectiveness scoring
- Residual risk calculation
- Art. 36 consultation triggers
- Risk catalog: 20+ common DPIA risks
---
## Workflows
### Workflow 1: Full DPIA Assessment
```
Step 1: Threshold check — determine if DPIA required
→ python scripts/dpia_threshold_checker.py --activity "description"
Step 2: If Required or Recommended, describe the processing
→ Document purpose, legal basis, data categories, recipients, retention
Step 3: Assess necessity and proportionality
→ Confirm lawful basis (Art. 6, cumulative with Art. 9 if special categories)
→ Verify purpose limitation, data minimization, storage limitation
Step 4: Identify risks from data subject perspective
→ python scripts/dpia_risk_register.py init --output dpia_risks.json
→ Add risks using references/risk_scoring_methodology.md catalog
Step 5: Apply mitigations and calculate residual risk
→ python scripts/dpia_risk_register.py mitigate --register dpia_risks.json ...
Step 6: Check Art. 36 consultation requirement
→ python scripts/dpia_risk_register.py art36-check --register dpia_risks.json
Step 7: Document and review
→ python scripts/dpia_risk_register.py summary --register dpia_risks.json
```
### Workflow 2: Quick Threshold Assessment
```
Step 1: Describe the processing activity
→ python scripts/dpia_threshold_checker.py --template > processing.json
→ Fill in processing details
Step 2: Run threshold check
→ python scripts/dpia_threshold_checker.py --input processing.json --json
Step 3: Review verdict and reasoning
→ Required: proceed to full DPIA (Workflow 1)
→ Recommended: proceed unless strong justification to skip (document)
→ Not Required: document the assessment and rationale
```
### Workflow 3: AI System DPIA
```
Step 1: Classify AI system (EU AI Act risk level if applicable)
→ Map to DPIA triggers (automated decision-making, profiling, scoring)
Step 2: Run threshold check with AI-specific indicators
→ python scripts/dpia_threshold_checker.py --activity "AI system description"
Step 3: Dual-phase risk analysis (EDPB Opinion 28/2024)
→ Phase 1: Training data risks (collection, bias, consent)
→ Phase 2: Inference risks (decisions, profiling, transparency)
Step 4: Assess from data subject perspective
→ Add risks covering both training and inference phases
→ Include algorithmic bias, lack of transparency, unfair outcomes
Step 5: Apply mitigations specific to AI
→ Explainability measures, human oversight, bias testing
→ Document FRIA distinction per EU AI Act Art. 27 if applicable
```
---
## Legal Precision Points
12 points of legal precision that distinguish expert-level DPIA work.
| # | Point | Detail |
|---|-------|--------|
| 1 | **Art. 35(3) absolute triggers** | Three mandatory triggers require DPIA regardless of other analysis: (a) automated decisions with legal effect, (b) large-scale special category/criminal data, (c) systematic public area monitoring |
| 2 | **Two-criterion presumption** | If 2 or more of the 9 EDPB criteria are met, DPIA is presumptively required (WP 248 rev.01). Can rebut only with documented justification |
| 3 | **Art. 9 cumulative with Art. 6** | Special category data requires BOTH an Art. 6 lawful basis AND an Art. 9(2) exception. Neither alone is sufficient |
| 4 | **Large scale four-factor test** | Assess: (a) number of data subjects, (b) volume of data, (c) geographic extent, (d) duration/permanence. No fixed numeric threshold |
| 5 | **National blacklists additive** | SA-published lists of processing operations requiring DPIA add to (not replace) Art. 35(3) and EDPB criteria |
| 6 | **Multi-jurisdictional checking** | If processing spans multiple member states, check each SA's blacklist. Most restrictive list applies |
| 7 | **Pre-processing obligation** | DPIA must be completed BEFORE Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.