关于 EU PII Redaction
EU PII Redaction 是面向 LLM 工作流的欧盟个人数据脱敏工具,提供 Python、LangChain 集成和 MCP 服务。它可识别多类标识符,并支持文件脱敏后离线恢复。
主要功能
- 01识别姓名、国家证件号等数据
- 02校验 IBAN、银行卡及增值税号
- 03同一人物使用一致占位符
- 04支持文本脱敏与原值恢复
- 05直接处理文件并保存映射
适用场景
- 01发送提示词前隐藏个人数据
- 02脱敏文件且不将内容放入对话
- 03将回复中的占位符恢复为原值
MCP 相关
MCP 服务向客户端提供文本脱敏、文件脱敏和文件恢复工具。文件内容由服务本地读写,仅返回计数等信息;恢复可离线完成。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| mode | enum | 否 | "label" 会替换为 [TYPE_n] 占位符,"mask" 会替换为星号。label | mask |
| text | string | 是 | 要脱敏的文本。 |
| types | any | 否 | 仅使用这些类型;默认使用全部类型。 |
详细介绍
eu-pii-redact
阻止欧洲个人数据进入大模型提示词和日志,并在答案中还原这些数据。 适用于 EU PII Redaction API 的 Python 客户端、LangChain 集成和 MCP 服务。 无需注册即可在线试用 · 快速入门 · 隐私和数据处理
Hi, my name is Karina Dahl. I was charged twice for order 88412.
Please refund to DK50 0040 0440 1162 43 or call me on +45 32 12 34 56.
Karina
变为
Hi, my name is [PERSON_1]. I was charged twice for order 88412.
Please refund to [IBAN_1] or call me on [PHONE_1].
[PERSON_1]
- 姓名依据上下文识别,而非大写字母:头衔、问候语、角色、
Name:标签、落款,或来自 14 万个欧洲姓名中的名字。“Best Practices”和“Court of Justice”会保持原样。 - 来自 21 个 EU/EEA 国家的国民身份号码,通过校验位和出生日期验证(personnummer、HETU、DNI/NIE、codice fiscale、NIR、PESEL、BSN、CPR,……)。
- IBAN(mod-97)、银行卡号(Luhn)、EU VAT 号码、电子邮箱、电话号码(带 + 前缀)、IP。
- 同一个人的每次提及都使用同一占位符;订单号和发票号不受影响。
你需要一个订阅了该 API 套餐的 RapidAPI 密钥。
免费套餐每月提供 500 次请求。
将其设为 RAPIDAPI_KEY。
Python
pip install eu-pii-redact
from eu_pii_redact import Redactor
with Redactor() as r: # reads RAPIDAPI_KEY
redaction = r.redact(ticket)
reply = ask_llm(redaction.text) # the model only sees placeholders
print(redaction.restore(reply)) # real values back in the answer
redaction.entities 会列出每项检测结果及其类型、在原文中的偏移量和占位符(国民身份号码还包含 country 和 scheme)。超过 50,000 个字符的文本会分段发送,并使用一致的占位符。r.redact(text, types=["EMAIL", "IBAN"], mode="mask") 会用星号遮盖内容。
LangChain
pip install "eu-pii-redact[langchain]"
from eu_pii_redact.langchain import protect, PIIRedactionTransformer
safe_llm = protect(llm) # any model or chain that takes a string
safe_llm.invoke("Draft a reply to Karina Dahl about her refund to DK50 0040 0440 1162 43")
# the model sees [PERSON_1] and [IBAN_1]; the returned message has the real values again
docs = PIIRedactionTransformer().transform_documents(docs) # e.g. before indexing for RAG
MCP 服务
允许 AI 助手脱敏文本,更重要的是,无需读取文件即可脱敏文件:
redact_file 会自行读取并写入文件,只报告数量,因此个人数据不会进入对话。restore_file 会在本地还原原始值。
| 工具 | 功能 |
|---|---|
redact_text | 脱敏文本;返回脱敏后的文本和实体(不含原始值) |
redact_file | 将 UTF-8 文件脱敏并写入新文件;写入还原映射(仅所有者可访问) |
restore_file | 使用映射离线还原文件中的原始值 |
Claude Desktop(一键安装): 从最新版本下载 eu-pii-redact-0.1.0.mcpb 并打开,按提示粘贴你的 RapidAPI 密钥。打包文件的源文件位于 mcpb/。
Claude Code
claude mcp add eu-pii-redact -e RAPIDAPI_KEY=your-key -- uvx eu-pii-redact
Claude Desktop / Cursor / 其他宿主(mcpServers 配置)
{
"mcpServers": {
"eu-pii-redact": {
"command": "uvx",
"args": ["eu-pii-redact"],
"env": { "RAPIDAPI_KEY": "your-key" }
}
}
}
Postman
从 EU PII Redaction 工作区分叉公开集合(或导入 postman/eu-pii-redact.postman_collection.json),设置集合变量 rapidapi_key,然后发送:
四个请求,附带示例响应和内置测试。
限制
该工具基于规则,因此速度快(处理 50,000 个字符约需 0.1 秒)且结果可预测: 目前还无法识别街道地址;电话号码需要国际前缀;没有任何线索且姓氏是英文单词的姓名(“Will Smith”)会被有意漏检。请将其作为强大的第一道防线,而非合规保证。
许可证
此客户端包采用 MIT 许可证。API 本身是托管服务。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。