Alcatraz: 纯 Go 实现的 PII 检测
作为 hoop.dev 团队在做运行时代理控制的时候,我们一直面对一个尴尬的技术选型:产品全链用 Go,但 PII 检测却依赖 Python 生态的 MS Presidio。这不是纯粹的语言偏好问题,而是性能上的硬伤——每次调用 Presidizan 都会引入 Python 解释器启动、依赖加载、序列化反序列化的开销,导致实时数据脱敏变得 sluggish。
下一篇
Mistral 开源多模态内容审核模型 Shieldstral →
去年 OpenAI 发布 Privacy Filter 的时候,我们注意到社区在结构化识别与自然语言 PII 之间的处理差异。信用卡号、SS-N 这类结构化标识有明确格式和校验算法,可以通过正则 + 校验位快速匹配;但姓名、地址这种非结构化文本,才是真正需要 NLP 模型能力的地方。
Alcatraz 就是我们应对这种场景设计的产物。它不试图重新造一个 Python 版 Presidizan,而是专注于:在 Go 进程内完成从结构化标识到自然语言 PII 的检测,避免跨语言调用开销。目前支持 45 种实体类型,覆盖美国、巴西等 12 个国家/地区的常见格式。
和 MS Presidizan 做 lib-to-lib benchmark,密集文档场景下大概快 13 倍,短文本甚至能达到 100 倍。这个差距来自两个层面:首先是语言本身的性能优势;其次是架构上摒弃了 Python 的动态加载机制,直接编译进二进制。
项目仍在积极开发中,欢迎前去 github.com/hoophq/alcatraz 提 Issues 或 PR。