SuperAPI AI 工具集

pii_anonymizer_presidio

安全与审计

查看项目

更新于 10-15 20:33

技能介绍

用途:作为日志中间件,在任何数据导出到外部系统(Loki、Jaeger、Grafana 等)之前,以及在将 OCR 提取的文本字段持久化到审计库之前,自动检测并替换个人身份信息(PII),帮助满足 GDPR 合规要求。

主要能力:Presidio 分析文本中的 PII(如姓名、DNI、出生日期、IBAN、邮箱),用 token 替换后再写入日志或任何二级存储。可配置检测实体:PERSON、ID_NUMBER、DATE_TIME、IBAN_CODE、EMAIL_ADDRESS、PHONE_NUMBER。

使用方式:安装依赖 pip install presidio-analyzer presidio-anonymizer;下载 spaCy 模型:python -m spacy download es_core_news_lg(西班牙语)和 en_core_web_lg(英语)。在 backend/core/privacy.py 中初始化 AnalyzerEngine 与 AnonymizerEngine,并实现匿名化函数:results = analyzer.analyze(text=text, language=language),返回 anonymizer.anonymize(text=text, analyzer_results=results).text。随后在 structlog 中添加自定义 processor,对每条日志的 message 字段调用该函数。对 OCR 字段(姓名、DOB、证件号)应在写入 PostgreSQL 的 INSERT 之前处理。

适用场景:日志记录流程、外部数据导出、OCR 文本入库前处理。

限制:Presidio 完全离线运行,不向任何外部服务发送数据。西班牙语以 spaCy 模型最精确;生产环境追求性能可用 es_core_news_sm。MRZ 与 embeddings 字段绝不能进入日志,需在匿名化层之前过滤。安装、模型、配置与代码示例均来自资料,价格与平台等未提供。