关于 privacy-notice-generator
privacy-notice-generator 是用于起草和检查 GDPR 隐私声明的 Skill,涵盖指定的欧盟/欧洲经济区司法管辖区和受众类型。它可生成适配司法管辖区的声明框架,并检查披露内容缺漏;输出仅供参考,不构成法律建议。
主要功能
- 01按类型和司法管辖区生成声明框架
- 02检查 GDPR 第 13、14 条披露内容
- 03报告合规评分及缺失项
- 04执行司法管辖区和受众类型检查
- 05添加 Cookie、传输和 AI 相关章节
适用场景
- 01起草网站或员工隐私声明
- 02检查声明中的 GDPR 披露缺口
- 03为多个司法管辖区调整声明
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ borghei/ claude-skills --skill privacy-notice-generator安装后在 Claude Code 中输入/privacy-notice-generator确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/compliance_verification.mdjurisdiction_requirements.mdnotice_types_guide.mdscripts/notice_compliance_checker.pyprivacy_notice_scaffolder.py详细介绍
⚠️ 实验性 — 此技能仅用于教育和信息提供,不构成法律建议。用户须对使用承担全部责任。采取任何行动前,请咨询合格的法律专业人士。
隐私声明生成器
用于起草适用于欧盟/欧洲经济区各司法管辖区和不同受众类型的 GDPR 合规隐私声明的工具和指南,并提供多层合规验证。
目录
请先确认
生成声明前,请确认以下信息。如果任何一项未知或含糊不清,请提问,不要自行假设:
- 声明类型 — website、applicant、employee、b2b、b2c 或 combined — 决定显示哪些章节和受众特定内容(例如,员工声明中的职工委员会/监控,或 b2b 声明中的第 14 条来源披露)
- 司法管辖区 — DE/FR/AT/IT/ES/NL/BE/IE/UK — 增补本地要求(DE 的 Widerspruchsrecht/TDDDG、FR 的 CNIL、UK 的 ICO),合规检查器会对这些要求进行评分
- 每项处理目的对应的法律依据 — 第 13(1)(c) 条要求为每项处理目的指定具体依据;笼统地声明“适用法律”无法通过检查
- 特殊功能:Cookie / AI / 国际传输 — 启用第 6、12 和 13 节,以及《AI 法案》第 50 条透明度披露
停止规则:只询问对输出影响最大的 2–3 项。如果用户表示“直接起草”,则继续起草,并在声明开头列出你的假设。
工具
隐私声明框架生成器
生成隐私声明框架,其中已预填所有必需章节的司法管辖区特定占位内容和法律引用。
# 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
支持的声明类型:
| 类型 | 受众 | 主要章节 |
|---|---|---|
| website | 网站/应用访问者 | Cookie、分析、跟踪技术 |
| applicant | 求职者 | 招聘数据、人才库、保留期限 |
| employee | 员工 | 职工委员会、IT 监控、自带设备、HR 数据 |
| b2b | 商业合作伙伴 | 第 14 条要求、来源披露 |
| b2c | B2C 客户 | 软性选择加入、支付处理、忠诚度 |
| combined | 多类受众 | 合并章节并附受众特定说明 |
支持的司法管辖区: DE、FR、AT、IT、ES、NL、BE、IE、UK
13 节声明结构:
- 控制者身份和联系方式
- DPO 联系方式
- 收集的数据类别
- 处理目的和法律依据
- 接收方及其类别
- 国际传输
- 保留期限
- 数据主体权利
- 撤回同意的权利
- 向 SA 投诉的权利
- 自动化决策
- Cookie 和跟踪(如适用)
- AI 处理(如适用)
声明合规检查器
根据 GDPR 第 13/14 条要求验证隐私声明文本,并生成合规评分,同时指出缺失或不完整的内容。
# 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
检查内容:
| 类别 | 检查要素 |
|---|---|
| 第 13 条强制要求 | 控制者身份、DPO 联系方式、处理目的、法律依据、接收方、传输、保留期限、全部 8 项权利、自动化决策、撤回同意、向 SA 投诉 |
| 第 14 条附加要求 | 数据来源、获取的数据类别(适用于间接收集) |
| 通用要求 | 突出说明第 21 条的反对权、通俗易懂的语言、无占位符、格式一致 |
| 司法管辖区特定要求 | DE:突出说明 Widerspruchsrecht、TDDDG;FR:CNIL 建议;UK:ICO 指南 |
输出:
- 合规评分(0–100)
- 缺失内容(必须修复)
- 不完整内容(建议改进)
- 司法管辖区特定发现
- 类型特定发现
参考指南
通知类型指南
references/notice_types_guide.md
关于 6 种通知类型的详细指南:
- 网站/应用通知的平台子类型
- 申请人专属的数据类别和保留期限
- 员工通知中的工会委员会和监控要求
- B2B 第 14 条要求及来源披露
- B2C 软性选择加入和支付处理
- 合并通知的整合策略
司法管辖区要求
references/jurisdiction_requirements.md
针对 9 个司法管辖区的具体要求:
- SA 详情和注册要求
- GDPR 基准要求之外的要求
- 标准措辞建议
- 各司法管辖区的保留期限指南
合规验证
references/compliance_verification.md
5 层验证系统:
- 司法管辖区特定检查
- 第 13/14 条强制披露
- 一般合规检查
- 类型特定检查
- AI Act 合规性
- 生成后检查清单
- 写作风格指南
工作流
工作流 1:范围界定 → 信息收集 → 起草 → 验证 → 交付
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
工作流 2:更新通知
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
工作流 3:多司法管辖区通知
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
故障排除
| 问题 | 可能原因 | 解决方法 |
|---|---|---|
| 通知内容完整,但合规评分较低 | 缺少司法管辖区特定要求(例如,DE 对异议权的突出说明要求) | 使用 --jurisdiction 标志运行检查器;查看 jurisdiction_requirements.md,了解当地补充要求 |
| 脚手架工具生成了过多章节 | 合并通知类型包含所有受众章节 | 使用特定通知类型,而不是合并类型;或在生成后移除不相关章节 |
| 直接收集数据时出现第 14 条检查结果 | 检查器针对 B2B 通知类型标记了第 14 条要求 | 这是正确的——B2B 通常涉及间接收集;确保包含来源披露 |
| 最终通知中仍有占位文本 | 模板未完全填写 | 搜索 [PLACEHOLDER] 和 {{variable}} 标记;发布前必须全部替换 |
| 员工通知中缺少 Cookie 章节 | 员工通知类型默认不包含 Cookie | 如果面向员工的系统使用 Cookie/跟踪功能,请添加 --has-cookies 标志 |
| 未生成 AI 章节 | 缺少 --has-ai 标志 | 使用 --has-ai 重新运行脚手架工具;查看 AI Act 第 50 条的透明度要求 |
成功标准
- 第 13/14 条合规评分达到 100% — 包含所有强制披露要素;不存在缺失项
- 满足司法管辖区特定要求 — 合规检查器确认已处理当地 SA 要求
- 满足类型特定要求 — 通知涵盖所有受众特定的数据处理活动
- 不遗留占位文本 — 所有模板变量均已替换为实际信息
- 遵循写作风格指南 — 使用“你/你的”口吻;句子简短;复杂信息使用表格;法律引用准确
- 完成法律审查 — 最终通知已由具备资质的隐私法律顾问签署批准
- 满足发布要求 — 内容易于访问,包含版本号和日期,并设有变更通知机制
范围与限制
范围内:
- 为 9 个司法管辖区的 6 种告知类型生成隐私告知模板
- 根据 GDPR 第 13/14 条的强制披露要求进行合规检查
- 验证司法管辖区特定要求(DE、FR、AT、IT、ES、NL、BE、IE、UK)
- 生成并验证告知类型特定的章节
- AI Act 第 50 条透明度披露章节
- Cookie 和跟踪技术披露章节
- 写作风格与通俗语言指南
范围外:
- 针对具体法律依据选择提供法律建议——请咨询合格的隐私法律顾问
- 翻译服务——工具生成英文模板;需要专业翻译
- Cookie 同意机制的实施或 CMP 配置
- DPIA 生成(参见
dpia-assessmentskill) - 隐私告知的托管或发布基础设施
- 非 GDPR 隐私告知格式(CCPA 收集时告知、LGPD 告知)
- 特定行业告知(医疗保健、金融服务、儿童服务)
反模式
| 反模式 | 失败原因 | 更好的做法 |
|---|---|---|
| 从其他公司复制粘贴 | 处理活动、司法管辖区和法律依据各不相同;会造成责任漏洞 | 根据实际参数生成模板;填写组织特定信息 |
| 所有司法管辖区共用一份告知 | 会遗漏司法管辖区特定要求(DE TDDDG、FR CNIL、UK ICO);面临监管执法 | 使用脚手架工具,按司法管辖区生成特定版本或补充内容 |
| 笼统的法律依据(“我们依据适用法律处理您的数据”) | 第 13(1)(c) 条要求针对每个目的列明具体法律依据;笼统声明不合规 | 将每项处理目的映射到具体的第 6(1) 条法律依据;记录在目的与依据对照表中 |
| 设置后就不再管 | 处理活动会发生变化;法规会更新;告知内容会变得不准确 | 设置审查触发条件(参见 compliance_verification.md);每季度运行合规检查器 |
| 过度使用法律术语 | 序言第 58 条要求使用清晰、通俗的语言;复杂的法律术语不合规 | 遵循写作风格指南:使用“您”称谓、简短句子、表格和示例 |
工具参考
privacy_notice_scaffolder.py
根据告知类型、司法管辖区和处理参数生成隐私告知模板。
| 标志 | 必填 | 说明 |
|---|---|---|
--notice-type <type> | 是 | 告知类型:website、applicant、employee、b2b、b2c、combined |
--jurisdiction <code> | 是 | 司法管辖区:DE、FR、AT、IT、ES、NL、BE、IE、UK |
--data-categories <list> | 是 | 逗号分隔:personal、contact、usage、cookies、financial、health、employment、marketing、biometric |
--legal-bases <list> | 是 | 逗号分隔:consent、contract、legal_obligation、legitimate_interests、vital_interests、public_task |
--has-cookies | 否 | 包含 Cookie 和跟踪章节 |
--has-ai | 否 | 包含 AI 和自动化处理章节 |
--has-international-transfers | 否 | 包含国际传输章节 |
--json | 否 | 以 JSON 格式输出 |
notice_compliance_checker.py
根据 GDPR 第 13/14 条要求验证隐私告知。
| 标志 | 必填 | 说明 |
|---|---|---|
<notice_file> | 是 | 隐私告知文件路径(Markdown 或文本) |
--jurisdiction <code> | 否 | 本地要求对应的司法管辖区:DE、FR、AT、IT、ES、NL、BE、IE、UK |
--notice-type <type> | 否 | 用于类型特定检查的告知类型:website、applicant、employee、b2b、b2c、combined |
--json | 否 | 以 JSON 格式输出 |