gdpr-privacy-notice-eu-oliver-schmidt-prietz
Draft GDPR/DSGVO-compliant privacy notices as .docx for any EU/EEA jurisdiction and audience. Use when user asks to create a privacy policy/notice, mentions "Datenschutzerklärung", "politique de confidentialité", "privacy notice", needs Art. 13/14 disclosures, AI Act transparency, cookie policy, or notices for applicants ("Bewerber-Datenschutz"), employees ("Beschäftigten-Datenschutz"), B2B partners, or B2C customers. Covers DE (DSGVO+BDSG+TDDDG), FR (RGPD+LIL+LCEN), AT, IT, ES, NL, BE, IE, UK GDPR. Five notice types: Website/App, Applicant, Employee, Business Partner, B2C Customer.
What this skill does
# Pan-EU GDPR Privacy Notice Generator Generate jurisdiction-aware, GDPR-compliant privacy notices as professional .docx documents. ## Workflow Overview ``` 1. SCOPE → Notice type, jurisdiction(s), template choice 2. INTAKE → Type-driven collection: controller info, data inventory, legal bases 3. DRAFT → Generate notice from template + type profile + collected info 4. VERIFY → Art. 13/14 compliance check + type-specific checks + AI Act check 5. DELIVER → .docx output via docx skill ``` ## Step 1: Scope, Notice Type & Template Selection ### Determine Notice Type (FIRST QUESTION) Before anything else, determine what type of privacy notice is needed. Load `references/NOTICE_TYPES.md` and ask: > "What type of privacy notice do you need?" | Type | Description | |---|---| | **Website / App** | For visitors, users, subscribers of a website, web app, or mobile app | | **Applicant / Recruiting** | For job applicants and candidates (Bewerber, candidats) | | **Employee** | For employees, contractors, interns (Beschäftigte, salariés) | | **Business Partner (B2B)** | For contact persons at vendors, suppliers, clients, partners | | **B2C Customer** | For end consumers in a customer/purchase relationship | | **Combined** | Multiple audiences in one or several linked notices | The selected type determines: - Which sections to include/skip in the final document - Which data categories to probe during intake - Which legal bases are most likely - Which type-specific intake questions to ask - Which retention defaults apply Refer to `references/NOTICE_TYPES.md` for the full **section map**, **data profile**, **legal bases**, **intake questions**, and **retention defaults** for each type. ### Determine Jurisdiction Ask which countries/markets the service targets. Load the appropriate reference: | Target Market | Reference File | |---|---| | Germany / DACH | `references/DE.md` | | France | `references/FR.md` | | Other EU (AT, IT, ES, NL, BE, IE, UK) | `references/OTHER_EU.md` | | Always load | `references/EU_COMMON.md` | For multi-jurisdiction services, load all relevant files and note where requirements differ (e.g., children's age thresholds, DPO thresholds, retention rules). ### Template Selection Ask the user: > "I will draft the privacy notice as a professional .docx document. Do you have an existing template or privacy notice I should use as a base? If not, I will use one of our pre-built templates." | Option | Action | |---|---| | User provides template | Use their .docx as base — preserve structure, wording, and formatting; only fill/adapt | | No user template | Generate from `references/templates.md` using the docx skill | `references/templates.md` includes: 13-section structure, Art. 21 objection box (visually highlighted), purposes/retention table, cookie table, AI/automated decision-making section, children's data section, proper header/footer with page numbers, A4 formatting, TOC, and full translations for DE, FR, and EN. Select the language matching the target jurisdiction. **If user provides a template**: faithfully preserve its structure and validated wording. Only replace placeholders and adapt to the specific case. Do NOT rewrite validated legal language. ### Multi-Language Decision Tree If the service targets multiple jurisdictions or language groups, determine the language approach: | Scenario | Approach | |---|---| | **Single market, single language** | One notice in the market's language (e.g., DE only → German) | | **Single market, international workforce/users** | Primary language + English version. State which version governs in case of conflict. | | **Two markets, two languages** | Option A: Two separate notices (one per language), each self-contained. Option B: Bilingual notice with clear visual separation (e.g., side-by-side columns or sequential sections). | | **Pan-EU / many markets** | English as primary + translations for key markets. Each translation should be a standalone notice, not a partial translation. | | **Swiss company (nDSG + GDPR)** | Address both the Swiss nFADP (new Federal Act on Data Protection) and GDPR. Typical approach: single notice referencing both regimes, in at least German + French (+ Italian if applicable). Note: nFADP has no consent requirement for general processing but requires information duties similar to Art. 13/14 GDPR. | **Template handling for bilingual documents**: - Use the primary-language template as the structural base - Ensure both language versions contain all mandatory disclosures (a translation gap = a compliance gap) - Mark the governing language version explicitly (e.g., "In case of discrepancies, the [German/French] version shall prevail.") **Multi-language verification checklist** (add to Step 4 if applicable): - [ ] All mandatory Art. 13/14 disclosures present in each language version - [ ] Governing version clearly identified - [ ] Legal terminology correctly translated (not machine-translated without review) - [ ] Supervisory authority information correct for each jurisdiction - [ ] Jurisdiction-specific requirements addressed in the relevant language version ### Platform Sub-Type (Website/App type only) If the notice type is **Website / App**, further classify the platform to anticipate data categories. See `references/NOTICE_TYPES.md` → "Website / App" → "Sub-Types & Data Profiles" for details. | Sub-Type | Typical Additional Data | |---|---| | Brochure/corporate site | Contact forms, analytics, cookies only | | E-commerce | Account, payment, order history, shipping, returns | | SaaS / Web app | Account, usage data, feature logs, API keys, collaboration data | | Mobile app | Device ID, push tokens, permissions (camera, location, contacts), app usage | | Marketplace | Dual roles (buyers/sellers), ratings, messaging, payment escrow | | Platform with AI features | Training data, AI inputs/outputs, model decisions, profiling | ## Step 2: Information Intake Collect ALL information before drafting. Use the **type profile** from `references/NOTICE_TYPES.md` to guide the intake — each type pre-defines likely data categories, legal bases, and type-specific questions. Ask in logical groups, not all at once. Start with Group A (always), then use the type profile to determine which categories to probe and which type-specific questions to ask. ### Group A — Controller Identity - Company name, legal form, registration number - Registered address - Legal representative (name + title) - Contact email + phone - DPO appointed? → Contact details (use functional email) ### Group B — Data Inventory For each collection point (forms, account creation, purchase, cookies, app usage): - What data is collected? - Is it mandatory or optional? - What is the source (direct from user, third party, automated)? Categories to probe: - **Identity**: name, email, phone, address, date of birth, photo - **Account**: credentials, preferences, settings, activity history - **Technical**: IP, device ID, browser fingerprint, logs - **Browsing**: pages visited, clicks, session duration, referrer - **Transaction**: orders, payment method (via provider), invoices - **Communication**: messages, support tickets, comments - **Special categories** (Art. 9): health, biometric, political, religious, sexual orientation, ethnic origin, trade union, genetic — **If any Art. 9 data is identified**: consult `EU_COMMON.md` → "Special Category Data (Art. 9)" for the full intake protocol. Determine the Art. 9(2) exception for each category, confirm the dual legal basis (Art. 6 + Art. 9(2)), and document additional safeguards. Common triggers by notice type: Employee (church tax, disability, sick leave, union dues), Applicant (disability, health, religion), B2C (health data for pharmacy/insurance/fitness). - **AI-related**: inputs to AI systems, AI-generated outputs, automated scores/decisions ### Group C — Purposes & Legal Bases For each processing activity, determine the legal basis. Reference `EU_COMM
Related in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.