Client-side Unicode steganography
Invisible Message
Type a message; it becomes invisible characters woven into an ordinary-looking cover line — indistinguishable to the eye. The correct key reveals it; a wrong key is rejected. Everything runs in your browser — nothing is sent anywhere.
Hide a message
Reveal a message
Three keyed layers. (1) the message is scrambled by a key-derived keystream;
(2) an integrity tag makes a wrong key reject instead of returning garbage; (3) key-scheduled
chaff decoy characters are interleaved so the raw invisible stream can't even be parsed
into clean bytes without the key. Honest scope: still invisible only to the eye / to a
rendered view — a raw-character analyzer can see that some hidden data exists (it just
can't read or parse it), and an invisible-character strip filter removes it. The technique itself
(variation-selector encoding) is well-known prior art, not novel. A self-contained client-side proof of concept.