From San Digital, who run live AI courses for engineers and business teams.Live AI training from San Digital. See the courses

declawd

We scanned Claude output byte by byte

12 August 2026

The hidden-character theory can be tested. We collected 120 outputs assigned to four Claude models, covering 457,045 characters, then inspected every non-ASCII character. None belonged to the hidden classes the scanner could reliably observe. Useful, yes, but much narrower than saying there was no watermark.

What we collected

We used 30 fixed prompts for each of four model assignments. That produced 120 files. The prompts covered factual prose, informal posts, technical writing, lists, Python, JSON, dialogue, accented text and instructions to use ASCII. Each model received the same prompt bytes.

The files were written through a Claude Code subagent and its file-writing tool. They did not pass through a chat renderer, terminal or clipboard. This gave us a close view of one collection path, but not the raw Anthropic API response.

Two limits apply. Six requested non-ASCII space variants reached disk as ordinary spaces in the positive control, so this route could not validate that class. One Fable file also contains a disclosed phrase change made after generation. The model names came from the harness assignments and subagent reports; we could not verify them against an API response header.

What the scanner checked

The scanner listed every character above ASCII and checked zero-width spaces and joiners, the word joiner, byte-order marks, soft hyphens, bidirectional controls and isolates, variation selectors, Unicode tag characters, invisible mathematical operators, line and paragraph separators, combining marks, Cyrillic and Greek lookalikes inside Latin words, and three apostrophe lookalikes found in a separate Claude Code investigation.

What it found

Model assignmentCharactersDetectable hidden classOther non-ASCII
Opus 5125,943015 em dashes, accented letters
Sonnet 5107,13503 em dashes, accented letters
Haiku 4.5113,70507 em dashes, 6 check marks, accented letters
Fable 5110,262012 em dashes, accented letters

No zero-width character, bidirectional control, tag character or variation selector reached disk in any of the 120 files. The three apostrophe lookalikes were absent too.

The other characters have ordinary uses. Thirty-six of the 37 em dashes occur in dialogue prompts, where they mark interrupted speech. The remaining one is in an informal post. Six check marks appear inside printed test output in generated Python. Accented letters appear mainly in the 12 prompts that explicitly asked for correct diacritics, with a few elsewhere. All 12 ASCII tasks contained only printable ASCII and line breaks.

This is a count for this corpus and route. It is not a general estimate of how often a hidden mark appears in Claude output.

We checked the collection path

A clean scan means little when the collection route may have stripped the characters first. We therefore asked a model to emit known hidden characters through the same route.

Zero-width characters, bidirectional controls, variation selectors, combining marks and Cyrillic lookalikes reached disk intact. A Unicode tag payload also survived and still decoded to the text placed inside it. The scanner detected those tested classes when they were present.

The space test failed. All six requested non-ASCII spaces reached disk as ordinary spaces. That is why this article makes no claim about a watermark carried only by space variants. The filesystem was not the cause. A non-breaking space written by Python survived the filesystem, clipboard and JSON unchanged.

The human files looked stranger

We ran the scanner over 3,059,329 characters from five Project Gutenberg novels, downloaded as raw files.

CorpusCharactersCurly quote and apostrophe charactersBidirectional controls
Collected Claude output457,04500
Five nineteenth-century novels3,059,32920,2242

The two bidirectional controls in the human corpus sit around Hebrew text in the Project Gutenberg file for Moby-Dick. They are modern digital direction markers in a transcription of an 1851 book. A rule that treated these characters as proof of machine writing would flag the human file and clear all 120 collected outputs.

Where the result stops

No character from the detectable hidden classes reached disk in this corpus: 120 files, 457,045 characters, four model assignments, one collection path and one day. A cleaner aimed at those characters would have found nothing to remove.

Every assigned model predates Anthropic's 2 August launch rule. The scan did not reach the raw API body, claude.ai, the desktop app or a Copy button. It could not observe the six space variants. It also could not verify model identity independently of the harness.

A byte scan cannot see a watermark carried by token selection. The marked passage on this site scores 2.99 against a cut-off of 1.80 and still contains ordinary ASCII. Its pattern appears only when token pairs are scored with the published seed. The scan tells us which characters are present. It cannot tell us how the words were selected.

The model cannot inspect this for you

A language model does not get a reliable view of its sampling procedure or of processing applied after generation. Asking it whether its answer contains a watermark invites a plausible account, not a measurement.

Inspect the output instead. For a Unicode check, list every code point above U+007F with its name and position. Before trusting a clean result, pass known hidden characters through the same route and confirm that they survive and are detected.

The corpus, controls, scanner, tests and SHA-256 manifest are public in san-digital/claude-watermark-audit. The repository records 177 artefacts and the exact bytes used for every count.

Read the punctuation count, or inspect the watermark method used on this site.

Sources: scan corpus, controls, tests, per-model counts and SHA-256 manifest at san-digital/claude-watermark-audit, generated 12 August 2026; How Claude marks AI-generated content (Anthropic Help Centre, page last modified 10 August 2026); Claude Code prompt steganography (30 June 2026); human comparison files from Project Gutenberg.

Published by San Digital Limited, independently of Anthropic. Do not use this article or any score on this site to make authorship, employment, education, disciplinary, legal or forensic decisions.