CLAUDE WATERMARK REMOVER · DESTINATION TEST
Why does a string-built digit expression miss the cleaned number?
The string digit escape becomes d; a doubled backslash preserves the regex digit token.
What the test establishes
Both expressions are constructed after the homepage produces the same numeric string. The difference is the JavaScript string literal passed into the constructor. One backslash is consumed at the string layer, leaving an ordinary letter in the pattern; the other fixture carries a backslash into regex parsing. Inspect source on the resulting expression to diagnose the actual pattern rather than repeatedly cleaning a value whose marker has already gone.
Reproduce the observation
Save tested-app.js and reproduce.cjs together, then run node reproduce.cjs. Compare its output with the recorded observation. The harness executes the actual homepage callback in a minimal DOM and records its resulting field values and method calls. Destination operations run in Node.js; the homepage DOM is a controlled substitute. Runtime: v24.22.1. No submitted text or genuine Claude output is used.
{
"cleaned": "12",
"badSource": "d+",
"goodSource": "\\d+",
"bad": false,
"good": true
}Capability boundary
This concerns source-code string literals in a local script. JSON transport, shell quoting and dynamically supplied user patterns add separate layers.
This Claude watermark remover edits a small selected character set. These callback observations do not establish authorship, detector scores, statistical-watermark removal or end-to-end browser behavior. For real work, keep the original and compare the exact result at its destination.
Primary material and next step
The tested first-party source snapshot and complete harness are the primary material for this page. For broader scope, read invisible Unicode versus AI watermarks, or return to the cleaner.