Skip to content

Commit 87cfd12

Browse files
peopleworksclaude
andcommitted
Ask whether removing a watermark leaves a trace, and answer no
Anthropic began marking Claude's output this month, so the question arrived within a week: does a detector like this one still matter. Most of the answer is in the vendor's own documentation. The part that is not — what a removal does to prose — needed measuring, and only a rewrite can disturb a mark that lives in word choice. Each unit is one passage measured twice, as its author wrote it and after a model rewrote it. Both halves are the same passage at the same length, so no corpus of machine writing was assembled and the argument in Docs/Calibration/README.md against ever assembling one still stands. The expectation was that stripping a watermark would leave the text looking more like a machine to us. It does not: five passages crossed the boundary, two crossed back, p = 0.453. The expectation is withdrawn on the page. What the controls found instead is a fault of ours. The verdict boundary was measured on documents of a few thousand words and is applied to anything; four-hundred-word windows of the same writing flag 14.6% of the time when the whole documents flag none, and eleven of thirty documents are flagged at one position in the text but not another. Filed as #59, and the report says plainly that a floor measured on truncations must not be enforced against things somebody composed at that length. Three reviewers went over it adversarially. The arithmetic survived; three sentences did not. The pairs were cut from each document's opening while the page said the middle, the deviation log called one breach of the eight-word rule unique when twenty pairs contain one, and a directional claim about burstiness was asserted on evidence that failed the exact test applied two paragraphs above it. All three were the same failure — machine-checked numbers next to a hand-waved method — so compliance is now measured by the tool on every run and printed whether or not it flatters the study. The manifest stops re-stamping the rewriting date on every measurement, both halves and the source text are hash-verified rather than one of three, the truncated rule tables say what they dropped, and the report carries the conflict of interest out loud: the model that wrote these rule packs also did the rewriting, and until a second vendor's model repeats it these numbers should not be quoted where a teacher will act on them. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015PEbbiYSNPw7jE3LrPNhyF
1 parent a9e30aa commit 87cfd12

8 files changed

Lines changed: 2246 additions & 1 deletion

File tree

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,8 @@ temp/
4040

4141
# Calibration texts are fetched, not redistributed: the manifest is the repo artefact.
4242
Docs/Calibration/texts/
43+
# Paraphrase-study passages are derivatives of the same licensed sources, and are excluded for the
44+
# same reason: the manifest with both halves' hashes is the repo artefact.
45+
Docs/Paraphrase/human/
46+
Docs/Paraphrase/rewritten/
47+

Docs/PARAPHRASE.md

Lines changed: 201 additions & 0 deletions
Large diffs are not rendered by default.

Docs/Paraphrase/README.md

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
# The paraphrase study
2+
3+
`Docs/PARAPHRASE.md` reports what happens to a passage when a language model rewrites it. This folder
4+
is what that report is made of.
5+
6+
## Why it exists
7+
8+
Claude models released on or after 2 August 2026 carry a machine-readable watermark, with earlier
9+
models to follow during a transition period, and the question arrived within a week: does that make a
10+
tool like this one redundant? The parts of the answer that can be settled by reading are settled by
11+
reading — the key is Anthropic's, no third party can detect anything today, the mark is
12+
vendor-specific, and the vendor's help centre lists heavy editing, paraphrasing, translation, mixing
13+
into other writing and very short passages as conditions that leave it undetectable.
14+
15+
The part that cannot be settled by reading is what a *removal* does to prose. Since only a rewrite
16+
can disturb a watermark that lives in word choice, every working remover is a paraphraser, and
17+
paraphrasing is something this repository can measure without anybody's key.
18+
19+
Two details worth getting right, because the first version of this file got them wrong. The vendor's
20+
help centre lists "heavily edited, paraphrased, translated, or mixed into other writing" among the
21+
conditions that leave a mark undetectable — that is about somebody transforming Claude's output. Its
22+
engineering write-up separately says that when *Claude itself* translates, the result is watermarked,
23+
because Claude chose all the words. Both are true and they are about opposite directions. And the
24+
technique is not Anthropic's: SynthID-Text was published by Google DeepMind in 2024, and Anthropic
25+
adopted a version of it. This is one more vendor arriving at an existing industry practice.
26+
27+
## The design, and why it needs no machine-written corpus
28+
29+
`Docs/Calibration/README.md` argues at length against assembling a collection of machine-written text
30+
to measure against: it is a sample of whichever models were convenient that month, it ages badly, and
31+
it flatters whoever assembled it. That argument holds here and is not evaded.
32+
33+
What replaces it is a **pair**. Each unit of the study is one passage measured twice — as its author
34+
wrote it, and after a model rewrote it. Both halves are the same passage, by the same author, on the
35+
same subject, at nearly the same length. The baseline is not estimated from a population; it is the
36+
text itself, so between-author variation is removed by construction.
37+
38+
What the pair does *not* remove is the tool's own sampling noise, and the length arm below shows that
39+
noise is large at four hundred words. "Moved with the rewrite" is what this design measures; "moved
40+
because of the rewrite" is a stronger claim and an earlier version of the report made it.
41+
42+
The human halves are drawn from the calibration corpus, so every one of them was published before
43+
generative models existed. That remains the only basis for calling writing human, and it is a
44+
stronger one than any classifier offers about anything.
45+
46+
## The controls, which were not planned
47+
48+
The first run produced a baseline that did not match the published one: six of thirty-two human
49+
passages already sat above the verdict boundary, where the calibration page reports none of ninety.
50+
The difference is length. The excerpts are around four hundred words; the documents they were cut
51+
from run to several thousand.
52+
53+
Chasing that produced three controls, and each was added because a reviewer showed the study could
54+
not tell two explanations apart without it.
55+
56+
1. **The whole source document**, so the scissors can be told from the model.
57+
2. **The whole document with its apparatus stripped** by the same prose filter the excerpts pass
58+
through — otherwise the gap between arms could be figure captions and boilerplate rather than
59+
length. It is not: those documents still flag none of thirty-two.
60+
3. **Windows at three positions** — opening, middle, late — because the pairs are cut from the
61+
opening, and the opening of a research article is its abstract while the opening of an
62+
encyclopedia entry is its lead. Cutting only there measures a genre effect and calls it a length
63+
effect. It changed the headline figure from 18.8% to 14.6%.
64+
65+
Together they produced the study's largest result, which is about this tool rather than about any
66+
watermark. `Docs/PARAPHRASE.md` reports it under **Length**, and it is tracked as issue #59.
67+
68+
## What is committed, and what is not
69+
70+
`pairs.json` is the artefact: what each passage is, which corpus entry it came from, its year, and
71+
the SHA-256 of both halves. The passages themselves are git-ignored, exactly as the calibration texts
72+
are and for the same reason — they are derivatives of CC BY and CC BY-SA sources, licences differ,
73+
and the bulk would dwarf the code.
74+
75+
`instruction.md` is committed and is the most important file here. It is the experimental treatment,
76+
stored verbatim, and it deliberately says nothing about detectors in either direction.
77+
78+
The manifest also records **which model did the rewriting and on what date**. Unlike the human corpus,
79+
this half of the study ages: a 2019 paper will still have been written in 2019 in ten years, whereas
80+
a rewrite is one model's work on one day. Re-running with a newer model is the answer to "but models
81+
have moved on", and the tool refuses to run without being told the model's name.
82+
83+
## Deviations from the protocol, measured rather than attested
84+
85+
The first version of this section was written by hand and was wrong. It claimed one deliberate breach
86+
of the instruction's eight-word rule and there were twenty. Compliance is now checked by the tool on
87+
every run and printed in `Docs/PARAPHRASE.md` under **Was the treatment actually applied**, because a
88+
project that machine-checks its false-positive rate has no business attesting its own method by hand.
89+
90+
- **Twenty of the thirty-two pairs retain a verbatim run of eight words or more**, the longest 86
91+
words. The long runs are quotations — a court ruling, a political pamphlet, a published definition
92+
of a lek — which cannot be reworded without falsifying them. The instruction's requirement to
93+
preserve every fact and citation marker therefore conflicts with its no-eight-word-runs rule, and
94+
the protocol never said which wins. A future run should say so before it starts, not afterwards.
95+
- **The rewriter silently corrected errors in the originals**, which the instruction forbids in as
96+
many words ("do not correct the original"). Verified cases in the Spanish arm: *intercesión*
97+
*se cruza*, *teoría de juego**teoría de juegos*, *costa**consta*, and
98+
*participación en el mercado**reparto del mercado*, the last of which also changes the surface
99+
meaning. The English arm shows the same thing on the second-language passages. The delivered
100+
treatment was therefore *paraphrase plus copy-editing*, and some part of every score change is
101+
error repair rather than rewriting.
102+
- **This bears directly on the fairness arm.** The `en-other-affiliation` stratum exists to measure
103+
the harm this category of tool does to people writing in a second language. A rewrite that repairs
104+
second-language features is not a neutral treatment on that stratum, and its numbers should be read
105+
with that in mind.
106+
- **Two passages needed a second pass.** `wp-en-1025914326` and `wp-es-132146383` came back outside
107+
the ±10% the instruction sets and were rewritten once more. Across the final set the lengths run
108+
from −8.5% to +6.8%, median −1.0%.
109+
- **The excerpts are cut from the opening of each document**, not from the middle. An earlier version
110+
of the report said otherwise. Because the opening of a research article is its abstract and the
111+
opening of an encyclopedia entry is its lead, this is not a neutral place to cut, and the report
112+
now measures windows at three positions rather than asserting it does not matter.
113+
114+
## Reproducing it
115+
116+
```bash
117+
# 1. cut a stratified sample of the corpus into equal-length passages
118+
dotnet run --project tools/SignsOfAI.Calibration -- excerpt --per-stratum 8 --words 400
119+
120+
# 2. rewrite each file in Docs/Paraphrase/human/ into Docs/Paraphrase/rewritten/ under the
121+
# same name, giving the model the instruction in instruction.md and nothing else
122+
123+
# 3. measure all three arms and rewrite Docs/PARAPHRASE.md
124+
dotnet run --project tools/SignsOfAI.Calibration -- paraphrase \
125+
--paraphrased-by "<the model, named exactly>" --instruction Docs/Paraphrase/instruction.md
126+
```
127+
128+
Step 2 is deliberately outside the tool. Wiring an API key into the calibration harness would make
129+
the study reproducible only for people holding that key, and would tie a published number to one
130+
vendor's availability. A folder of text files can be filled by any model, including one running on
131+
the reader's own machine, and the manifest records which.
132+
133+
## What would improve this
134+
135+
In order:
136+
137+
- **More pairs.** Thirty-two cannot separate a small effect from noise, and the report says so in
138+
the one place it matters. Around a hundred would settle the direction.
139+
- **A second rewriter.** Everything here is one model on one day. A local model and a competing
140+
frontier model would show how much of the result belongs to the rewriter rather than to rewriting.
141+
- **Passages that look like coursework.** These are published articles and encyclopedia entries. A
142+
first-year essay is shorter, looser, and closer to the case a teacher actually faces — which, given
143+
what the length arm found, is the gap most worth closing.

Docs/Paraphrase/instruction.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# The rewriting instruction
2+
3+
This is the treatment. Every number in `Docs/PARAPHRASE.md` is a measurement of what *this
4+
instruction*, given to the model named in the manifest, does to a passage — not of what "AI
5+
paraphrasing" does in general. Change a word here and the study measures something else.
6+
7+
It is written to imitate the only watermark-removal method that can work. A statistical text
8+
watermark lives in which words the model chose, so stripping invisible characters cannot touch it
9+
and only a rewrite can; Anthropic's own description says a complete rewrite where every word is
10+
replaced will remove it. The instruction below therefore asks for exactly that, and asks for nothing
11+
else.
12+
13+
## What it deliberately does not say
14+
15+
It does not say *make this sound human*, and it does not say *make this sound like AI*. Either
16+
sentence would decide the result before the measurement: the first pushes the rewrite away from the
17+
signals this project looks for, the second pushes it toward them, and both would produce a number
18+
about the instruction rather than about paraphrasing. The rewriter is told to preserve meaning and
19+
destroy wording, which is what somebody removing a watermark actually wants, and is told nothing
20+
whatever about detectors.
21+
22+
It does not mention SignsOfAI, its rule packs, or any of the tells it looks for. A rewriter that
23+
knew what was being counted would be gaming the measurement.
24+
25+
## The instruction, verbatim
26+
27+
```text
28+
Rewrite the passage below so that none of its original wording survives. Replace the vocabulary,
29+
recast the sentences, and change the order of clauses wherever the meaning allows. No run of eight
30+
or more consecutive words from the original may remain.
31+
32+
Preserve, as closely as you can:
33+
- the meaning, including every fact, figure, name and citation marker
34+
- the language it is written in
35+
- the register — an academic passage stays academic, an encyclopedic one stays encyclopedic
36+
- the approximate length, within about ten per cent
37+
38+
Do not summarise, do not expand, do not add commentary, do not correct the original, and do not
39+
address the reader. Return only the rewritten passage.
40+
```
41+
42+
## Why the length constraint is there
43+
44+
Sentence-length variation is one of the things being measured. A rewrite free to compress a
45+
four-hundred-word passage into two hundred would change that distribution by changing how much text
46+
there is, and the study would not be able to tell that apart from the rewrite's own habits. Holding
47+
length roughly constant is what makes the two halves comparable.
48+
49+
## Two conflicts inside this instruction, found after it had been used
50+
51+
Recorded rather than fixed. Editing the treatment after the fact would mean the numbers in
52+
`Docs/PARAPHRASE.md` were produced by an instruction that no longer exists, which is worse than an
53+
imperfect instruction honestly described. A future run should resolve both **before** it starts.
54+
55+
**Preserve every fact versus replace every word.** A passage quoting a court ruling, a political
56+
pamphlet or a published definition cannot have those words replaced without falsifying the
57+
quotation. The instruction demands both and does not say which wins, so the rewriter preserved the
58+
quotations — reasonably, but the eight-word rule is breached in twenty of the thirty-two pairs as a
59+
result. The tool now measures this on every run and the report prints it.
60+
61+
**Do not correct the original versus preserve the register.** Several passages contain errors:
62+
*intercesión* for *intersección*, *teoría de juego* for *teoría de juegos*, and constructions a
63+
first-language editor would change. The rewriter repaired them. That makes the delivered treatment
64+
*paraphrase plus copy-editing*, so part of any measured change is error repair. It matters most on
65+
the `en-other-affiliation` stratum, which exists precisely to measure the harm done to people
66+
writing in a second language: a treatment that quietly repairs second-language features is not
67+
neutral there.

0 commit comments

Comments
 (0)