See what the machine sees.Text has two readers now.
Paste anything. The invisible characters hiding in it -- and what they say -- appear side by side.
Spectrum every codepoint, in order
The machine sees
Remove hidden characters & trackers
More specimens real attacks, built in front of you -- click one
Which copy leaked? two copies of one document -- find the difference nobody can see
A tracked document is not marked in the words. It is marked between them, a slightly different invisible string per recipient, so a leaked screenshot names the person who leaked it. Paste both copies. If they read identically and differ anyway, that difference is the fingerprint.
Watermarks & trackers
Not every watermark is the same, and pretending otherwise is how a tool loses your trust. Here is exactly what secondsight can and cannot do.
Character watermarks -- it removes these
Some document trackers, mail systems and "AI humanizer" tools tag text with invisible characters, a slightly different set per copy, so a leak can be traced. secondsight finds them, shows them, and the button above copies a clean version back.
Statistical watermarks -- it cannot, and says so
The watermark Claude adds to its text (a SynthID-Text scheme) is not hidden characters -- Anthropic added nothing to the bytes. It lives in the word choices themselves, so no character tool can see it or strip it, and removing it would mean rewriting the text. secondsight will honestly report "nothing hidden here."
Lab make something disappear, so you know what it looks like when it does
Every scheme below is documented in the Unicode standard and already implemented in public research tooling. It is here because reading that the Tags block is invisible convinces nobody, and watching your own sentence vanish into a check mark convinces everybody. Whatever you build here, the analyser above takes straight back apart.
What this looks for
Honest notes
- Nothing leaves this page. There is no backend, no analytics and no network request of any kind after the page loads. Open your network tab and watch it stay empty. Detection runs on your machine because the text you would most want to check is the text you would least want to upload.
- It tries not to cry wolf. A joiner inside an emoji, a ZWNJ in Persian, a byte-order mark at offset zero and Cyrillic prose are all left alone on purpose. The control specimen in the gallery exists so you can watch it stay silent -- a detector you never see quiet is one you cannot trust when it speaks.
- Reading intent is a heuristic. When a decoded payload looks like an instruction rather than a serial number, that is pattern matching and it is labelled as such. It raises a finding's severity; it never invents one.
- It knows its limits. It reveals and removes character-based hidden data. Statistical watermarks like Claude's live in word choice, not characters, so secondsight cannot see or remove them -- and it says so rather than pretending otherwise.