Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
borghei avatar

Privacy Notice Generator

  • 47 installs
  • 451 repo stars
  • Updated July 21, 2026
  • borghei/claude-skills

Privacy Notice Generator is a Claude skill that scaffolds GDPR-compliant privacy notices for EU/EEA jurisdictions and scores existing notices against Art. 13/14 requirements.

About

Privacy Notice Generator drafts GDPR-compliant privacy notices for EU/EEA jurisdictions and verifies existing notices against Art. 13/14 requirements. A developer or compliance owner uses it to scaffold a 13-section notice for a chosen notice type and jurisdiction, then score it 0-100 with missing and incomplete elements flagged. It supports 6 notice types and 9 jurisdictions and is marked experimental, not legal advice.

  • Scaffolds a 13-section notice with jurisdiction-specific placeholders
  • Supports 6 notice types across 9 EU/EEA jurisdictions
  • Compliance checker scores a notice 0-100 against Art. 13/14 GDPR

Privacy Notice Generator by the numbers

  • 47 all-time installs (skills.sh)
  • Ranked #1,355 of 2,203 Security skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

privacy-notice-generator capabilities & compatibility

Capabilities
privacy compliance · security audit · terms generator
Use cases
security audit · documentation
Pricing
Free
From the docs

What privacy-notice-generator says it does

Draft GDPR-compliant privacy notices for EU/EEA jurisdictions. Supports 6 notice types, 9 jurisdictions, multi-layer compliance verification.
SKILL.md
Validates a privacy notice text against Art. 13/14 GDPR requirements and generates a compliance score with missing/incomplete elements.
SKILL.md
**Supported Jurisdictions:** DE, FR, AT, IT, ES, NL, BE, IE, UK
SKILL.md
npx skills add https://github.com/borghei/claude-skills --skill privacy-notice-generator

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs47
repo stars451
Last updatedJuly 21, 2026
Repositoryborghei/claude-skills

What it does

Draft a GDPR-compliant privacy notice for an EU/EEA jurisdiction and score an existing notice against Art. 13/14 requirements.

Who is it for?

Producing or auditing a GDPR privacy notice for a specific EU/EEA jurisdiction and audience.

Skip if: Non-EU privacy regimes or binding legal sign-off; it is experimental and not legal advice.

When should I use this skill?

Drafting a privacy notice, checking notice compliance, or mapping jurisdiction-specific requirements.

What you get

A jurisdiction-specific 13-section privacy notice plus a 0-100 compliance score listing missing and incomplete elements.

  • 13-section privacy notice draft
  • 0-100 compliance score with gaps

By the numbers

  • 6 notice types
  • 9 jurisdictions
  • 13-section notice structure

Files

SKILL.mdMarkdownGitHub ↗
⚠️ 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.

Privacy Notice Generator

Tools and guidance for drafting GDPR-compliant privacy notices across EU/EEA jurisdictions and audience types, with multi-layer compliance verification.

---

Table of Contents

---

Tools

Privacy Notice Scaffolder

Generates a privacy notice skeleton with all required sections pre-populated with jurisdiction-specific placeholders and legal references.

# Website privacy notice for German jurisdiction
python scripts/privacy_notice_scaffolder.py \
  --notice-type website \
  --jurisdiction DE \
  --data-categories personal,contact,usage,cookies \
  --legal-bases consent,contract,legitimate_interests \
  --has-cookies \
  --has-international-transfers

# Employee notice for French jurisdiction with AI processing
python scripts/privacy_notice_scaffolder.py \
  --notice-type employee \
  --jurisdiction FR \
  --data-categories personal,employment,financial,health \
  --legal-bases contract,legal_obligation,consent \
  --has-ai

# B2C customer notice for UK with all features
python scripts/privacy_notice_scaffolder.py \
  --notice-type b2c \
  --jurisdiction UK \
  --data-categories personal,contact,financial,usage,marketing \
  --legal-bases consent,contract,legitimate_interests \
  --has-cookies --has-ai --has-international-transfers \
  --json

Supported Notice Types:

TypeAudienceKey Sections
websiteWebsite/app visitorsCookies, analytics, tracking technologies
applicantJob applicantsRecruitment data, talent pool, retention periods
employeeEmployeesWorks council, IT monitoring, BYOD, HR data
b2bBusiness partnersArt. 14 requirements, source disclosure
b2cB2C customersSoft opt-in, payment processing, loyalty
combinedMultiple audiencesMerged sections with audience-specific callouts

Supported Jurisdictions: DE, FR, AT, IT, ES, NL, BE, IE, UK

13-Section Notice Structure: 1. Controller identity and contact 2. DPO contact details 3. Data categories collected 4. Purposes and legal bases 5. Recipients and categories 6. International transfers 7. Retention periods 8. Data subject rights 9. Right to withdraw consent 10. Right to complain to SA 11. Automated decision-making 12. Cookies and tracking (if applicable) 13. AI processing (if applicable)

---

Notice Compliance Checker

Validates a privacy notice text against Art. 13/14 GDPR requirements and generates a compliance score with missing/incomplete elements.

# Check a privacy notice file
python scripts/notice_compliance_checker.py privacy_notice.md

# Check with jurisdiction-specific requirements
python scripts/notice_compliance_checker.py privacy_notice.md --jurisdiction DE

# Check with notice type for type-specific validation
python scripts/notice_compliance_checker.py privacy_notice.md \
  --jurisdiction DE --notice-type employee

# JSON output
python scripts/notice_compliance_checker.py privacy_notice.md \
  --jurisdiction FR --notice-type website --json

Checks For:

CategoryElements Checked
Art. 13 MandatoryController identity, DPO contact, purposes, legal bases, recipients, transfers, retention, all 8 rights, automated decisions, consent withdrawal, SA complaint
Art. 14 AdditionalSource of data, categories obtained (for indirect collection)
GeneralArt. 21 right to object prominence, plain language, no placeholders, consistent formatting
Jurisdiction-specificDE: Widerspruchsrecht prominence, TDDDG; FR: CNIL recommendations; UK: ICO guidance

Output:

  • Compliance score (0-100)
  • Missing elements (must-fix)
  • Incomplete elements (should-improve)
  • Jurisdiction-specific findings
  • Type-specific findings

---

Reference Guides

Notice Types Guide

references/notice_types_guide.md

Detailed guidance for 6 notice types:

  • Platform sub-types for website/app notices
  • Applicant-specific data categories and retention
  • Employee notice with works council and monitoring requirements
  • B2B Art. 14 requirements and source disclosure
  • B2C soft opt-in and payment processing
  • Combined notice merge strategies

Jurisdiction Requirements

references/jurisdiction_requirements.md

Jurisdiction-specific requirements for 9 jurisdictions:

  • SA details and registration requirements
  • Requirements beyond GDPR baseline
  • Standard wording recommendations
  • Retention guidance per jurisdiction

Compliance Verification

references/compliance_verification.md

5-layer verification system:

  • Jurisdiction-specific checks
  • Art. 13/14 mandatory disclosures
  • General compliance checks
  • Type-specific checks
  • AI Act compliance
  • Post-generation checklist
  • Writing style guide

---

Workflows

Workflow 1: SCOPE → INTAKE → DRAFT → VERIFY → DELIVER

Step 1: SCOPE — Determine notice parameters
        → Notice type (website/applicant/employee/b2b/b2c/combined)
        → Jurisdiction (DE/FR/AT/IT/ES/NL/BE/IE/UK)
        → Special features (cookies, AI, international transfers)

Step 2: INTAKE — Gather information
        → Controller identity and DPO
        → Data inventory (categories, sources)
        → Purposes and legal bases per category
        → Recipients and processors
        → Transfer destinations and mechanisms
        → Retention periods per category
        → Cookie/tracking inventory (if website)
        → AI processing details (if applicable)

Step 3: DRAFT — Generate notice skeleton
        → python scripts/privacy_notice_scaffolder.py [params]
        → Fill in placeholders with actual information from intake
        → Add jurisdiction-specific clauses
        → Apply writing style guide (you/your, short sentences, tables)

Step 4: VERIFY — Run compliance checker
        → python scripts/notice_compliance_checker.py notice.md --jurisdiction [J] --notice-type [T]
        → Address all missing elements
        → Address incomplete elements
        → Review jurisdiction-specific findings

Step 5: DELIVER — Finalize and publish
        → Legal review sign-off
        → Technical review (links, formatting, accessibility)
        → Translation QA (if multilingual)
        → Publication with version control
        → Set review trigger calendar

Workflow 2: Notice Update

Step 1: Identify trigger (new processing, regulation change, annual review)
Step 2: Run compliance checker on current notice
Step 3: Identify gaps and required updates
Step 4: Draft updated sections
Step 5: Re-verify with compliance checker
Step 6: Notify data subjects of material changes
Step 7: Update version date and change log

Workflow 3: Multi-Jurisdiction Notice

Step 1: Generate base notice for primary jurisdiction
        → python scripts/privacy_notice_scaffolder.py --jurisdiction [primary] ...
Step 2: Check jurisdiction requirements for additional territories
        → See references/jurisdiction_requirements.md
Step 3: Add jurisdiction-specific supplements
        → DE: TDDDG telecom disclosures, DSK guidance
        → FR: CNIL cookie requirements, LIL specifics
        → UK: ICO guidance, UK transfer mechanisms
Step 4: Verify each jurisdiction version
        → python scripts/notice_compliance_checker.py notice_de.md --jurisdiction DE
        → python scripts/notice_compliance_checker.py notice_fr.md --jurisdiction FR
Step 5: Publish with language/jurisdiction switcher

---

Troubleshooting

ProblemPossible CauseResolution
Low compliance score despite complete noticeMissing jurisdiction-specific requirements (e.g., DE Widerspruchsrecht prominence)Run checker with --jurisdiction flag; review jurisdiction_requirements.md for local additions
Scaffolder generates too many sectionsCombined notice type includes all audience sectionsUse specific notice type instead of combined; or remove irrelevant sections post-generation
Art. 14 findings for direct collectionChecker flags Art. 14 requirements for B2B notice typeCorrect — B2B often involves indirect collection; ensure source disclosure is included
Placeholder text in final noticeTemplate not fully populatedSearch for [PLACEHOLDER] and {{variable}} markers; all must be replaced before publication
Cookie section missing from employee noticeEmployee notice type does not include cookies by defaultAdd --has-cookies flag if employee-facing systems use cookies/tracking
AI section not generatedMissing --has-ai flagRe-run scaffolder with --has-ai; review AI Act Art. 50 transparency requirements

---

Success Criteria

  • 100% Art. 13/14 compliance score — all mandatory disclosure elements present; zero missing items
  • Jurisdiction-specific requirements met — compliance checker confirms local SA requirements addressed
  • Type-specific requirements met — notice covers all audience-specific data processing activities
  • No placeholder text remaining — all template variables replaced with actual information
  • Writing style guide followed — "you/your" voice; short sentences; tables for complex information; precise legal citations
  • Legal review completed — qualified privacy counsel sign-off on final notice
  • Publication requirements met — accessible, versioned, dated, with change notification mechanism

---

Scope & Limitations

In Scope:

  • Privacy notice skeleton generation for 6 notice types across 9 jurisdictions
  • Compliance checking against Art. 13/14 GDPR mandatory disclosures
  • Jurisdiction-specific requirement validation (DE, FR, AT, IT, ES, NL, BE, IE, UK)
  • Notice type-specific section generation and validation
  • AI Act Art. 50 transparency disclosure sections
  • Cookie and tracking technology disclosure sections
  • Writing style and plain language guidance

Out of Scope:

  • Legal advice on specific legal basis selection — consult qualified privacy counsel
  • Translation services — tool generates English templates; professional translation required
  • Cookie consent implementation or CMP configuration
  • DPIA generation (see dpia-assessment skill)
  • Privacy notice hosting or publication infrastructure
  • Non-GDPR privacy notice formats (CCPA notice at collection, LGPD notices)
  • Sector-specific notices (healthcare, financial services, children's services)

---

Anti-Patterns

Anti-PatternWhy It FailsBetter Approach
Copy-paste from another companyDifferent processing activities, jurisdictions, and legal bases; exposes liability gapsGenerate skeleton from actual parameters; fill with organization-specific information
One notice for all jurisdictionsMisses jurisdiction-specific requirements (DE TDDDG, FR CNIL, UK ICO); SA enforcementGenerate jurisdiction-specific versions or supplements using scaffolder per jurisdiction
Generic legal bases ("we process your data based on applicable law")Art. 13(1)(c) requires specific legal basis per purpose; generic statement is non-compliantMap each processing purpose to specific Art. 6(1) basis; document in purpose-basis table
Set and forgetProcessing activities change; regulations evolve; notices become inaccurateSet review triggers (see compliance_verification.md); run compliance checker quarterly
Overly legalistic languageRecital 58 requires clear and plain language; complex legal jargon is non-compliantFollow writing style guide: "you/your" voice, short sentences, tables, examples

---

Tool Reference

privacy_notice_scaffolder.py

Generates a privacy notice skeleton based on notice type, jurisdiction, and processing parameters.

FlagRequiredDescription
--notice-type <type>YesNotice type: website, applicant, employee, b2b, b2c, combined
--jurisdiction <code>YesJurisdiction: DE, FR, AT, IT, ES, NL, BE, IE, UK
--data-categories <list>YesComma-separated: personal, contact, usage, cookies, financial, health, employment, marketing, biometric
--legal-bases <list>YesComma-separated: consent, contract, legal_obligation, legitimate_interests, vital_interests, public_task
--has-cookiesNoInclude cookies and tracking section
--has-aiNoInclude AI and automated processing section
--has-international-transfersNoInclude international transfers section
--jsonNoOutput in JSON format

notice_compliance_checker.py

Validates a privacy notice against Art. 13/14 GDPR requirements.

FlagRequiredDescription
<notice_file>YesPath to privacy notice file (markdown or text)
--jurisdiction <code>NoJurisdiction for local requirements: DE, FR, AT, IT, ES, NL, BE, IE, UK
--notice-type <type>NoNotice type for type-specific checks: website, applicant, employee, b2b, b2c, combined
--jsonNoOutput in JSON format

Related skills

FAQ

Which notice types and jurisdictions are supported?

6 notice types (website, applicant, employee, b2b, b2c, combined) across 9 jurisdictions: DE, FR, AT, IT, ES, NL, BE, IE, UK.

How does the compliance checker score notices?

It validates against Art. 13/14 GDPR requirements and returns a compliance score of 0-100 with missing and incomplete elements.

Securitycompliance

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.