UStackUStack
Noirdoc icon

Noirdoc

Noirdoc 是开源 Claude Code 的 PII guard:在本地先脱敏并用可逆映射恢复原值,避免真实数据进入 Claude 上下文。

Noirdoc

Noirdoc 是什么?

Noirdoc 是 Claude Code 的开源“PII 防护”工具,在数据到达 Claude 前进行假名化处理,然后以用户控制的方式恢复原始值。其核心目的是防止真实姓名、邮箱、IBAN 和其他检测到的标识符进入 Claude Code 上下文,同时您进行工作。

本页还介绍了相同底层方法通过其他入口提供:用于任何 LLM 工作流的本地 CLI 脱敏文档,以及清洗 OpenAI、Anthropic 和 Azure API 调用的托管代理。

主要特性

  • Claude Code 的 PreToolUse 脱敏:钩子在 Claude Code 读取前脱敏受保护文件,确保真实值不进入 Claude 上下文。
  • 本地检测和处理:检测和假名化在您的机器上运行;本页声明无任何 API 调用离开您的机器“甚至不发给我们”。
  • 本地可逆映射与还原:处理后自动恢复假名化输出;您可在终端运行 noirdoc reveal 查看原始值。
  • 通过路径规则配置保护:Glob 模式(例如 ./incoming/***.contract.*)决定哪些文件进行假名化;其他文件保持不变。
  • 本地存储映射:插件将假名化副本保存在 .noirdoc/cache/,并本地保留可逆映射(行为取决于 CLI 示例中的“one-shot”与“persistent”模式)。

如何使用 Noirdoc

  • 安装 Claude Code 插件

    1. 添加到 Claude Code 市场:/plugin marketplace add nextaim-de/noirdoc-claude-plugin
    2. 在 Claude Code 内安装:/plugin install noirdoc@nextaim
    3. 在 Claude Code 中打开或读取受保护文件;插件在 Claude 看到前脱敏检测项。
  • 工作流后本地还原原始值

    • 在您自己的 shell 中运行 noirdoc reveal 查看原始值。本页强调还原发生在 Claude Code 记录之外。
  • 用于本地文档工作流的 CLI

    • 安装:pip install noirdoc
    • 示例 one-shot 往返:将文件脱敏到清洁输出,然后使用输出文件还原。
    • 示例 persistent 模式使用命名空间,以便映射跨命令复用。

使用场景

  • 在 Claude Code 中处理含个人信息或账户标识的文档:保护包含真实姓名、邮箱、IBAN 或 ID 的文件,让 Claude Code 收到占位符而非原始值。
  • 批量脱敏收到的合同或文书:使用路径/glob 规则仅假名化特定文件夹(例如 incoming 目录)或文件类型(例如 *.contract.*),其他文件不变。
  • 控制性审查还原答案:保持 Claude Code 对话“清洁”,然后在您自己的终端运行 noirdoc reveal 按需恢复原始值。
  • 通过 CLI 集成到非 Claude LLM 工作流:使用 noirdoc 本地脱敏 PDF、DOCX 和纯文本,然后使用一致占位符翻译响应。
  • 团队 LLM API 请求清洗:使用托管代理(或本页所述自托管版本),只需两行集成即可清洗每个 OpenAI/Anthropic/Azure API 调用。

常见问题

  • Noirdoc 会将我的数据发送给第三方吗? 本页声明检测本地运行,且无任何 API 调用离开您的机器“甚至不发给我们”。

  • Claude Code 运行期间敏感值如何处理? 插件在 Claude Code 传递前本地假名化输入,用占位符替换姓名、IBAN 和 ID。

  • 我能取回原始值吗? 可以。插件自动恢复响应,您可在自己的终端(Claude Code 记录外)运行 noirdoc reveal 查看原始值。

  • 如何选择哪些文件受保护? 本页描述使用 glob 模式的路径规则自动决定哪些文件假名化。

  • Noirdoc 有多种使用方式吗? 有:本页描述三种入口——Claude Code 插件、通用文档工作流的本地 CLI,以及 API 调用的托管代理(可选自托管)。

替代方案

  • 手动预处理文档(提示前脱敏):您可以在发送文本给 LLM 前自行脱敏敏感字段,但必须手动管理占位符一致性和恢复。
  • 通用数据丢失防护 (DLP) 或内容过滤工具:这些工具可帮助防止敏感数据共享,但可能不提供针对 Claude Code 工作流的 reversible placeholder mapping 和响应恢复。
  • 其他 LLM “PII 遮罩” 中间件:此类替代方案通常在请求前遮罩敏感字符串;您需比较其集成方式(插件 vs 代理 vs 中间件)以及是否支持 reversible mappings 和本地工作流。
  • LLM API 的自托管代理解决方案:如果主要需求是 API 清洗,基于代理的方法可集中控制,而 Claude Code 插件则专注于 Claude Code 内部的本地处理。