Zerowidth CleanerMeasured guides

CLAUDE WATERMARK REMOVER · DESTINATION TEST

Will JSON export retain a symbol-keyed copy of cleaned text?

No. The measured export includes the ordinary text member and omits the symbol-keyed member.

Tested 31 October 2026 · Synthetic fixtures · Minimal DOM

What the test establishes

The object holds two references to the same cleaned text under different key types. Only the ordinary string key survives JSON serialization. An integration using a symbol for private backup metadata cannot rely on a JSON export to preserve that backup. Define a separate named export field if the backup belongs in the saved document, while retaining symbol metadata only for in-memory behavior.

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",
  "symbols": 1,
  "json": "{\"text\":\"AB\"}"
}

Capability boundary

The omitted value is a string under a symbol key, not a symbol value under a string key. This is not an array named-property or replacer whitelist test.

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.