脱敏方法与残留检查
简答: 安全脱敏分四步:删除文字与隐藏文字层,覆盖扫描图像的像素,用 pikepdf 从头重写文件并清除隐藏数据,再重新打开输出文件做 8 项残留检查。被删除的内容只在内存中用于比对,不写入任何报告。
处理步骤
- 文字层:删除目标区域的文字字符,以及该区域下的不可见识别文字。
- 图像:覆盖扫描图像中对应区域的像素;完全被覆盖的矢量图形被移除。
- 标记:画黑框,或带「已脱敏」标签的框。
- 重写:用 pikepdf 把文件从头重写。不保留旧的增量版本,不保留文档信息和 XMP,不保留附件、JavaScript、表单、注释、书签、结构化标签文字和缩略图;JPEG 数据流去掉 EXIF、XMP 和注释段。
残留检查
保存后重新打开输出文件,用被删除的内容逐项比对:
- 页面文字与隐藏文字层;
- 扫描图像像素(对处理过的区域重新识别);
- 文件对象中的字符串与数据流(多种编码);
- 文档信息与 XMP 元数据;
- 注释、表单、附件、脚本、书签;
- 图片内嵌 EXIF / XMP / 注释;
- JBIG2 共享符号字典(出现时只提醒);
- 历史版本(增量保存)。
每项结果为通过、提醒或失败,写入保存横幅和操作记录。
识别范围
内置检测器覆盖 17 类号码,能校验的按校验位或日期校验。完整列表见安全脱敏,规则可以在证件号格式测试中试用。
已知限制
- 识别依赖 OCR。扫描质量差时号码可能识别错误,校验位不成立的不会被当作证件号;请对重要文件人工复核。
- JBIG2 压缩的黑白图像可能在多页之间共享字形,出现时会提醒。
- 内置规则不识别姓名、地址等自由文本,需要你添加自定义关键词。
- 脱敏只处理文件内容,不处理文件名和邮件正文。