| name | gdpr-guard |
| description | GDPR 合规护栏 (gdpr) v1.0.0。
在 AI 应用输入/输出链路中实时检测 GDPR 语境下的个人数据,
按风险分级脱敏或阻断,供 Agent 主动调用。
Use when: 需要在 Agent 处理用户输入或返回结果前,实时拦截/脱敏
EU 个人数据;防止 IBAN、UK NI、信用卡、特殊类别数据(基因/生物
识别/健康/宗教信仰等)流入大模型或被输出泄露;为 AI 应用加装
符合 GDPR 的运行时护栏。
核心能力:
- 🛡️ 实时检测 IBAN、UK NI、EU 电话、信用卡(Luhn)、
IPv4/MAC、邮箱等结构化个人数据
- 🧩 关键词线索识别:GDPR Art.9 特殊类别(种族/政治观点/
宗教信仰/工会/基因/生物识别/健康/性生活)及 Art.10 刑事定罪数据
- 🎭 三种动作:detect(仅检测)/ mask(脱敏放行)/ block(高危阻断)
- 📊 风险分级(high / medium / low)与结构化裁决结果(JSON)
- 🧱 内核与规则分离
触发关键词:GDPR、EU 数据保护、个人数据检测、特殊类别数据、
PII detection、数据合规护栏、AI data protection
适用范围:EU/EEA 相关 AI 应用输入/输出文本的运行时防护
运行模式:纯本地,零网络请求,零动态执行 ❎
外部依赖:Python 标准库(无需额外安装)
|
🛡️ GDPR Guardrail —— GDPR 合规护栏 v1.0.0
概述
gdpr 是面向 AI 应用的运行时合规护栏。它在 Agent 处理用户输入、
或向用户返回输出之前,实时检测其中的个人信息,并按风险等级执行脱敏或阻断。
与"事后审计"类工具(如合规自查、文件扫描)不同,护栏解决的是事中问题:
每一次调用能不能放行、要不要脱敏、是否必须阻断。二者互补,共同覆盖
AI 应用"事前自查 + 事中防护"的合规链路。
为什么是本地护栏
护栏是低延迟、高频的运行时组件,且处理的正是最敏感的数据。因此
gdpr 坚持纯本地运行:检测在本机完成,敏感数据不出机器,
无任何网络请求,无 eval / exec / 动态 import。这既满足运行时性能,
本身也是最强的 GDPR 友好特性。
快速开始
python3 scripts/guard.py --text "我的身份证是110101199003074477"
echo "手机号13800138000" | python3 scripts/guard.py --stdin
python3 scripts/guard.py --text "身份证110101199003074477" --action block
python3 scripts/guard.py --text "邮箱 a@b.com" --action detect --format json
python3 scripts/guard.py --list-profiles
Agent 调用约定
护栏设计为 Agent 主动调用的检测工具,典型接法有两处:
入口护栏(用户输入 → 模型):把用户输入交给护栏,mask 后再送入大模型,
防止 EU 个人数据流入外部模型或日志。
出口护栏(模型输出 → 用户):把模型输出交给护栏,mask 或 block 后
再返回用户,防止生成结果泄露个人数据。
护栏返回结构化裁决(--format json),关键字段:
| 字段 | 含义 |
|---|
decision | pass / masked / blocked / inspect_only |
risk_level | 本次最高风险等级 high/medium/low/none |
finding_count | 命中条数(已去重) |
findings[] | 每条命中的类别、等级、位置与脱敏预览(不含原文明文) |
output | 处理后的文本;blocked 时为 null |
注意:findings 中仅提供脱敏预览(preview),不回传敏感原文,
避免护栏结果本身成为新的泄露面。
三种动作
| 动作 | 行为 | 适用 |
|---|
detect | 仅检测并报告,不改动文本 | 审计、观察、灰度 |
mask | 脱敏后放行(默认) | 大多数输入/输出防护 |
block | 命中达阈值则阻断,否则脱敏 | 高敏场景、强合规要求 |
阻断阈值由 --block-on 控制(high / medium / low),默认 high:
默认脱敏放行、仅高危阻断,兼顾可用性与安全。
检测范围(gdpr v1.0.0)
结构性模式:
IBAN(国际银行账号)、UK National Insurance Number、EU 电话(E.164)、
信用卡号(Luhn 校验)、IPv4、MAC 地址、邮箱。
关键词线索(GDPR 特殊类别数据):
Art.9(a) 种族或民族出身、Art.9(b) 政治观点、Art.9(c) 宗教信仰、
Art.9(d) 工会成员、Art.9(e) 基因数据、Art.9(f) 生物识别数据(指纹/人脸识别)、
Art.9(g) 健康数据(病历/诊断/医疗史)、Art.9(h) 性生活/性取向;
Art.10 刑事定罪与犯罪记录。
校验位/Luhn 校验 + 重叠命中自动去重,只报最高风险项,
规则与内核分离
检测内核(scripts/guard.py)不含任何行业规则;规则集中在
scripts/rules/ 下的规则包。gdpr 版使用自包含的 gdpr 规则包,
覆盖 EU 个人数据格式与 GDPR 特殊类别数据。内核逻辑在所有版本间完全复用。
安全与约束
- 纯本地运行,无任何网络请求、遥测或回调
- 无
eval / exec / 动态 import;规则通过显式映射加载,便于审计
- 不写入用户指定之外的文件;不修改自身代码
- 检测结果不回传敏感原文,仅提供脱敏预览
- 全部为可读 Python,无混淆、无二进制依赖
⚠️ 法律声明
免责条款
使用本 gdpr 护栏前请仔细阅读以下条款:
- 非法律建议:本工具提供的检测、脱敏与拦截结果仅供参考,
不构成法律建议或合规证明,不具备法律效力。
- 无绝对保证:个人信息形态多样,基于正则与关键词的检测
无法保证 100% 识别,可能存在漏报或误报。用户不应将其作为
唯一或最终的合规保障手段。
- 按原样提供:本工具按"原样"(AS IS)提供,不作任何明示或
暗示的保证,包括适销性、特定用途适用性或检测完整性。
- 责任限制:在法律允许的最大范围内,开发者对使用或无法使用
本工具产生的任何损失不承担责任。
- 用户责任:用户对其 AI 应用的合规性负全责,重大合规决策
应咨询专业法律顾问,并结合组织制度、技术措施综合落实。
- 数据安全:本工具本地运行,处理数据留在用户设备上;
用户应自行负责数据的备份与安全。
知识产权
本工具基于 MIT 许可证开源。所引用的法律法规原文(如《个人信息保护法》)
属政府公开信息,版权归原制定机关,用户应以官方发布版本为准。
使用限制
- ✅ 允许:作为 AI 应用运行时防护的辅助手段、脱敏预处理、合规体系的一环
- ❌ 禁止:作为法律证据或合规证明提交监管部门、替代专业法律咨询、
用于规避法律义务、移除本声明后分发
管辖法律
本声明受中华人民共和国法律管辖。因本工具引发的争议,应先友好协商;
协商不成的,提交开发者所在地有管辖权的法院解决。
GDPR 合规护栏系列 · GDPR版 为 AI 应用装上实时合规护栏