Zerowidth CleanerMeasured guides

CLAUDE WATERMARK REMOVER · DESTINATION TEST

Does concat split a cleaned string into individual characters?

No. It appends AB as one array entry; spreading the string creates two entries.

Tested 2 November 2026 · Synthetic fixtures · Minimal DOM

What the test establishes

A review list starts with one header entry and receives the cleaned text. Passing the string to concat preserves it as a single element, while explicit spread asks for iteration and adds separate letters. This is a destination collection-construction decision, not a difference in what the cleaner removed. Choose the operation that matches the record schema before exporting rows, especially when a text field must remain one cell.

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.

{
  "concat": [
    "header",
    "AB"
  ],
  "spread": [
    "header",
    "A",
    "B"
  ]
}

Capability boundary

Only a primitive two-letter string is used. Custom spreadability, arrays with holes and CSV parsing are outside this observation.

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.