CLAUDE WATERMARK REMOVER · DESTINATION TEST
Why did reversing a byte preview also change the text I export?
Buffer.reverse mutates the original buffer and returns that same object.
What the test establishes
The test saves the original decoded text before reversing the buffer. It then checks both the stored buffer and the returned reference. Both expose CBA because the operation is in place. A preview routine sharing this storage can change a later export even without assigning its return value. Copy the bytes before rearranging them if the original must remain available. This is a whole-buffer reversal, distinct from swapping bytes within two-byte words. The ASCII fixture avoids splitting a multibyte encoding so the observation focuses on ownership and mutation. No claim about safe reversal of general Unicode text follows from this example.
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.
{
"before": "ABC",
"after": "CBA",
"returned": "CBA",
"same": true
}Capability boundary
Three ASCII bytes are measured. Multibyte text reversal and grapheme ordering are excluded.
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.