Zerowidth CleanerMeasured guides

CLAUDE WATERMARK REMOVER · DESTINATION TEST

Does match.input contain only the matched field?

No. The match is AB, while input retains the complete cleaned record x:AB.

Tested 2 November 2026 · Synthetic fixtures · Minimal DOM

What the test establishes

The synthetic record contains a prefix and a two-letter field. The actual homepage callback removes the marker from the field before the expression executes. The input property still carries the entire searched string, whereas element zero carries the matched portion. Exporting input as the field would accidentally retain the prefix. Choose the match element or a declared capture when constructing the destination record, and reserve input for trace context.

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.

{
  "match": "AB",
  "input": "x:AB",
  "index": 2
}

Capability boundary

One successful non-global match is tested. This does not exercise optional captures, browser form fields or a no-match branch.

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.