Text AI Watermarks Will Always Be Trivial to Remove

The EU AI Act's Article 50, enforceable from August 2026, requires LLM providers to watermark AI-generated text. But text watermarking is a fundamentally different beast from image watermarking — and removing it remains trivial. Here's the technical breakdown.
Why Text Watermarking Is Hard
Images have noise you can hide watermarks in; text doesn't. You can't tweak a sentence without a human noticing. That makes it a steganography problem where the plaintext can't be arbitrarily manipulated. A naive approach like "every fifth letter is 'e'" would compromise output quality.
Could the model itself juggle the watermark? Strong models can, but it burns reasoning tokens and degrades output quality — a poor trade-off.
Why Detection Via Model Re-Run Fails
Running the text through the model to check token probabilities doesn't work: the space of human text that reads like AI output is huge, false positives abound, and it's prohibitively expensive for every EU citizen to get free verification.
How SynthID Works
Google's SynthID is the only public text watermark. It assigns each token a score based on previous tokens — e.g., sum token IDs mod 5. When sampling, the model picks the highest-scoring token from the top five likely options. Detection aggregates the score across a text block; a suspiciously high aggregate flags AI generation.
This is like the em-dash heuristic, but based on subtle mathematical patterns humans can't spot.
The Catch
But any watermark that preserves lexical diversity is removable by simple paraphrasing, token substitution, or even translation. As long as the text must read naturally, you can strip the signal with minimal effort. SynthID's robustness is limited — it's designed for mass detection, not for resisting deliberate removal.
Expect the EU to enforce a requirement that's technically unsatisfiable. Labs will comply with the letter, but anyone who cares can bypass it in seconds.
📖 Read the full source: HN AI Agents
👀 See Also
Claude Code v2.1.261: New Skill Doctor and Output Limits
Claude Code v2.1.261 adds /skill-doctor to prune unused skills, bashOutputMaxChars and taskOutputMaxChars settings for larger inline output, and --append-subagent-system-prompt-file for large prompts. Includes many fixes for remote control and proxies.

Claude Opus 4.6 effort=low parameter causes lazy agent behavior
When using effort=low with Claude Opus 4.6, agents made fewer tool calls, were less thorough in cross-referencing, and ignored parts of system prompts about web research. Switching to effort=medium resolved the issues.

Litigation Risks in AI Data Center Financing Structures
The AI data center buildout requires $5.2 trillion in infrastructure investment by 2030, with companies using complex financing structures like SPVs and GPU-collateralized facilities that create nine categories of litigation risk.

Anthropic Launches 10 Finance AI Agents for Pitchbooks, KYC, Month-End Close
Anthropic released 10 ready-to-run AI agents for financial services and insurance, covering pitchbook creation, KYC screening, and month-end close, delivered via Claude Cowork, Claude Code, and Managed Agents.