Files
qiurui cbfe4a23dc feat: info-privacy PII detection service with frame analysis support
- Pipeline: analyze(), redact(), analyze_image() methods
- API: /analyze, /redact, /analyze/frame, /analyze/frame/base64 endpoints
- Detectors: regex, NER, face (RKNN NPU)
- Privacy frame route added for KVM-Privacy Hub integration
2026-02-28 17:33:11 +08:00

3.4 KiB
Raw Permalink Blame History

发布记录

v0.1.1 (2026-02-27)

Bug 修复

  • Regex 边界修复id_card / bank_card 正则将 \b 改为 (?<!\d) / (?!\d),修复中文字符紧邻数字时 PII 漏检问题(Python 3 \b 为 Unicode-aware
  • 身份证/银行卡去重RegexDetector 新增去重逻辑,18 位身份证号不再被同时识别为银行卡,消除实体数量虚增导致阈值误判
  • DOCX 表格单元格遮罩TextRedactor._redact_docx 补全表格单元格遍历,修复隐藏在表格中的 PII 无法遮罩的问题
  • DOCX 表格单元格解析OfficeParser._parse_docx 补全表格单元格遍历,修复表格中 PII 漏检问题

测试增强(155 passed4 skipped

测试文件 新增测试 覆盖内容
test_detectors.py +10 银行卡检测、车牌检测、身份证/银行卡去重、末位X、security_level、多实体同块、NER 组合
test_classifier.py +4 全部 10 个保密关键词(parametrize)、阈值边界(4/5)、中风险不触发警告
test_api.py +5 X-Security-Report 头、xlsx 格式、无 PII 返回 normal、summary 一致性、保密文档返回 403
test_pipeline.py +4 summary 契约验证、无 PII 空实体、多实体触发警告、多类型同时遮罩
test_redactors.py +4 Excel 遮罩、DOCX 表格单元格遮罩、████遮罩字符验证、text层实体不触发图像遮罩

v0.1.0 (2026-02-27)

新功能

API 服务(FastAPI):

  • POST /api/v1/analyze:文档隐私检测,返回 JSON 报告(实体列表 + 分类 + 摘要)
  • POST /api/v1/redact:按指定类型遮罩,返回处理后文档(格式与输入一致)
  • GET /api/v1/health:服务健康检查
  • GET /api/v1/types:支持的隐私类型列表

文档解析(双平台):

  • PDF 文字层解析(pdfminer.six
  • Word / Excel 解析(python-docx / openpyxl
  • 图像 OCRPaddleOCR RKNNRK3588 硬件)
  • Parser Factory 按文件扩展名自动路由

隐私检测:

  • Regex 检测:身份证、手机号、银行卡、邮箱、车牌(共 5 类)
  • 规则词典 NER:中文姓名(姓氏词典 + 上下文)、地址(触发词匹配)
  • 人脸检测:MediaPipe RKNNRK3588 硬件,pipeline 延迟加载)
  • 文档分类前置拦截:保密文件关键词检测,classified 类直接返回 403

遮罩处理(字节级安全):

  • TextRedactor:删除 docx/xlsx 文字节点,字节级安全
  • ImageRedactorOpenCV 黑色矩形覆盖图像层实体
  • 策略自动选择:含文字层 PDF 强制 text_replace,防止文字层泄露

测试覆盖(初始 50 passed4 skipped):

  • 8 个测试文件,覆盖数据模型 / 分类器 / 检测器 / 解析器 / 遮罩器 / 流水线 / API 接口
  • test_simulation.py15 个 RKNN 仿真测试(mock 替换硬件依赖,x86 全量可运行)

支持平台

平台 Python 测试状态
x86 / Ubuntu 22.04+ 3.10 3.12 46 passed4 RKNN skip
RK3588 / Ubuntu 24.04 3.12.3 50 passed(含 RKNN

依赖版本

依赖 版本要求
fastapi ≥ 0.110.0
uvicorn ≥ 0.29.0
pdfminer.six ≥ 20221105
pypdf ≥ 4.0.0
python-docx ≥ 1.1.0
openpyxl ≥ 3.1.0
opencv-python ≥ 4.5.5
numpy ≥ 1.24.0
rknn-toolkit-lite2 2.3.2(仅 RK3588