Zerowidth CleanerMeasured guides

CLAUDE WATERMARK REMOVER · DESTINATION TEST

Why does search(".") match the first cleaned character?

String.search interprets this string as a regular expression. For a literal period, the measured indexOf result identifies the actual punctuation.

Tested 29 October 2026 · Synthetic fixtures · Minimal DOM

What the test establishes

After cleaning, the value is ab.c. The dot pattern matches a at index zero; the literal period is at index two. A caller that intends a literal destination check should choose a literal search API or construct a properly escaped expression. Changing the cleaner settings will not fix this pattern contract.

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": "ab.c",
  "search": 0,
  "literal": 2
}

Capability boundary

Only a short dot pattern is tested. This is not a benchmark or a claim that arbitrary regular expressions are safe. Offsets here are UTF-16 indices in the cleaned string.

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.