🛡️ COPPA 美国儿童隐私护栏 (coppa-guard) v1.0.0
概述
coppa-guard 是面向出海美国、触及儿童用户的产品(儿童 App / 游戏 / 电商 / 教育产品)的合规护栏。它在文案、隐私政策、应用商店描述发布前,实时检测 其中触发 COPPA 适用的表述与儿童隐私违规用语,并按风险等级输出命中与整改建议。
COPPA(Children's Online Privacy Protection Act)由美国 FTC 执法,核心是:任何 面向 13 岁以下儿童、或明知收集 13 岁以下儿童个人信息的运营者,必须先取得 "可验证家长同意"(Verifiable Parental Consent, VPC),并提供家长审查、撤回、数据 删除通道,且最小化收集。违规可由 FTC 处以巨额罚款。
与"事后深度审计"类工具不同,护栏解决的是事前问题:发布前这段文案会不会 把产品带进 COPPA 适用范围、有没有踩到"无 VPC 即收集"的硬红线。二者互补—— 护栏做日常高频拦截,深度审计做上线前全面体检。
本护栏免费使用,纯本地运行,零网络请求,文本输入即可评估。
快速开始
# 检测一段文案(默认文本格式)
python3 scripts/guard.py --text "Our kids app collects children's data without parental consent"
# 从标准输入读取(适合管道 / Agent 调用)
echo "preschool game for toddlers" | python3 scripts/guard.py --stdin
# 结构化 JSON 输出(Agent 消费)
python3 scripts/guard.py --text "..." --format json
# 列出触发/违规类别与依据
python3 scripts/guard.py --list-categories
Agent 调用约定
护栏设计为 Agent 主动调用的检测工具,典型接法:
发布前护栏(文案 → 发布):把待发布文案交给护栏,发现 high 级命中(如缺少 VPC 即收集儿童数据、向儿童投放行为定向广告)则拦截修改;medium 级提示人工确认 (如"面向儿童"触发 COPPA 适用,需确认是否已建立 VPC 流程)。
护栏返回结构化裁决(--format json),关键字段:
| 字段 | 含义 |
|---|---|
decision |
clean(无命中)/ flagged(有命中) |
risk_level |
本次最高风险等级 high/medium/low/none |
finding_count |
命中条数(已去重) |
findings[] |
每条命中的术语、类别、等级、整改建议与位置 |
检测范围(术语规则包 v1.0.0)
| 类别 | 风险 | 典型触发/违规表述 | 主要依据 |
|---|---|---|---|
| 面向儿童(触发适用) | medium | for kids、children's app、preschool、儿童、适龄儿童、益智游戏 | COPPA 适用前提 |
| 收集儿童个人信息 | high | collect children's data、under 13 account、收集儿童信息、未满13 | COPPA § 312.2 / 312.3 |
| 儿童行为定向广告 | high | personalized ads for kids、儿童精准广告 | COPPA § 312.10 |
| 缺少可验证家长同意 | high | no parental consent、无需家长同意、家长无需同意 | COPPA § 312.5 (VPC) |
| 第三方披露儿童数据 | medium | share children's data、出售儿童数据 | COPPA § 312.4 |
| 儿童持久标识符追踪 | medium | track kids across sites、追踪儿童设备 | COPPA § 312.2 / 312.10 |
规则与内核分离:检测内核(scripts/guard.py)不含任何行业规则;规则集中在
scripts/rules/terms.py。新增触发词/违规词只需在 TERMS 中追加一行,内核逻辑完全复用。
安全与约束
- 纯本地运行,无任何网络请求、遥测或回调
- 无
eval/exec/ 动态 import;规则通过显式列表加载,便于审计 - 不写入用户指定之外的文件;不修改自身代码
- 全部为可读 Python,无混淆、无二进制依赖
⚠️ 法律声明
免责条款
使用本 coppa-guard 护栏前请仔细阅读以下条款:
- 非法律建议:本工具提供的检测与建议仅供参考,不构成法律建议或合规证明,不具备法律效力。
- 无绝对保证:儿童隐私表述形态多样,基于词表的检测无法保证 100% 识别,可能存在漏报或误报。 用户不应将其作为唯一或最终的合规保障手段;部分用语(如"儿童")需结合上下文与产品实际判断。
- 按原样提供:本工具按"原样"(AS IS)提供,不作任何明示或暗示的保证。
- 责任限制:在法律允许的最大范围内,开发者对使用或无法使用本工具产生的任何损失不承担责任。
- 用户责任:用户对其产品的儿童隐私合规性负全责,重大合规决策应咨询具备美国法执业资格的法律顾问。
- 数据安全:本工具本地运行,处理数据留在用户设备上。
知识产权
本工具基于 MIT 许可证开源。所引用的法律法规原文属政府公开信息,不受著作权法保护,引用仅供对照,请以官方发布版本为准。
使用限制
- ✅ 允许:作为出海儿童产品发布前的辅助检测手段、合规体系的一环
- ❌ 禁止:作为法律证据或合规证明提交监管部门、替代专业法律咨询、用于规避法律义务、移除本声明后分发
管辖法律
本声明受中华人民共和国法律管辖。因本工具引发的争议,应先友好协商;协商不成的,提交开发者所在地有管辖权的法院解决。
Skill 自身合规声明(自身合规检查)
作为一款合规护栏工具,我们自身的合规与安全姿态同样接受审视:
| # | 要求 | 本 skill 的自身姿态 | 结论 |
|---|---|---|---|
| 1 | 权限管理 | 不请求任何系统 / 文件 / 网络权限,纯本地只读解析文本 | ✅ 最小权限 |
| 2 | 工具调用 | 零外部调用、零 API 请求,无 MCP / 函数调用依赖 | ✅ 白名单即"零调用" |
| 3 | 数据使用 | 输入文本仅驻留内存,不落盘、不上传、不持久化;无任何遥测 | ✅ 数据最小化 |
| 4 | 高风险动作 | 不执行任何动作,仅输出评估报告,无自主行为 | ✅ 无自主动作 |
| 5 | 行为监测 | 纯函数式检测,无副作用、无后台进程,输入输出可复现 | ✅ 可观测 |
| 6 | 异常阻断 | 无外部依赖,不触碰用户运行时,不会越界或失控 | ✅ 边界封闭 |
| 7 | 紧急关停 | 单次进程执行,进程结束即完全停止,无残留 | ✅ 即刻停止 |
平台发布合规自查(SkillHub 审核视角)
- 无硬编码 IP / 域名:脚本仅使用 Python 标准库,不发起任何网络请求,规避此前审核驳回的
socket/ssl类风险。 - 逻辑透明:全部检测规则为声明式词表(
scripts/rules/terms.py),可读可审,无混淆、无隐藏行为。 - 零依赖:
requirements.txt为空,仅依赖 Python 标准库,不安装任何第三方包。 - 无持久化 / 无遥测:不写外部日志、不采集任何使用数据。
边界重申
本 skill 做儿童隐私触发/违规表述的实时检测,是"发布前核对清单",不声称对 COPPA 全部要求做穷尽审查, 也不替代专业法律意见或完整的 COPPA 合规审计。
版本
当前版本:v1.0.0
