Technical

Links & privacy

Messages and invites travel as links:

FormWhere it worksNotes
https://crochik.github.io/whisper/m#… and /i#…Clickable everywhereOpens the app directly once App Links / Universal Links are verified; otherwise a small page offers Open in the Whisper app or Open in Whisper for web.
whisper://m/… and whisper://i/…Android, iOS, macOSSome mail apps (e.g. Gmail) don’t make custom schemes clickable.

The payload never reaches a server

Everything after # is the URL fragment, which browsers do not send in HTTP requests. When a link is opened in a browser, GitHub Pages only ever sees a request for /whisper/m or /whisper/i. The fallback pages are static, load nothing external, send no referrer, and hand the fragment to the app or to Whisper for web (which reads it at startup and clears it from the address bar).

The Read screen’s Open message from clipboard accepts a link, a whole email or chat message that contains one, or an armored block — there is no text box to paste into and no Decrypt button.

Sending

Email, Text and Share each encrypt when tapped (the same text to the same person is encrypted once, so every button hands out the same message) and open the platform’s mail app, messaging app or share sheet. Emails also include the armored block for mail apps that break links. Where there is no share sheet, the button is Copy link. Whisper itself never sends anything.