Compose
Plaintext lives in RAM only. No draft syncs to iCloud or Google. No keystroke telemetry. Whisper couldn't read it even if subpoenaed.
Whisper has channels, DMs, voice rooms and roles — all the things you expect from a modern team chat. Under the hood, it runs entirely on your device. Talk as freely as you would face-to-face.
A pseudonym + signing key that's yours alone. No account, no email.
Channel state is gossiped between members, never stored by a server.
3:00 left. When it hits zero, the key is gone — everywhere.
"A ghost has hidden from you" — identities don't have to be visible to be real.
The things a normal team chat quietly does with your data — and what Whisper does instead.
You still get channels, DMs, voice rooms, roles. The difference is where the bytes actually live →
Follow the message "Hey, same hike Saturday?" from Alex's keyboard to Maya's screen. No step happens on a company server — every stage runs on end-user devices and independent routing peers.
Plaintext lives in RAM only. No draft syncs to iCloud or Google. No keystroke telemetry. Whisper couldn't read it even if subpoenaed.
A single-use message key is derived from the ratchet. Plaintext goes to ciphertext in about 0.83 µs per message on the v1.0.4 baseline. The key is burned after encryption.
Relays see the blob but not its contents. Each hop is signed end-to-end and re-encrypted in transit (QUIC + TLS 1.3). No subpoenaable log exists in the middle.
Maya's device advances its ratchet, verifies the Ed25519 signature, decrypts, and burns the message key. The same key cannot decrypt anything else — ever.
Every keystroke runs a real AES-256-GCM encryption in this tab using a key that was generated here and has never left the page. A fresh 96-bit nonce is drawn on every render, so the same plaintext produces a different ciphertext every time — a property called semantic security. The key is thrown away when you close the tab.
Whisper uses a double-ratchet protocol. After every message, both sides advance to a fresh symmetric key and discard the old one. If a device is compromised today, yesterday's messages are still unreadable — the keys that would have decrypted them simply don't exist anymore.
Break into Alex's phone today → you still can't read anything he sent yesterday. Those keys are already gone.
The next DH step heals the session. After the ratchet turns, an attacker with old keys learns nothing new.
Message keys are derived by index. Messages that arrive late still decrypt — without leaving a persistent key behind.
Server-based chat apps route every byte through a handful of data centers. A subpoena, a breach, or a bad weekend for ops puts your conversation at risk. When a third-party vendor that handles ID uploads or support tickets gets hit, tens of thousands of government IDs and selfies walk out the door3 — that's only possible because someone was holding them in the first place. Whisper replaces the star with a mesh — every device is both a client and a router, and there's no central pile of data to breach.
Every message lands on a company server, is written to disk, indexed, and forwarded on.
Devices find each other through a public DHT and talk directly. Routing peers only see opaque blobs.
Your ISP, your router, and every hop between here and your friend's device see your traffic. What they don't see is hostnames, certificates, HTTP, or anything that says "Whisper." Every message runs through a custom WSPR frame, is encrypted under a Signal-style ratchet, and padded to one of five fixed sizes so length analysis has nothing to hold onto. Send some traffic and watch a network operator try to make sense of it.
Whisper looks and moves like a modern team chat. Channels, DMs, voice rooms, roles, media — all of it, rebuilt from scratch on top of the peer-to-peer stack.
Group state is gossiped between members. The last device online keeps the history intact.
Your display name stays hidden until you accept. Accept once — it's a peer.
Hosts, co-hosts, mic queue — all negotiated peer-to-peer.
Signed role tokens — no admin panel on a server to hack.
Per-device inbox — no notification cloud ever involved.
Set a 5-minute TTL. Messages vanish from everyone's device — cryptographically, not just visually.
Turn presence off: you're "Anonymous" to everyone, even your own groups.
Reflect and reprobe keep paths honest: direct when reachable, relayed only when the network says so.
Invite chains make accountability visible — see who vouched for who, and decide whether to trust that path forward.
The address book keeps trusted ghosts close without turning them into accounts.
Each install tunes itself locally. Nothing about your mic, speakers, or voice profile ever syncs to a server or to peers.
Media and release bytes can move peer-to-peer, but signatures decide what runs.
Whisper voice is captured, encoded with Opus, and encrypted on your device before it enters the peer network. One-to-one, group voice channels, mesh or stage — no hosted media server ever sees or mixes the audio.
Mesh mode — each unmuted peer uploads their opus frames directly to all 7 others. No hosted media server, no relay hop.
CPU and memory are measured per-client values from real whisper-bench runs against Echo (8-peer synthetic group-voice scenario). Room TX is aggregate mesh egress — each unmuted peer uploads their opus frames to the 7 other peers, so the total scales with fanout5.
Audio is captured and encoded with Opus on your device before it enters the peer network — no browser glue, no WebRTC, no hidden upload path.
DM calls ride the DM ratchet. Group calls use the group's MLS key to seal every frame; peers relay the ciphertext over GossipSub. Membership = audio boundary.
Small rooms stay direct peer-to-peer. Larger rooms elect relay owners — but forwarders only move ciphertext; they can't listen.
Each participant picks their own fidelity. One person on Low for a spotty link, another on Music for stereo — no renegotiation.
Whisper updates can travel through verified peers, updater seeders, and the DHT — but trust never comes from the network. Each release is signed with Whisper's developer keys and hash-locked before it runs. A peer can help you find an update; it cannot fabricate one.
The features above are built on four named systems. You'll see them referenced throughout the app — here's what each one is responsible for.
A pseudonymous keypair unique to your device. Verification happens through a safety number you and the other person compare out-of-band — never an email, phone number, government ID, or face scan. When a platform's ID-verification vendor gets breached, nothing about you is in that pile, because nothing was ever collected.3
X25519 + Ed25519IPv6-first direct connections with IPv4 fallback. Establishes the shortest reachable path to a peer — no relay servers in the middle.
UDP / QUICA local, encrypted store that holds your chats, keys, and media. Argon2id key-stretching makes brute force mathematically unreasonable.
AES-256-GCM + Argon2idEvery peer earns a score from how it behaves. Replays, bad signatures, PoW shortcuts, and rate-limit abuse dock points. Cross −50 and you're flagged; cross −200 and you're cut off until the score decays back.
soft −50 · hard −200Before Whisper sends your first message, it scans the surface it's actually running on — the device, the network path out, and the peers on the other end. You get an honest read on what can see what you type. If something looks off, the app tells you exactly what it found. If everything's clear, you get a green light and start typing.
What else on this machine could see the plaintext before it's encrypted.
Environmental signals worth knowing about. Whisper's own peer traffic runs over QUIC (UDP) with fixed-size padding, so HTTP(S) proxies don't intercept it and on-the-wire observers can't fingerprint message lengths.
HTTP_PROXY, HTTPS_PROXY, ALL_PROXY) — flagged as a signal about the environment, not a claim that Whisper traffic is being routedHow the peers you're talking to have been behaving on the wire — powered by Sentinel.
Ask the OS to exclude the Whisper window from screen recorders and screenshot tools.
SetWindowDisplayAffinityNo electron bloat and no background sync chatter. Here's what the app looks like at idle on a modern laptop.
The beta is free and runs entirely on your machine. Expect frequent signed updates while we harden the release path. It will never ask for an email, a phone number, a credit card, a government ID, or a face scan.