Zerowidth CleanerMeasured guides

CLAUDE WATERMARK REMOVER · DESTINATION TEST

Does removing a marker compose Hangul Jamo into a syllable?

No. Cleanup joins the Jamo sequence; an explicit NFC call then composes it into 가.

Tested 1 November 2026 · Synthetic fixtures · Minimal DOM

What the test establishes

The test starts with two Hangul Jamo separated by a synthetic marker. The callback removes that separator and leaves the two original code points. NFC subsequently produces a different code-point sequence representing a composed syllable. If a receiving system expects normalized storage, define that step separately and retain the original. Visual similarity alone cannot establish whether cleanup changed normalization form or whether two byte strings are identical.

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": "가",
  "codepoints": [
    4352,
    4449
  ],
  "nfc": "가",
  "nfcCodepoints": [
    44032
  ]
}

Capability boundary

This example covers one modern Hangul syllable and NFC. It does not assess Korean prose, historical Jamo, font rendering or authorship.

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.