Token导航 LogoToken导航TokenDH.com
Pii Shield logo
文档知识未说明官方级别未说明来源级核验

Pii Shield

MCP Server

本地化处理文档中的个人身份信息(PII),在发送给Claude分析前进行匿名化处理,分析完成后恢复原始数据。

工具数

14

提示词数

0

GitHub Stars

89

资源数

0
安全TypeScriptClaude本地处理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

gregmos

提供方

gregmos

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

🛡️ PII Shield

Anonymize documents before Claude sees them. Restore real data after analysis.

______________________________________________________________________

MCP服务器 克劳德桌面 它在本地读取您的文档,用占位符替换所有个人数据( , ``等),并仅将匿名文本发送给Claude。经过分析,PII Shield将原始数据还原到最终文档中——完全在您的计算机上。 PII从不进入API。

Document ──> [PII Shield on your machine] ──> anonymized text ──> [Claude analyzes] ──> [PII Shield restores] ──> Result
              John Smith  → 
                                                   
 → John Smith
              Acme Corp.  →                                                           → Acme Corp.
v2.0.2是一个完整的Node.js重写版本。 原始Python产品仍然可用——请参阅 v1怎么了? 在......下面

特性

||功能|详细信息| |:-:|---------|---------| | 🔒 | API中的零PII | anonymize_file 读取机器上的文档并仅返回文件路径+会话id。Claude从磁盘读取匿名文件-PII从不输入API请求。 | | 🧠 | GLiNER零样本NER | knowledgator/gliner-pii-base-v1.0 结束 onnxruntime-node + @xenova/transformers (钉扎三元组1.22.0,确定性 npm ci).处理ALL-CAPS、域名、多语言文本。没有Python,就没有PyTorch。 | | 👤 | Human in the Loop评论 |MCP Apps的iframe UI直接在Claude Desktop中呈现。删除误报,添加遗漏的实体——所有事件都会自动更新,无需绕过本地主机浏览器。 | | 📄 | PDF+DOCX+纯文本 | .pdf, .docx (保留格式化+跟踪更改), .txt, .md, .csv纯JS .docx 管道——无需安装Word/LibreOffice即可进行读取、编辑和恢复。 | | 🇪🇺 | 17个欧盟+英国模式识别器 |英国(NIN、NHS、护照、CRN、驾驶执照)、DE(税务ID、社会保障)、FR(NIR、CNI)、IT(财政代码、增值税)、ES(DNI、NIE)、CY(TIC、身份证)、欧盟范围(增值税、护照)——在通用包(电子邮件、电话、IBAN、信用卡、加密货币、美国身份证、医疗执照)之上。共33种实体类型。 | | 🔗 | 实体重复数据删除 |“Acme”→ `“Acme公司”→ “Acme公司”→ .规范形式选择一次;每个变体在去匿名化上都映射回相同的真实值。 | | 💾 | **跨会话去匿名化** |每个匿名 .docx 携带其 session_id 在Word自定义属性中。几周后,在一个全新的聊天中,将文件放入并 deanonymize_docx 从嵌入的id中恢复PII——无需记忆。 | | 📦 | **多文件会话** |将N个相关文档匿名化 session_id;相同的实体在文件之间共享相同的占位符。一 deanonymize_text / deanonymize_docx 呼叫可以在任何地方恢复PII。 | | 🤝 | **团队交接** | export_session(passphrase) 将映射+匿名文档打包成加密文件 .pii-session 存档(通过scrypt的AES-GCM)。同事跑步 import_session 使用密码短语,PII永远不会传输。 | | 📊 | **审核日志记录** |每个工具调用+响应都记录在本地 ~/.pii_shield/audit/mcp_audit.log`.NER引导跟踪、会话生命周期、删除stderr——所有这些都在磁盘上、可追加、网络外|

快速开始

先决条件

  • 克劳德桌面 (任何最新版本)
  • Windows或Linux:Claude Desktop提供了一个兼容的Node运行时环境。无需单独安装。
  • macOS:macOS .mcpb 下面捆绑了自己的Node 24.15.0。无需单独安装。

无终端命令。无需提前下载模型。 PII Shield通过您首次匿名时出现的面板处理聊天中的模型安装。

第一步——下载人工制品

选择 .mcpb 对于您的操作系统和技能包:

文件内容操作系统
pii-shield-v2.0.2-windows-linux.mcpb约700 KB--使用主机节点Windows/Linux
pii-shield-v2.0.2-macos.mcpb约83 MB--捆绑节点24.15.0macOS (臂64+x64)
pii-contract-analyze.skill~25 KB——合约分析技能任意

步骤2——安装MCP扩展

克劳德桌面→ 设置→ 扩展→ 高级设置→ 安装扩展 → 选择你的 .mcpb.

在第一个工具调用PII Shield时运行 npm ci --ignore-scripts 安装一组固定的、确定性的运行时deps(onnxruntime-node, @xenova/transformers, gliner)进入 ~/.pii_shield/deps/installs//每台机器2-3分钟一次,之后立即进行。

第三步——上传技能

克劳德桌面→ 定制→ 技能→ + → 上传技能 → 选择 pii-contract-analyze.skill.

该技能精心策划端到端的合同匿名化+分析流程——克劳德用它来驱动 anonymize_file → HITL评论→ 分析→ deanonymize_docx 没有你把每一步都拼出来。

第四步——使用它

  1. 在Claude Desktop中启动新对话
  2. 选择 pii合同分析 技能
  3. 连接文件夹 包含您的文档(单击文件夹图标)
  4. 告诉克劳德你需要什么:
Analyze risks for the purchaser in contract.pdf and prepare a short memo

首次运行安装面板

当你第一次要求Claude匿名化任何东西时,PII Shield注意到NER模型还没有在磁盘上,并打开了一个 在聊天安装面板中。您看到两个按钮:

  1. 下载型号 --打开默认浏览器,下载 gliner-pii-base-v1.0.zip (约634 MB)。浏览器处理传输(未签名的脚本没有Defender/SmartScreen问题)。
  2. 安装下载的ZIP --PII Shield在您的Downloads/OneDrive/Desktop/Documents文件夹中查找ZIP,验证它,并将其原子提取到 ~/.pii_shield/models/,并重新初始化NER。匿名化会自动继续。

没有终端,没有脚本。后续运行将完全跳过该面板。

⚠️ 不要将文件直接附加到匿名化。 当你附加一个文件时,Claude Desktop会在API请求中发送其内容——Claude会在PII Shield处理之前看到原始数据。 连接文件夹 相反,Claude只获取文件路径并调用 anonymize_file 当地。

隐私架构

文件路径随机会话ID 流经API。所有匿名化和恢复都在本地进行。

阶段发生了什么API中的PII?
匿名化服务器读取主机上的文件,将匿名文本写入磁盘,返回 output_path
克劳德读克劳德匿名阅读 .txt --只看到占位符
审查用户评论MCP Apps iframe中的实体(在Claude Desktop中呈现)
重新匿名化服务器在内部应用用户更正
去匿名化服务器将还原的文件写入磁盘,仅返回路径
交付Claude为用户提供文件路径。从不读取还原的文件。

Human in the Loop评论

匿名化后,Claude提供了一个直接在Claude Desktop中呈现的审核步骤,通过 MCP应用程序:

  1. 克劳德打电话来 start_review --Claude Desktop在对话中打开一个面板
  2. 完整文档 颜色编码实体高亮显示
  3. 删除误报 --单击任何实体(删除所有引用)
  4. 添加遗漏的实体 --选择文本,选择类型(添加所有引用)
  5. 批准 --克劳德打电话来 apply_review_overrides,服务器会根据您的更正重新匿名

无需本地主机web服务器,无需绕过浏览器——UI是一个Vite单文件iframe,作为Claude Desktop的 ui:// MCP资源。

跨会话去匿名化

每个匿名 .docx PII Shield写带有它的 session_id Word内部自定义文档属性(docProps/custom.xml).稍后,在全新的聊天中,您可以:

  1. 删除匿名 .docx 放入一个连接的文件夹中——不需要记住会话id,没有占位符的屏幕截图,什么都不需要。
  2. 请Claude“恢复此文件中的PII。”
  3. PII盾牌 deanonymize_docx 读取嵌入式 session_id,在中查找映射 ~/.pii_shield/mappings/,并将恢复的文件写入输入旁边。

地图实时发布于 ~/.pii_shield/mappings/ --根相同 models/, deps/,以及 audit/根目录在插件升级后仍然有效 /plugin remove 因为它在用户的主目录中,而不是Claude Desktop的每个插件的目录中 CLAUDE_PLUGIN_DATA (无论如何,MCPB插件都没有设置)。

基于时间的TTL由以下控制 PII_MAPPING_TTL_DAYS (默认值: 7天)--服务器会清理比启动时更早的映射。用它来处理更长久的事情(PII_MAPPING_TTL_DAYS=90等)通过克劳德桌面→ 扩展→ PII屏蔽→ 设置。如果在尝试去匿名化时缺少映射, deanonymize_docx 返回一个干净的错误,并提示 import_session (请参阅下面的团队切换),而不是默默地跳过实体。

平原 .txt / .md 输出没有嵌入元数据的地方,因此 deanonymize_text 工具采取 session_id 明确地作为一个论点。

多文件会话

将多个相关文档匿名化 session_id:

  1. 第一通电话: anonymize_file(path_A) --服务器返回 session_id=SID123.
  2. 第二次通话: anonymize_file(path_B, session_id="SID123") --PII Shield扩展了相同的映射。两个文件中的相同实体共享 相同的占位符 (Acme Corp. 成为 `` 两者都有)。
  3. 您在Claude中编写了一份备忘录,其中混合了两个文件中的占位符。
  4. deanonymize_text(..., session_id="SID123") 调用备忘录可以恢复各地的个人身份信息。

pii-contract-analyze 当用户上传N≥2个文件并确认它们属于一个事项时,技能会自动驱动此操作。看 plugin/skills/pii-contract-analyze/references/bulk-mode.md 对于完整的决策树。

团队交接——导出/导入会话

如果同事需要在不共享个人身份信息的情况下处理相同的文档:

  1. 你打 export_session(session_id, passphrase) --服务器将映射+匿名文档打包成加密文件 .pii-session 存档(AES-GCM,密钥通过scrypt从密码中导出)。
  2. 发送给他们 .pii-session 文件(电子邮件、Slack、拇指驱动器——没有密码就没用了)。
  3. 他们叫 import_session(path, passphrase) 在他们的机器上——地图就在他们的脚下 ~/.pii_shield/mappings/ 他们现在可以 deanonymize_docx 当地。

PII永远不会在运输过程中留下匿名文件。存档格式已进行版本控制(.pii-session v1),因此未来的模式更改将保持可读性。

MCP工具

工具说明
anonymize_file在文件(.pdf、.docx、.txt、.md、.csv)中匿名化PII。退货 output_pathsession_id.
anonymize_next_chunk处理大型文档的下一块。反复呼叫,直到完成。
get_full_anonymized_text完成分块匿名化。退货 output_path, session_id, docx_output_path.
start_review打开对话回顾面板。
apply_review_overrides应用审阅者更正并重新匿名。
deanonymize_text还原PII——写入本地文件,仅返回路径。
deanonymize_docx在.docx中还原PII,保留格式和跟踪的更改。
get_mapping获取占位符键和实体类型(没有实际值)。
list_entities服务器状态、支持的实体类型、最近的会话。
resolve_path通过标记文件实现零配置路径解析(将VM路径映射到主机路径)。
find_file在配置的工作目录中按名称查找文件。
scan_text在不匿名的情况下检测PII(预览模式)。
export_session / import_session可移植性——在主机之间传递会话。

技能模式

包括 pii-contract-analyze 技能支持:

模式描述
备忘录带有风险评估的法律分析备忘录
红线使用Word本机修订标记跟踪更改
摘要关键条款和义务概述
比较两份文件的并排差异
批量最多处理5个带有前缀占位符的文件
仅匿名只是匿名,没有分析

检测到的实体类型

权威列表为 nodejs-v2/src/engine/entity-types.ts (SUPPORTED_ENTITIES).

NER基础 (ONNX运行时上的GLiNER零样本): PERSON, ORGANIZATION, LOCATION, NRP

基于通用模式: EMAIL_ADDRESS, PHONE_NUMBER, URL, IP_ADDRESS, ID_DOC, CREDIT_CARD, IBAN_CODE, CRYPTO, MEDICAL_LICENSE

美国: US_SSN, US_PASSPORT, US_DRIVER_LICENSE

英国: UK_NHS, UK_NIN, UK_PASSPORT, UK_CRN, UK_DRIVING_LICENCE

欧盟范围: EU_VAT, EU_PASSPORT

特定国家: DE_TAX_ID, DE_SOCIAL_SECURITY, FR_NIR, FR_CNI, IT_FISCAL_CODE, IT_VAT, ES_DNI, ES_NIE, CY_TIC, CY_ID_CARD

总共33种类型(4种NER+29种基于图案)。

日志

日志位置目的
审计~/.pii_shield/audit/mcp_audit.log每一次工具调用和响应。证明只有路径和会话ID通过API。
Ner热~/.pii_shield/audit/ner_init.logBootstrap跟踪-解析根/变压器/闪烁器的ORT路径、健全性检查结果、安装时间。
服务器~/.pii_shield/audit/pii_shield_server.log节点MCP服务器进程的stdout/stderr。

发展

所有代码都存在于 nodejs-v2/。从该目录:

# Install exact-pinned dev deps
npm ci --ignore-scripts --legacy-peer-deps

# Type-check
node node_modules/typescript/bin/tsc --noEmit

# Build the thin .mcpb (Windows / Linux + darwin via platform overrides)
npm run build:plugin

# Also build the darwin-universal .mcpb (downloads Node 24.15.0 arm64 + x64)
npm run build:plugin:mac

# MCP protocol smoke test
npm run smoke

# Focused clean-install smoke for the sharp shim + transformers + gliner
npm run smoke:sharp-shim

Project structure

PII-Shield/
├── nodejs-v2/                                        # The product
│   ├── src/
│   │   ├── index.ts                                  # MCP tool handlers
│   │   ├── engine/ner-backend.ts                     # GLiNER + ONNX runtime boot
│   │   ├── docx/ pdf/ mapping/ audit/                # Document pipelines
│   │   └── portability/                              # session export/import
│   ├── plugin/
│   │   ├── build-plugin.mjs                          # thin .mcpb builder
│   │   ├── build-mac-binary.mjs                      # darwin-universal .mcpb builder (bundles Node 24.15.0)
│   │   └── skills/
│   │       ├── pii-contract-analyze/                 # canonical skill source (SKILL.md + references/*.md)
│   │       └── pii-contract-analyze.zip              # release artefact — auto-rebuilt from the source dir by build-plugin.mjs
│   ├── scripts/
│   │   ├── smoke-protocol.mjs                       # MCP protocol round-trip smoke
│   │   ├── smoke-setup-panel.mjs                    # Setup-panel + install-tool smoke
│   │   └── smoke-sharp-shim.mjs                     # Clean-install sharp-shim smoke
│   ├── manifest.json                                 # MCPB manifest (server.type=node)
│   └── package.json
├── .github/workflows/test.yml                        # Node CI (ubuntu + windows + macos, Node 18 + 20)
├── LICENSE
└── README.md

故障排除

问题解决方案
第一次运行很慢第一次通话很慢 npm ci 进入 ~/.pii_shield/deps/ (约2-3分钟)。后续运行是即时的。
安装面板显示“找不到ZIP”单击面板的 下载型号 按钮第一。浏览器保存到 ~/Downloads 默认情况下;PII Shield还扫描OneDrive变体、桌面和文档。如果您的浏览器保存在其他位置,请设置 设置→ 扩展→ PII屏蔽→ 模型下载文件夹 然后再次单击“安装”。
安装面板根本不出现面板需要Claude Desktop≥0.10(渲染 ui:// 资源)。对于年长的房东,请克劳德打电话 start_model_setup 直接,或检查 ~/.pii_shield/audit/pii_shield_server.log.
Unsupported model IR version: 9 老的 onnxruntime-node 缓存。删除 ~/.pii_shield/deps/ --下一次运行将使用固定的1.22.0三元组重新安装。
Cannot find module '../build/Release/sharp-*.node'sharp 您的平台没有本机插件。PII屏蔽垫片截距 sharp 加载(纯文本NER不使用它)。如果你仍然看到这个,那么你使用的是较旧的版本——升级到v2.0.2。
macOS:安装后服务器立即断开连接确保您已安装 pii-shield-v2.0.2-macos.mcpb,不 windows-linuxMac版本捆绑了自己的Node,以避免克劳德桌面达尔文主机运行时启动错误。
查看面板空白检查 ~/.pii_shield/audit/pii_shield_server.log MCP应用程序资源错误。Claude Desktop版本\<0.10无法渲染 ui:// 资源。
工具未出现重新启动Claude Desktop或发送任何消息——重新连接时工具列表会刷新。

v1怎么了?

v1.0.0是一个基于presidio+SpaCy+GLiNER/py构建的Python MCP服务器,作为 .dxt 捆绑。它仍然可用:

  • 标签 v1.0.0 --固定源。
  • 分支 python-legacy --Node.js重写前的完整树。

v2是一个完整的架构重置——Node.js,纯js .docx,MCP应用程序UI,精简 .mcpb --升级不会减少。

致谢

PII Shield建立在优秀的开源项目之上:

作者

格里戈里 莫斯卡列夫领英

许可证

麻省理工学院

目录标签

目录标签

安全TypeScriptClaude本地处理数据隐私本地部署文档处理个人信息保护AI安全

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

14

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP