Zerowidth CleanerMeasured guides

CLAUDE WATERMARK REMOVER · DESTINATION TEST

Will editing a Uint8Array slice change the encoded original?

No. In this test slice copies the bytes, while subarray exposes a view that changes the original.

Tested 31 October 2026 · Synthetic fixtures · Minimal DOM

What the test establishes

The cleaned value encodes as two ASCII bytes. Editing the copied slice leaves the original byte array intact; editing the view then replaces its first byte. This comparison identifies the ownership decision at an integration boundary. A preview that needs private working storage should choose a copy before modification, while a shared view requires coordination with any later export reading those bytes.

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",
  "copy": [
    88,
    66
  ],
  "afterCopy": [
    65,
    66
  ],
  "afterView": [
    89,
    66
  ]
}

Capability boundary

This measures standard Uint8Array operations, not Buffer.slice. No byte decoder error or multibyte truncation is involved in the two-byte fixture.

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.