GDPR Guardrail

GDPR 合规护栏 (gdpr) v1.0.0。 在 AI 应用输入/输出链路中实时检测 GDPR 语境下的个人数据, 按风险分级脱敏或阻断,供 Agent 主动调用。 Use when: 需要在 Agent 处理用户输入或返回结果前,实时拦截/脱敏 EU 个人数据;防止 IBAN、UK NI、信用卡、特殊类别数据(基因/生物 识别/健康/宗教信仰等)流入…

Wei Wu

@wwumit

Install

$ openclaw skills install @wwumit/gdpr-guard

🛡️ GDPR Guardrail —— GDPR 合规护栏 v1.0.0

概述

gdpr 是面向 AI 应用的运行时合规护栏。它在 Agent 处理用户输入、 或向用户返回输出之前,实时检测其中的个人信息,并按风险等级执行脱敏或阻断。

与"事后审计"类工具(如合规自查、文件扫描)不同,护栏解决的是事中问题: 每一次调用能不能放行、要不要脱敏、是否必须阻断。二者互补,共同覆盖 AI 应用"事前自查 + 事中防护"的合规链路。

为什么是本地护栏

护栏是低延迟、高频的运行时组件,且处理的正是最敏感的数据。因此 gdpr 坚持纯本地运行:检测在本机完成,敏感数据不出机器, 无任何网络请求,无 eval / exec / 动态 import。这既满足运行时性能, 本身也是最强的 GDPR 友好特性。

快速开始

# 检测并脱敏(默认动作 mask)
python3 scripts/guard.py --text "我的身份证是110101199003074477"

# 从标准输入读取(适合管道 / Agent 调用)
echo "手机号13800138000" | python3 scripts/guard.py --stdin

# 高危阻断模式:命中 high 级敏感信息则拦截,不放行
python3 scripts/guard.py --text "身份证110101199003074477" --action block

# 结构化 JSON 输出(Agent 消费)
python3 scripts/guard.py --text "邮箱 a@b.com" --action detect --format json

# 列出可用规则包
python3 scripts/guard.py --list-profiles

Agent 调用约定

护栏设计为 Agent 主动调用的检测工具,典型接法有两处:

入口护栏(用户输入 → 模型):把用户输入交给护栏,mask 后再送入大模型, 防止 EU 个人数据流入外部模型或日志。

出口护栏(模型输出 → 用户):把模型输出交给护栏,maskblock 后 再返回用户,防止生成结果泄露个人数据。

护栏返回结构化裁决(--format json),关键字段:

字段含义
decisionpass / 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 护栏前请仔细阅读以下条款:

  1. 非法律建议:本工具提供的检测、脱敏与拦截结果仅供参考, 不构成法律建议或合规证明,不具备法律效力。
  2. 无绝对保证:个人信息形态多样,基于正则与关键词的检测 无法保证 100% 识别,可能存在漏报或误报。用户不应将其作为 唯一或最终的合规保障手段。
  3. 按原样提供:本工具按"原样"(AS IS)提供,不作任何明示或 暗示的保证,包括适销性、特定用途适用性或检测完整性。
  4. 责任限制:在法律允许的最大范围内,开发者对使用或无法使用 本工具产生的任何损失不承担责任。
  5. 用户责任:用户对其 AI 应用的合规性负全责,重大合规决策 应咨询专业法律顾问,并结合组织制度、技术措施综合落实。
  6. 数据安全:本工具本地运行,处理数据留在用户设备上; 用户应自行负责数据的备份与安全。

知识产权

本工具基于 MIT 许可证开源。所引用的法律法规原文(如《个人信息保护法》) 属政府公开信息,版权归原制定机关,用户应以官方发布版本为准。

使用限制

  • ✅ 允许:作为 AI 应用运行时防护的辅助手段、脱敏预处理、合规体系的一环
  • ❌ 禁止:作为法律证据或合规证明提交监管部门、替代专业法律咨询、 用于规避法律义务、移除本声明后分发

管辖法律

本声明受中华人民共和国法律管辖。因本工具引发的争议,应先友好协商; 协商不成的,提交开发者所在地有管辖权的法院解决。


GDPR 合规护栏系列 · GDPR版 为 AI 应用装上实时合规护栏

Top skills in this category