关于 trustboost Pii Sanitizer
TrustBoost Pii Sanitizer 是用于 AI Agent 流程的多语言个人信息检测与脱敏服务,可在文本发送给 LLM 前移除敏感内容。它提供 MCP 接口,并采用检测后由服务端执行脱敏的方式。
主要功能
- 01检测多语言个人信息与凭据
- 02将匹配内容替换为 [REDACTED]
- 03返回实体、风险类别和安全评分
- 04异常时对整段输入执行脱敏
- 05提供 MCP 工具 sanitize_pii
适用场景
- 01发送文本给 LLM 前清理个人信息
- 02在 Agent 流程中调用脱敏工具
- 03审计脱敏实体和风险评分
- 04处理模型返回格式异常的情况
MCP 相关
它作为 MCP 服务提供 sanitize_pii 工具,供兼容客户端在文本发送给 LLM 前调用。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://api.trustboost.dev/mcpclaude mcp add --transport http trustboost-api https://api.trustboost.dev/mcp{"mcpServers":{"trustboost-api":{"type":"http","url":"https://api.trustboost.dev/mcp"}}}在 Cursor 中打开{"servers":{"trustboost-api":{"type":"http","url":"https://api.trustboost.dev/mcp"}}}在 VS Code 中打开{"mcpServers":{"trustboost-api":{"type":"http","url":"https://api.trustboost.dev/mcp"}}}{"mcpServers":{"trustboost-api":{"serverUrl":"https://api.trustboost.dev/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
1| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| text | string | 是 | 包含待清理潜在 PII 的文本。 |
| tx_hash | string | 否 | 用于付费访问的 Solana tx_hash。50 次免费清理请使用 'TRIAL'。 |
| wallet_address | string | 否 | 用于配额跟踪的 Agent 或钱包标识符。 |
详细介绍
TrustBoost PII 脱敏器
面向自主 AI Agent 流水线的高精度 PII 删除层。 在内容到达大模型提供商之前检测并删除个人身份信息, 支持英语、西班牙语(拉美)、葡萄牙语(巴西/葡萄牙)、德语、 日语、法语、意大利语和韩语。
- 端点:
https://api.trustboost.dev/sanitize - 技术栈: FastAPI · OpenAI
gpt-4o-mini(temperature 0)· Supabase · 通过 Helius 使用 Solana 付款
🛡️ 在线演示 — 无需注册
立即在浏览器中试用 TrustBoost: 👉 https://huggingface.co/spaces/TrustBoost/pii-sanitizer
10 秒内开始试用 — 无需钱包
curl -X POST https://api.trustboost.dev/sanitize/preview \
-H "Content-Type: application/json" \
-d '{"text": "My name is John Doe, email [email protected], SSN 123-45-6789"}'
{
"sanitized_content": "My name is [REDACTED], email [REDACTED], SSN [REDACTED]",
"safety_score": 0.6,
"risk_category": "PRIVATE",
"demo": true,
"requests_remaining": 2,
"next": "https://github.com/teodorofodocrispin-cmyk/TrustBoost-PII-Sanitizer#trial"
}
每个 IP 可免费预览 3 次 · 无需账户 · 无需钱包 · 无需设置。 想要更多?请参阅下方的试用模式 — 使用 Solana 钱包免费进行 50 次脱敏。
按调用付费 — /sanitize/quick(推荐用于 M2M Agent)
面向自主 Agent 的轻量级入口:每次调用支付 0.01 USDC, 无需 TRIAL、无需 tx_hash、无需预付套餐。
curl -X POST https://api.trustboost.dev/sanitize/quick \
-H "Content-Type: application/json" \
-H "PAYMENT-SIGNATURE: <base64-encoded x402 v2 signature>" \
-d '{"text": "Contact John at [email protected], SSN 123-45-6789"}'
- 网络:Base(
eip155:8453,优先)或 Solana(solana:5eykt4...)— 自动检测 - 通过 PayAI facilitator 验证并结算
- 也接受
X-PAYMENT标头(x402 v1,旧版) - 尚未提供文本或付款标头?将返回包含付款说明的标准 x402 v2 402 响应
- 对于 10,000 次以上的调用,预付套餐(149 USDC)的单次调用成本更低
MCP 服务 — 原生集成 Claude、Cursor 和 Windsurf
TrustBoost 可作为 MCP(Model Context Protocol)服务使用。 只需一行即可将其添加到任何兼容 MCP 的 Agent:
{
"mcpServers": {
"trustboost": {
"url": "https://api.trustboost.dev/mcp"
}
}
}
连接后,你的 Agent 可以在将任何文本发送到大模型之前,
自动调用 sanitize_pii:
# Manifest
curl https://api.trustboost.dev/mcp
# Execute
curl -X POST https://api.trustboost.dev/mcp \
-H "Content-Type: application/json" \
-d '{"tool": "sanitize_pii", "input": {"text": "My email is [email protected]"}}'
兼容:Claude Code · Cursor · Windsurf · 任何兼容 MCP 的 Agent
快速开始
curl -X POST https://api.trustboost.dev/sanitize \
-H 'Content-Type: application/json' \
-d '{
"text": "My email is [email protected] and my AWS key is AKIAIOSFODNN7EXAMPLE",
"tx_hash": "TRIAL",
"wallet_address": "your-agent-id"
}'
试用模式(tx_hash="TRIAL")为每个 wallet_address 提供 50 次免费脱敏。
付费模式需要向配置的付款钱包支付 149 USDC(Solana),
每个交易签名可解锁 10,000 次脱敏。
响应架构(v2.6.0)
{
"status": "success",
"request_id": "TRIAL",
"data": {
"message": "Content successfully sanitized and logged.",
"sanitized_content": "My email is [REDACTED] and my AWS key is [REDACTED]",
"safety_score": 0.6,
"risk_category": "CRITICAL",
"entities_removed": true,
"entities": [
{ "type": "email", "category": "PRIVATE", "redacted_text": "[email protected]" },
{ "type": "aws_access_key", "category": "CRITICAL", "redacted_text": "AKIAIOSFODNN7EXAMPLE" }
],
"redaction_source": "server",
"timestamp": "2026-05-03T23:48:14.500705+00:00",
"usage_metrics": { "quota_remaining": 48, "quota_limit": 50 }
},
"billing": { "license_type": "TRIAL", "status": "active" }
}
字段指南
| 字段 | 类型 | 说明 |
|---|---|---|
sanitized_content | string | 与输入语言和结构相同,PII 已替换为 [REDACTED]。 |
entities | Entity[] | 每个 [REDACTED] 标签对应一个元素。稳定且便于机器处理。 |
safety_score | float 0.0 – 1.0 | 服务端确定性计算。 根据 entities 而非模型计算。 |
risk_category | CRITICAL/PRIVATE/SENSITIVE/CLEAN | entities 中存在的最高级别。 |
entities_removed | bool | 便捷字段:当且仅当 entities 非空时为 true。 |
redaction_source | "model" | "server" | "fallback_full_redaction" | 遥测信息:实际执行删除的一方(见下文)。 |
unmatched_entities | Entity[](可选) | 模型报告的实体,但其 redacted_text 在输入中未找到完全匹配项。为空时省略。 |
风险权重
safety_score 是各实体权重之和,上限为 1.0:
CRITICAL→ 0.40(API 密钥、私钥、助记词、凭证、卡号……)PRIVATE→ 0.20(电子邮件、电话号码、国家身份证件号码、地址、姓名……)SENSITIVE→ 0.05(用户名、部分标识符、出生日期……)
risk_category 是至少包含一个实体的最高严重级别;如果 entities 为空,
则为 "CLEAN"。
服务端脱敏强制执行(v2.6.0)
模型会返回两项必须彼此一致的内容:cleaned_text 和
entities。实际使用中,它们有时会不一致——模型可以在 entities 中正确识别实体,
却未能在 cleaned_text 中实际替换它。这会导致 sanitized_content 仍然泄露 PII,
而审计记录却显示一切正常,这比没有审计记录更糟。
v2.2 从结构上解决了这个问题。现在,模型仅作为检测器:它返回实体列表。服务端则是脱敏器:对于每个 redacted_text 是原始输入中非空子串的实体,服务端都会将其所有出现位置替换为 [REDACTED]。为避免部分重叠,较长的实体会先于较短的实体处理。
按设计采用保守脱敏:如果同一值(例如 田中太郎)
在输入中出现两次,这两处都会被清除。
redaction_source 字段会说明具体情况:
"model"— 模型的cleaned_text已与实体列表一致, 因此服务端强制处理没有实际操作(模型完成了任务)。"server"— 服务端强制处理器替换了一个或多个模型未能移除的实体。请随时间跟踪此指标,将其作为模型可靠性的信号:server占比上升意味着提示词或模型的表现正在偏移。"fallback_full_redaction"— 模型返回了格式错误的 JSON;触发了故障保护解析器,并将整个输入作为单个CRITICAL实体进行脱敏。稳定运行时,该情况应接近于零。
如果模型返回的 redacted_text 未在输入中逐字出现(例如改述、规范化或幻觉),该实体仍会保留在
entities 中(并计入 safety_score),但也会返回在
unmatched_entities 中,供调用方审计。
故障模式:故障安全,而非故障开放
如果上游模型返回格式错误的 JSON,响应会降级为一个覆盖整个输入的 CRITICAL 实体,而不是冒着无声泄露的风险。过度脱敏始终优于脱敏不足。
语言和模式
系统提示词涵盖以下内容,包括但不限于:
- 英语(全球): 电子邮件、电话号码、SSN、信用卡、IBAN、IP 地址、地址,以及特定服务提供商的 API 密钥(OpenAI、Anthropic、GitHub、AWS、Google、Slack、HuggingFace、Stripe)、私钥、加密货币钱包、助记词。
- 西班牙语(拉丁美洲): RFC、CURP、CUIT/CUIL、RUT、DNI、RUC、NIT、身份证、各国电话号码。
- 葡萄牙语(巴西/葡萄牙): CPF、CNPJ、RG、NIF、NUS、CEP、各国电话号码。
- 德语(德国/奥地利/瑞士): Personalausweis、税务 ID、社会保险号、德国 IBAN、地址。
- 日语: マイナンバー, 法人番号, 運転免許証, パスポート, 健康保険証, 電話番号, 住所,以及氏名(使用汉字、混合文字、片假名或平假名书写的全名)。
- 法语(法国/比利时/瑞士/加拿大): NIR(Numéro de Sécurité Sociale)、SIRET、SIREN、Carte Vitale、法国 IBAN、Numéro fiscal、各国电话号码 +33/+32/+41。
- 意大利语(意大利): Codice Fiscale、Partita IVA、Carta d'Identità (CIE)、Tessera Sanitaria、意大利 IBAN、Patente di Guida、各国电话号码 +39。
- 韩语(韩国): 주민등록번호 (RRN)、사업자등록번호、여권번호、운전면허번호、건강보험번호、외국인등록번호、各国电话号码 +82。
本地运行
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # then fill in real keys
uvicorn main:app --reload
必需的环境变量:
OPENAI_API_KEYSUPABASE_URL,SUPABASE_KEYHELIUS_API_KEY,PAYMENT_WALLET- 可选:
TRIAL_QUOTA(默认 50)、PAID_QUOTA(默认 10000)、REQUIRED_PAYMENT_USDC(默认 149)
测试
pip install pytest
python -m pytest tests/test_sanitize.py -v # unit tests, no creds needed
TRUSTBOOST_LIVE=1 python -m pytest tests/test_live.py -v # hits real /sanitize
实时测试会消耗 TRIAL 配额;请将 TRUSTBOOST_WALLET 设置为 CI 专用标识符,
以免与开发者钱包共用配额。
版本
- 2.6 — 通过 Helius 在 Solana 上提供净化证明。每次付费净化都会锚定到链上。可通过
/verify/{anchor_tx}验证。原生支持 x402 — 使用 HTTP 402 提供自主支付说明。支持浏览器 Agent 的 CORS。提供 agent-card.json,便于通过 Circle Agent Stack 发现。 - 2.5 — 上下文感知净化、每个 Agent 的隐私预算、TrustBoost M2M 评分。
- 2.2 — 服务端脱敏强制执行、
redaction_source遥测、unmatched_entities审计字段。 - 2.3 — 上下文感知净化:在
/sanitize中添加context字段(legal/financial/medical/code/general)。根据上下文类型调整净化深度。响应中添加context_applied。 - 2.4 — 每个 Agent 的隐私预算:在 Supabase 中添加
agent_budgets表。运营者一次性配置每日限额,Agent 可在限额内自主运行。 - 2.5 — TrustBoost 评分:
/score/{wallet}端点。提供包含信任等级(TRUSTED/VERIFIED/ACTIVE/NEW)的 M2M 信任验证。评分汇总自 audit_log。 - 2.6 — 在 Solana 上提供净化证明:每次付费净化都会通过 Helius Memo 交易锚定到链上。任何人都可以通过
/verify/{anchor_tx}验证。返回带有 Solscan 链接的proof_of_sanitization对象。 - 2.1 — 结构化
entities数组、服务端确定性评分、强化 JSON 解析、改进日文姓名检测。 - 2.0 — 多语言提示词重写。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。