一份要发给外部供应商的合成报价单(扫描件 + 员工清单),发送前的检测与清理全记录。
视觉遮盖(Visual masking):在正文上画一个黑色矩形。看起来盖住了,但在很多 PDF 阅读器里,选中复制、文本提取甚至"打印为图像"之外的方式仍可能拿到盖住下面的文字。
永久脱敏(Redaction):把内容从文档里真正移除(文本层 + 图像层一并处理),移除后无法通过复制、搜索、提取恢复。
本案例的 10 处敏感信息用的是 Redaction。处理后在导出的副本上验证:搜索"身份证"无结果、复制整页无证件号片段——这个验证步骤应在每次脱敏后做一遍。
| 项 | 数 | 说明 |
|---|---|---|
| 共发现 | 14 | 敏感信息 10 · 隐藏内容 2 · 元数据 1 · 印章 1 |
| 已永久脱敏 | 10 | Redaction,导出后验证不可恢复 |
| 已清理 | 3 | 注释压平移除 + 元数据清除 |
| 已保留(附理由) | 1 | 骑缝章为装订凭证 |
| 待确认 | 0 | — |
导出物:安全交付版 PDF(脱敏 + 清理后的新副本)+ 检查报告。原文件未覆盖。发送前仍建议人工抽查一遍敏感区域——工具降低风险,但不替代你的最终确认。
永久脱敏(Redaction)做完必须在导出副本上验证,而不是只看画面。本案例的验证动作:
| 验证 | 方法 | 结果 |
|---|---|---|
| 搜索验证 | 在导出副本搜索"身份证""银行""身份证号"等关键词 | 0 命中 |
| 复制验证 | 整页选择复制,粘贴到纯文本编辑器检查片段 | 无证件号/账号片段 |
| 注释层验证 | 检查导出副本注释面板与注释计数 | 注释层为空 |
| 元数据验证 | 查看文档属性(Info Dictionary 与 XMP) | 作者/公司/标题已清除 |
这个案例没有覆盖的情况:手写批注的识别率低于印刷体;盖章区域若与正文粘连,清理可能影响正文完整性——本案例的骑缝章装订边无关键正文,因此选择保留。每次处理前应确认授权,并知悉清理可能影响文件的法律效力。
对外发送任何 PDF 之前,按这五类过一遍。本例中每一类都有命中,说明这类检查不是理论风险:
| 类别 | 检查什么 | 本例命中 |
|---|---|---|
| 敏感信息 | 身份证号、手机号、银行账号、病历、密钥、商业秘密——文本层与扫描件都要查 | 10 处(P3/P8/P9) |
| 批注与修订 | 注释面板、修订记录、墨迹——"最终价可谈"就藏在注释里 | 1 处(P6 注释) |
| 元数据 | 作者、公司、标题、创建/修改时间、自定义字段——"内部审批版"标题会误导接收方 | 1 组(文件属性) |
| 隐藏对象 | 隐藏图层、不可见文本、嵌入文件、表单数据、JavaScript | 0(已查,无命中) |
| 印章与水印 | 骑缝章、电子章、背景水印——判断是否影响发送,不影响就保留 | 骑缝章 1 处(保留) |
五类都过完,再导出。导出后按上一节的四个验证动作复核一遍,然后才发。