Presidio 介绍
了解工具的详细功能和使用方法
把客服消息交给模型前,先移除邮箱、业务账号等敏感字段,是 Presidio 常见的接入位置。它提供可扩展的识别和转换组件,适合愿意维护规则、模型与测试集的开发团队。识别结果依然可能误报或漏报,部署完成只是验证的起点。
Presidio 现在由谁维护?
截至 2026-10-18,官方说明项目正从 Microsoft 旗下迁往独立、由社区治理的 Data Privacy Stack,继续使用 MIT 许可。当前应从 Presidio 文档及新 GitHub 仓库进入;旧链接可能重定向。新容器版本发布到该组织的 GHCR,旧 MCR 镜像不再更新,维护已有部署时要单独核对镜像来源、标签和摘要。迁移公告
能放进哪些 AI 工作流?
模型调用之前
在应用拼接提示词前扫描选定的文本,用类型占位符替换已识别的值,再调用模型。需要同时检查历史对话、检索片段、工具返回和附件提取结果。只过滤用户当前输入,无法覆盖其他数据入口。
RAG 入库之前
对解析后的文本做识别与处理,再建立向量索引。源文件、OCR 临时文件、分块副本、元数据和旧索引仍要按自己的保留策略处理。删除文本中的邮箱,不会自动删除文档属性里的作者信息。
日志与评估数据整理
把合成样本和经过审批的数据集用于回归,记录规则版本、实体类型和命中数量。不要为了排查脱敏错误,把完整原文、命中值和请求体写到普通日志里。保留原文做人工复核时,应采用独立受控的存储和访问流程。
核心组件怎么分工?
| 组件 | 主要作用 | 需要自己验证的部分 |
|---|---|---|
| Analyzer | 通过 recognizer 识别文本实体与位置 | 语言、实体、分数阈值和边界 |
| Anonymizer | 对识别出的区间应用替换等 operator | 重叠、替换策略和语义保留 |
| Image Redactor | 结合 OCR 处理图片中的敏感内容 | OCR 漏字、框选范围和底层图像 |
| Structured | 处理结构化及半结构化数据 | 字段语义、嵌套结构和导出结果 |
这些组件并非同一个开箱即用的文档安全服务。文本、图片和结构化数据需要不同的接入与验收。参考 Analyzer 与 Anonymizer 文档。
中文与自定义规则的边界
官方多语言说明指出默认配置含英语 recognizer 和模型。扩展语言时,要配置适合的 NLP engine,并适配相应 recognizer。邮箱格式能在一段中文消息中被正则匹配,不代表系统已经能可靠识别中文姓名、住址或所有证件号码。多语言说明
业务编号适合先用明确定义的规则:确定前缀、长度、校验方式及上下文,然后加入相似订单号、产品编号等负例。人名、地址和自由描述更依赖语境;不要给每种实体照搬同一个分数阈值。框架产生的 score 也不应被解释为业务上的安全概率。
免费和实际成本
MIT 许可的软件费用为 $0,这不是一个包含服务器、模型、存储和支持的免费托管套餐。实际预算至少包括部署计算、语言模型资源、规则维护、测试集标注、升级回归和异常复核。接入远程 recognizer 或外部模型时,还要核算其费用与数据流向。
如果团队缺少模型与规则维护能力,可以比较 Presidio vs Limina;如果主要在 Google Cloud 上做内容检测和存储数据治理,可以看 Google Sensitive Data Protection 对比。
适合与不适合的团队
适合需要本地处理、扩展业务实体、控制转换策略,并能持续维护回归集的团队。起步时先选一个文本入口和少数实体类型,明确失败时阻断、人工复核还是降级,逐步扩展。
如果预期安装一个库就能自动满足所有语言、附件格式和合规要求,Presidio 的交付边界会超出这个预期。加密、散列、替换和匿名化也有不同含义;保留映射或可恢复密钥时,要继续保护这些材料。
本文依据官方文档整理,并对配套教程的固定自定义规则做本地合成样本测试,未运行生产数据准确率、安全或合规基准。可以从 误报、漏报与脱敏验证教程开始。