Zerowidth CleanerAll measured guides

CLAUDE WATERMARK REMOVER · PRACTICAL TEST

Does a valid URL input guarantee an HTTPS web address?

Our URL input accepts both https://example.test/ and mailto:a@example.test, while /guide fails typeMismatch. It also retains the marked hostname fixture as valid. Native URL validity is separate from scheme policy, navigation success and character cleanup.

Tested October 25, 2026 · v24.22.1 · 4 measured runs

Open the Claude text cleaner · Full measured data

Code-point comparison for Marked https

Measured inputs and outputs

These are locally constructed test strings, not evidence that Claude inserts these characters. We executed the saved homepage script snapshot with a minimal DOM harness and compared exact strings. The invisible-checkbox state and dash mode appear in each row. The observations below test this page's specific question. Destination observations were measured separately in Chromium 156 using detached native controls and programmatic value assignment. Node reruns the actual homepage callback and reads the saved browser observations; it does not independently rerun the browser. No form was submitted. We make no detector-score or statistical-watermark removal claim.

Before and after observations; full code points and strings are in the JSON download.
Fixture and modeInput string and code pointsOutput and cleaner statusObserved before / after
Marked https
direct string / keep / invisible true
"https://exa​mple.test/"
U+0068 U+0074 U+0074 U+0070 U+0073 U+003A U+002F U+002F U+0065 U+0078 U+0061 U+200B U+006D U+0070 U+006C U+0065 U+002E U+0074 U+00 …
"https://example.test/"
Removed 1 invisible character
{"typeMismatch":false,"valid":true,"value":"https://exa​mple.test/"}
{"typeMismatch":false,"valid":true,"value":"https://example.test/"}
HTTPS address
direct string / keep / invisible true
"https://example.test/"
U+0068 U+0074 U+0074 U+0070 U+0073 U+003A U+002F U+002F U+0065 U+0078 U+0061 U+006D U+0070 U+006C U+0065 U+002E U+0074 U+0065 U+00 …
"https://example.test/"
No selected invisible characters found
{"typeMismatch":false,"valid":true,"value":"https://example.test/"}
{"typeMismatch":false,"valid":true,"value":"https://example.test/"}
Mail scheme
direct string / keep / invisible true
"mailto:a@example.test"
U+006D U+0061 U+0069 U+006C U+0074 U+006F U+003A U+0061 U+0040 U+0065 U+0078 U+0061 U+006D U+0070 U+006C U+0065 U+002E U+0074 U+00 …
"mailto:a@example.test"
No selected invisible characters found
{"typeMismatch":false,"valid":true,"value":"mailto:a@example.test"}
{"typeMismatch":false,"valid":true,"value":"mailto:a@example.test"}
Relative address
direct string / keep / invisible true
"/guide"
U+002F U+0067 U+0075 U+0069 U+0064 U+0065
"/guide"
No selected invisible characters found
{"typeMismatch":true,"valid":false,"value":"/guide"}
{"typeMismatch":true,"valid":false,"value":"/guide"}

The validity flag permits more than HTTPS

The observer assigns each string to an input whose type is url. The HTTPS reference and mailto reference both have typeMismatch false and valid true. The relative /guide reference has typeMismatch true. This directly answers a form-specific question: a passing native URL constraint is not a requirement that a value point to an HTTPS web page. The fixture performs no navigation and has no network request for any supplied address. The example.test host is a local test spelling, not an availability claim.

A retained marker need not cause a native mismatch

The interrupted hostname remains present in the input value and reports valid true in the recorded browser. After the homepage deletes U+200B, the ordinary example.test spelling also reports valid true. The same boolean therefore accompanies different strings. An application should inspect its actual accepted representation rather than infer that a valid field is free of every unwanted character. The test does not use a detector, a DNS lookup or a page fetch to decide whether an address is acceptable.

Separate the receiving control from a navigation policy

If a destination expects a particular scheme or host set, define and test that contract explicitly in addition to the native field constraint. A relative link may be meaningful in a document while failing this standalone input test; a mail address can pass this field without meeting a web-page-only policy. The earlier URL.canParse guide examines parser success and protocol selection. Here the new evidence belongs to the HTML input validity interface, with its retained value and typeMismatch field captured together.

Keep the measured boundary narrow

Every control was created detached and populated programmatically. There is no required attribute, custom pattern, user typing, actual form submission or server validation. The browser reproducer repeats those exact operations; the Node harness reruns only the saved homepage cleanup against recorded browser observations. These examples are synthetic rather than copied Claude replies. URL validity establishes neither destination reachability nor authorship, and it provides no evidence that a statistical text watermark was detected or removed.

Reproduce this test

For a fresh native-control measurement, save and open reproduce-browser.html in your browser. It embeds the exact fixture observer and saved homepage script, runs locally, and shows its user agent. For the Node cleanup rerun, save reproduce.cjs, tested-app.js and browser-observations.json in the same folder. Run the command below with Node.js. The harness prints its runtime, script SHA-256 and every measured row. Compare those rows with the original record. Using a newer script or runtime creates a new experiment; retain the version information with your rerun.

node reproduce.cjs

Reference and next check

WHATWG HTML url-state-(type=url) provides the relevant primary definition. The table and fixture analysis are original measurements. For broader inspection, use our Unicode inspector. Read the scope distinction before interpreting cleanup as a watermark result.