案例:暗水印与元数据检测

一份合成的对外发布 PDF 中检出的六类隐藏对象,以及无法可靠发现的那一部分——后者往往比前者更重要。

合成文件声明:本案例文件为演示构造的 PDF,其中的"内部编号""分发对象"等字段均为虚构,不涉及任何真实主体、真实文档或真实追踪系统。

输入与设置

文件类型文本型 PDF,12 页
用途拟对外公开发布
检测范围完整发布前检查
法域中国 / 欧盟
复核日期2026-10-18
复核方PDFnoted 内容团队

需要说明的是:"暗水印"不是一个单一技术,而是一类不以明显方式呈现的追踪信息。不同类型的检出难度和处理方式差异很大,本案例按类型分别列出。

发现项(6 项)

高 XMP 元数据含内部分发追踪信息 文档级 · XMP 包
pdf:Keywords="DIST-2026-0887" / xmp:Identifier="内部文档ID" / pdf:Producer="内部排版系统 v3.2"
为什么重要:分发编号可直接关联到具体的分发批次与接收对象,属于对外发布时不该暴露的内部信息。这类字段用常规"另存为"往往清除不掉。
候选依据:《个人信息保护法》第四条——个人信息是以电子或者其他方式记录的与已识别或者可识别的自然人有关的各种信息。分发编号虽非直接标识符,但与其他信息结合后可能指向特定自然人;第十九条——"个人信息的保存期限应当为实现处理目的所必要的最短时间"。
建议动作:清理 XMP 与 Info Dictionary 全部自定义字段,仅保留标题与语言等必要项。
用户动作:执行元数据清理
高 文档属性含作者真实姓名与部门 文档级 · Info Dictionary
Author: "(虚构姓名)" / Company: "(虚构部门)" / 修订次数: 14 / 总编辑时长: 6 小时
为什么重要:作者姓名属于可直接识别的个人信息;修订次数与编辑时长会暴露内部协作过程,在对外发布场景中构成不必要的信息泄露。
候选依据:GDPR Article 4(1) 将"personal data"定义为与已识别或可识别的自然人相关的任何信息;Article 5(1)(c) 要求数据最小化——处理应充分、相关且限于必要范围。
建议动作:清空作者、公司、关键词字段;修订统计随文档属性一并清除。
用户动作:执行元数据清理
中 隐藏图层含浅色底纹标记 第 1、4、9 页 · 可选内容层
定位方式:对象层检查发现三个 Optional Content Group(可选内容组),默认可见性为开启但透明度 3%,肉眼几乎不可见,但会被 PDF 阅读器渲染并可能被打印输出。
为什么重要:这类图层在复制文本或转换格式时可能被原样带出,成为不易察觉的追踪载体。
候选依据:GDPR Article 32——处理安全应考虑风险,采取适当的技术与组织措施。对外发布前清除不必要的隐藏对象属于此类措施。
建议动作:移除三个可选内容层,导出前确认页面渲染无残留。
用户动作:执行隐藏对象清理
中 批注已删除但痕迹残留 第 5 页 · 注释层
为什么重要:批注对象被标记为"已删除"但未从结构中移除,仍可通过文本提取或第三方工具恢复内容。这是"删除"与"压平/清除"的典型区别——标记为删除不等于内容消失。
候选依据:《个人信息保护法》第四条对个人信息的界定涵盖"以电子或者其他方式记录"的信息,残留在结构中的批注内容仍属此类。
建议动作:执行批注清除(从结构中移除,而非仅标记删除)。
用户动作:执行批注清除
中 隐藏文字(白色文字含内部编号) 第 7 页 · 页脚区域
(白色 1pt 文字,位于页脚白色背景上)"REF-7741-A"
定位方式:文本对象颜色与背景色一致(渲染模式为不可见或白色填充),肉眼不可见,但可被搜索、复制与文本提取命中。
为什么重要:这是常见的"隐藏关键字"手法,也可能被用于在文本提取场景泄露内部编号。
建议动作:移除该文本对象;导出后用文本提取工具复查确认。
用户动作:执行隐藏文字移除
不能保证 取证级水印(Forensic Watermark)无法可靠检出 —
为什么列出这一条:这是本案例最重要的边界说明。取证水印通常通过像素级微调、字形轮廓变形、字间距编码等方式嵌入,其设计目标就是在不影响视觉的前提下抵抗常规检测。
能做什么:系统可检出结构层(对象、图层、元数据、批注)中不以明显方式呈现的内容,也就是上面五项。
不能保证什么:系统不宣称能够发现或清除所有取证级水印。对于以像素或字形编码方式嵌入的追踪信息,本工具无法可靠判定其是否存在,也不提供清除承诺。
建议动作:若你的分发场景存在高等级泄露溯源需求,应采用具备取证水印能力的专业文档安全系统,而非依赖通用清理工具。
用户动作:记录为已知限制,无处理动作

处理统计与导出

项目数量
发现项合计6
已清理(元数据/图层/批注/隐藏文字)5
已知限制(无处理动作)1(取证级水印)
导出结果安全交付版 PDF + 检查报告(PDF/JSON)

导出前总结会列出:共发现 6 项、已处理 5 项、仍待确认 0 项、已知限制 1 项,以及元数据/批注/隐藏对象是否已清除。处理完成不等于"文档不包含任何追踪信息"——最后一项限制仍然成立。

清理后验证(四步)

步骤怎么做本例结果
1. 文本提取复查用任意 PDF 文本提取工具导出全文,搜索原内部编号REF-7741-A 已不可检索
2. 搜索框验证在阅读器中搜索已脱敏的关键词无命中
3. 注释层检查检查注释对象数量是否为 00(已从结构移除)
4. 元数据复查重新读取 Info Dictionary 与 XMP作者/公司/关键词/自定义字段均为空

这四步验证的是结构层是否清理干净。它们不能证明取证级水印不存在——这一点在限制说明中已明确。

限制说明

检查你准备外发的 PDF

上传文件,检出元数据、隐藏图层、批注残留与隐藏文字,清理后导出安全交付版,并明确列出无法检出的部分。

免费扫描 PDF
PDFnoted 提供隐藏对象检测与清理,并明确标注能力边界;本页不构成法律意见,也不承诺清除所有类型的水印。案例文件为合成示例。
← 返回案例中心 暗水印检测 PDF Clean 隐藏信息清理 审查方法与数据来源