文档中的 Claude 水印可能在当初引入它的任务结束后很久依然存在。一位作者撰写了一篇文章,请 Claude 润色三个句子,但收到的文件在溯源信号中只显示由 Claude 撰写。
对于自有内容,移除 Claude 水印需要三个阶段:清除可疑的 Unicode 码点、使用非 Claude 模型改写正文、从受支持的文件中移除强绑定溯源元数据。为此,你可以使用开源的 remove-ai-marks 技能、Haimaker 的模型 API,以及你选择的模型。三个阶段中有两个可以直接验证;遗憾的是,改写阶段无法验证,因为 Anthropic 未公开其检测器。
Claude 现在会对文本和文件添加水印
Claude 在输出时至少通过两个已确认的溯源通道进行标记:文本在模型层面被施加不可见标记,受支持的文件则带有数字签名的 C2PA 元数据。Anthropic 表示,2026 年 8 月 2 日及之后推出的模型默认启用标记功能;对旧模型的启用工作仍在继续。
标记范围不仅限于 Claude 网页应用。Anthropic 的公告涵盖 Claude Platform、Claude、Claude Code、Claude Cowork、Claude Tag、云合作伙伴以及 Claude 可用的所有区域。文本标记在复制粘贴和轻度编辑后仍可能保留。当产品和格式均支持时,文件标记会启用,Anthropic 列举的格式包括 .svg、.png 和 .jpg。
Anthropic 未公开文本标记算法或检测器。这一空白让任何移除指南都存在一个无法解决的变量。像”嵌入文本之中”这类说法,并不能说明该标记依赖的是零宽字符、token 选择偏差、语义结构,还是多种技术的组合。
已知某些变换会削弱检测效果。Anthropic 列举了大幅编辑、改写、翻译、与其他文本合并、短摘录、格式转换、重新保存和截图。这些为分层清理流程提供了依据,但并不能保证输出无法被检测到。
检测结果只能说明经过处理,不能证明创作归属
检测到的 Claude 水印只能得出一个很有限的推断:某个兼容的 Claude 模型可能处理过这些内容。这并不意味着 Claude 生成了每一个词、想法、事实或设计选择。Anthropic 明确指出,校对、翻译、摘要和文件转换等操作可能在人类创作的作品上留下标记。
设想一位作者撰写了一篇文章,然后请 Claude 编辑三个句子。机器可读的结果无法将该请求与全文生成区分开来。这种归属模糊引发了大量讨论:我们当前的 30 天样本中发现了 15 个相关 Reddit 帖子,共获得 8,138 次赞同和 2,633 条评论,许多讨论围绕所有权以及通用标签可能引发的推断展开。
反过来也一样。没有检测到标记的文档不一定是人类创作的。不受支持的或较旧的模型可能不会标记输出,普通编辑也可能降低可检测性。检测器只提供一个线索;它不是抄袭检测工具,也不是对创作归属的最终裁定。
清理不会改变底层事实。如果合同、学校政策、平台规则或法律要求披露 AI 辅助,该义务依然存在。此流程旨在保护自有内容的隐私并做好数据清理,尤其是当宽泛的”Claude 处理了此内容”标签掩盖了实际工作分工时。
每个水印层需要不同的清理方式
文本字符、容器元数据和内容级信号位于不同位置,产生的证据也不同。Unicode 扫描可以枚举确切的码点。C2PA 工具可以显示签名清单。在 Anthropic 公开检测器和技术规范之前,没有任何独立工具能够验证 Claude 统计文本标记已被移除。
| 层 | 存在位置 | 清理操作 | 清理后的置信度 |
|---|---|---|---|
| 不可见 Unicode | 文本字符和间距 | 规范化零宽字符、双向控制字符、标签字符和特殊空格字符 | 可通过重新扫描码点验证 |
| 模型级文本模式 | 词和 token 选择,具体方法未公开 | 使用非 Claude 模型改写每个正文句子 | 仅为尽力而为 |
| 强绑定 C2PA 和元数据 | PNG、JPEG、SVG、PDF、DOCX、ODT、HTML 或 Markdown 容器 | 移除受支持的 C2PA、EXIF、XMP、文档属性和 AI 元数据 | 对已移除的字段和清单可验证 |
| 软绑定或像素信号 | 内容本身或远程清单链接 | 不在此流程范围内 | 残余风险依然存在 |
Unicode 这一行刻意保持保守。Anthropic 从未声明其新的文本水印使用隐藏字符。不可见字符清理仍然能修复实际问题:损坏的 diff、失败的搜索和粘贴错误,并且能移除其他软件引入的字符。这是一种确定性的清理工作,并不能证明 Claude 的未公开标记已经消失。
文件元数据提供更强的证据。Anthropic 表示,受支持的生成文件会带有基于 C2PA 开放标准的签名元数据,独立工具可以检查这些元数据。即便如此,边界仍然重要:C2PA 清单可以嵌入文件、存储在 sidecar 文件中,或通过远程引用。移除嵌入清单并不能说明 sidecar 文件或工具从未接触过的内容级信号已被处理。
三阶段清理流程
此流程移除已知的字符级噪声、通过非 Claude 模型改写文本、清理模型输出,然后剥离受支持的文件元数据。每个阶段职责单一,将确定性清理与改写分开。后者无法针对 Anthropic 未公开的检测器进行认证。
Guillaume Meyer 的开源 watermarks-remover 仓库提供了基础。remove-ai-marks 技能将工作划分为
- Layer A - Unicode 清理
- Layer B - 统计改写
- Layer C - 特定格式的元数据移除
该仓库不包含厂商检测器和密钥,无法保证绕过检测。
对于 Layer B,我们建议通过 Haimaker 将正文路由到已配置的非 Claude 模型。Haimaker 通过一个 OpenAI 兼容端点提供数百个不在 Claude 水印路径上的模型,因此你可以在不改变清理流程的情况下切换改写模型。
我们测试后的模型选择
应该使用哪个模型?我们建议用多个模型分别改写同一段正文,直到找到最契合你的编辑风格和品味的模型。目前,以下是我们发现表现最好的模型。需要提醒的是,这不是检测器评分,也不意味着某个模型比另一个模型更能有效移除未公开的水印。
| 排名 | Haimaker 模型 ID |
|---|---|
| 1 | z-ai/glm-5.2 |
| 2 | qwen/qwen3.7-plus |
| 3 | moonshotai/kimi-k3 |
| 4 | deepseek/deepseek-v4-pro |
| 5 | minimax/minimax-m3 |
| 6 | deepseek/deepseek-v4-flash |
即使改写后的正文读起来流畅,改写仍可能损坏 Markdown。在模型调用之前,项目包装器会遮蔽 YAML frontmatter、标题、代码块和行内代码、HTML、表格、链接、URL 和数值事实。它还会加载项目的文风指纹,使改写改变统计模式而不至于退化成千篇一律的通用文本。调用之后,包装器会拒绝缺失或重新排序的占位符、新增代码围栏、空输出和剧烈的长度变化。任何检查失败时,原始文件都保持不变。
安装和配置清理技能
将 remove-ai-marks 文件夹安装到 .claude/skills 下,然后将其 OpenAI 兼容的改写钩子指向 Haimaker,并选择你账户可用的非 Claude 模型。把 API 密钥保存在环境变量或密钥管理器中。将密钥写进 SKILL.md、提交到仓库或在命令行中明文传递,都会让清理步骤变成凭据泄露。
git clone https://github.com/guillaumemeyer/watermarks-remover.git
mkdir -p .claude/skills
cp -R watermarks-remover/skills/remove-ai-marks .claude/skills/
export WATERMARKS_REWRITE_BACKEND=openai-compatible
export WATERMARKS_REWRITE_BASE_URL=https://api.haimaker.ai/v1
export WATERMARKS_REWRITE_MODEL=provider/model-id
export WATERMARKS_REWRITE_API_KEY="$HAIMAKER_API_KEY"
SCRIPTS=.claude/skills/remove-ai-marks/scripts
python3 "$SCRIPTS/inspect_file.py" --json draft.md
python3 "$SCRIPTS/clean_file.py" draft.md -o draft.layer-a.md
python3 "$SCRIPTS/rewrite_text.py" draft.layer-a.md \
-o draft.rewritten.md --strength paraphrase \
--voice-print .claude/reference/voice-print.md
python3 "$SCRIPTS/clean_file.py" draft.rewritten.md -o draft.cleaned.md
python3 "$SCRIPTS/inspect_file.py" --json draft.cleaned.md
生产环境的 Markdown 应通过带有占位符保护的包装器处理,而不是上面展示的通用改写钩子。源代码只需完成确定性 Unicode 清理,然后交给对应语言的格式化工具。试图通过改写代码来消除不确定的统计标记,会带来更大、更直接的风险:看起来流畅的 diff 可能隐藏行为变更。
远程改写会把文档正文发送到已配置的 API。只发送你的组织允许该提供商处理的材料;仅限本地的内容应留在经批准的自托管模型上。选择不同的模型系列可以降低重新标记的风险,但这不能替代数据处理政策。
<a href="https://app.haimaker.ai/sign-up?utm_source=blog&utm_medium=cta&utm_campaign=claude-watermark-removal-guide_mid" class="cta-button">通过非 Claude 模型执行改写</a>
## 验证有三个置信级别
一份有用的验证报告应区分三种结果:可验证已移除的 Unicode 和嵌入元数据、经过尽力而为统计改写的正文,以及流程无法检查的溯源通道。把这些发现合并成一句"水印已移除",会做出超出证据支持的断言。
前后对比检查提供了记录。脚本会统计可疑码点数量、报告已移除的 EXIF 或 XMP 字段,并识别受支持的 C2PA 段。如果 `c2patool` 可用,它可以检查受支持资产上的清单数据。干净的重扫只对那些确切的字段有意义,对其他内容则没有。
文本需要更谨慎的结论。Anthropic 尚未发布检测器,现代水印设计可能能够抵抗那些只能打败简单 token 偏差方案的攻击。2025 年的 [WaterPark 评估](https://aclanthology.org/2025.findings-emnlp.1148/)测试了 10 种水印方法抵御 12 种攻击的表现,发现鲁棒性会随着设计发生实质性变化。更早的 [ICLR 研究](https://proceedings.iclr.cc/paper_files/paper/2024/hash/d78e9e4316e1714fbb0f20be66f8044c-Abstract-Conference.html)表明,激进的人类改写在足够长的文本中仍可能留下可检测的信号。改写证明文本发生了变化,但不能证明信号已经消失。
记录模型、改写强度、已处理文件、受保护区域数量、字符数、应用的文风指纹和确定性清理步骤。然后明确列出残余风险:Claude 的未公开检测器、软绑定溯源、像素或媒体水印,以及未来的检测器变更,仍然不在本次结果范围之内。
## 常见问题
#### Claude 能否标记最初由人类撰写的文本?
可以。Anthropic 表示,检测到标记意味着 Claude 处理过该内容,而非 Claude 撰写了每一个想法或句子。使用受支持的模型时,校对、翻译、摘要或转换人类创作的材料都可能产生带标记的输出。
#### 剥离 C2PA 元数据能否移除 Claude 的文本水印?
不能。它们是不同的通道。C2PA 是附加在受支持文件上的签名溯源元数据,而 Claude 的文本水印是在模型层面嵌入的。完整的清理流程应将文件元数据和正文视为不同的层。
#### 改写能否保证 Claude 的水印无法被检测到?
不能。Anthropic 未公开其检测器或标记算法。使用非 Claude 模型大幅改写是一种可行的应对措施,Anthropic 也将大幅编辑和改写列为标记可能不再可检测的原因,但没有任何第三方工具能够针对一个未公开的检测器来证明移除效果。
<a href="https://app.haimaker.ai/sign-up?utm_source=blog&utm_medium=cta&utm_campaign=claude-watermark-removal-guide_end" class="cta-button">获取非 Claude 改写步骤所需的 API 密钥</a>