CLAUDE WATERMARK REMOVER · DESTINATION TEST
Can matchAll enumerate a non-global regex after cleanup?
The measured call throws TypeError. Adding the global flag produces both matches.
What the test establishes
Both visible letters remain after the marker is removed. Failure happens when the destination receives a regular expression without its required global flag. It is not evidence that cleanup failed to preserve the letters. Build the expression with its intended enumeration contract and inspect resulting indices in the cleaned string.
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": "aa",
"error": "TypeError",
"global": [
0,
1
]
}Capability boundary
Only ordinary RegExp arguments are measured. This is distinct from the existing matchAll offset guide: the question here is whether enumeration starts at all.
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.