Claude now watermarks all output at the API level, with no opt-out
A SynthID-style mark rides every text response and C2PA metadata every file — it proves processing, not authorship, and a formatter pass wipes it from code.

Copy markdown
No opt-out — and it rides the API too
The mark is inserted in the sampling pipeline, SynthID-style, below the model's own awareness, so no product surface can switch it off. Every text output from the Claude API, Claude Code, Cowork, and claude.com now carries it worldwide — including through AWS, Google Cloud, and Azure Foundry.
It proves processing, not authorship
A detected mark only means content "may have been processed by Claude" — you might have used it to translate or proofread. It's a probabilistic signal, not proof, and it survives copy-paste but fades under heavy paraphrasing, translation, format conversion, or a screenshot.
Your code barely holds it; your prose does
Source code has too little token-level entropy to carry the watermark, and a single Prettier pass strips it clean. So commit messages, PR descriptions, and docs stay marked — the generated code itself mostly won't.
Files get signed C2PA metadata instead
Image and vector outputs (.png, .jpg, .svg) get tamper-evident, digitally signed C2PA provenance rather than a text mark. Heads up: the cloud partners may not fully support the signed metadata yet.
Why now: the EU AI Act, shipped worldwide
Anthropic signed the EU AI Act Code of Practice and chose to mark everywhere, not just the EU. Models shipped on or after Aug 2 mark from launch; older ones are being retrofitted. If you build on Claude, you still have to assess your own Article 50 disclosure duties.
Verification is gated behind an unshipped API
Detecting the mark will require calling Anthropic's forthcoming detection API — its pricing, rate limits, and release date are all still unpublished, so there's no way to independently verify a mark today.