A chat app
where you are
the company.

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.

Windows beta macOS later Linux later
Whisper chat interface
01
Your Ghost

A pseudonym + signing key that's yours alone. No account, no email.

02
Encrypted channels

Channel state is gossiped between members, never stored by a server.

03
Burn timer

3:00 left. When it hits zero, the key is gone — everywhere.

04
Ghost mode

"A ghost has hidden from you" — identities don't have to be visible to be real.

Same chat app. Different assumptions.

The things a normal team chat quietly does with your data — and what Whisper does instead.

The chat you're using now Client–server, account-based
  • Your messages sent to their servers in readable form
  • Proving who you are email, phone, and — increasingly — a government ID or face scan to unlock basic features⁠1
  • Who you talk to visible to the company running the service
  • Behavioral signals tenure, active hours, servers you join — fed to models that decide what you're allowed to do⁠2
  • Legal requests they hold the data; they can be compelled to hand it over
Whisper peer-to-peer, on your device
  • Your messages encrypted on your device before they leave it
  • Proving who you are you never do — no email, no phone, no ID, no face scan, ever
  • Who you talk to routed through multi-hop relays; intermediate peers only see ciphertext
  • Behavioral signals there is no account to build a profile against
  • Legal requests Whisper the project has no servers and holds no user data

You still get channels, DMs, voice rooms, roles. The difference is where the bytes actually live →

01 · How it works

The life of one Whisper message.

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.

01
Alex's device

Compose

plaintext
A
Alex10:40 AM
Hey, same hike Saturday?

Plaintext lives in RAM only. No draft syncs to iCloud or Google. No keystroke telemetry. Whisper couldn't read it even if subpoenaed.

02
Alex's device

Encrypt

AES-256
mkak_mk17_8a3f…
nonceb1c4 · 8e2a · fd90
tagverified

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.

03
Mesh peers

Route

opaque
ghost_a8cf Alex · origin
peer_2f91 relay · QUIC · 14ms
🔒
peer_c03e relay · QUIC · 22ms
🔒
ghost_7b12 Maya · destination

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.

04
Maya's device

Decrypt

verified
M
Alex (YOU)10:40 AM ✓
Hey, same hike Saturday?

Maya's device advances its ratchet, verifies the Ed25519 signature, decrypts, and burns the message key. The same key cannot decrypt anything else — ever.

Keys burned per message1
Server-side copies0
Account metadata retainednone
Subpoenable recordsnone
02 · Try it · Encryption

Type a message. Watch it disappear.

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.

⚡ encryption-playground
WHISPER

01 · Plaintext (never leaves this tab)

plaintext: 24 chars · 24 B ciphertext: 24 B + 16 B tag
key idk_8a3f… nonce tag

02 · Ciphertext what the network sees

Same message → 5 different ciphertexts
Tamper test — try the attack buttons above
untouched decrypts cleanly
03 · Try it · Forward secrecy

One key per message. Then we burn it.

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.

⚡ ratchet-playground
WHISPER
A
Alex
ghost_a8cf
Sending chainCKs_1
Network wire0 frames
M
Maya
ghost_7b12
Receiving chainCKr_1
01 · Forward secrecy

Break into Alex's phone today → you still can't read anything he sent yesterday. Those keys are already gone.

02 · Post-compromise security

The next DH step heals the session. After the ratchet turns, an attacker with old keys learns nothing new.

03 · Out-of-order safe

Message keys are derived by index. Messages that arrive late still decrypt — without leaving a persistent key behind.

04 · The network

No company in the middle.

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 door⁠3 — 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.

CENTRALIZED

Traditional chat app

Every message lands on a company server, is written to disk, indexed, and forwarded on.

SERVER chat.company.com
  • ×One subpoena reveals everyone's metadata.
  • ×One breached vendor leaks tens of thousands of IDs at once.⁠3
  • ×One region goes down, everyone goes down.
  • ×Message content may be encrypted; who-talks-to-whom is not.
  • ×Your account can be banned, renamed, or hidden by the operator.
PEER-TO-PEER

Whisper mesh

Devices find each other through a public DHT and talk directly. Routing peers only see opaque blobs.

  • No central log — there is no "user table" to subpoena.
  • No vendor pile of IDs — Whisper doesn't collect them, so nobody can leak them.
  • Any peer can relay; outages route around.
  • Routing peers see only encrypted blobs, not who wrote them.
  • Your Ghost ID is yours — we can't delete it, rename it, or impersonate you.
Traditional
Whisper
Where messages live
Company database, ~30-90 days
Your device only, you set TTL
Who sees metadata
Operator sees sender, recipient, time
Only hop-neighbors see routing, not identities
When their vendor is breached
ID photos and selfies you uploaded leak publicly⁠3
Nothing was collected; nothing can leak
When policy changes overnight
New age checks, retention, or ToS apply to your old data⁠4
Your data isn't theirs to reclassify
Typing indicators
Stream through a service
Encrypted hint, off by default
Account deletion
Support ticket → maybe, eventually
Close the app. The Ghost stops existing.
Works offline (LAN)
No — requires reachable servers
Yes — mDNS discovery, direct UDP
05 · Try it · On the wire

What your ISP actually sees.

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.

⚡ wire-tap · live
WHISPER

01 · Send traffic real encrypt → pad → frame

Sent
0
Cover
0
Jitter
0 – 500 ms

02 · On the wire what the tap receives

03 · ISP sniffer four attacks · running live

DPI deep-packet inspection
SIZE length-histogram analysis
TIMING inter-arrival cadence
PROTOCOL IDS rule matcher
What the ISP does still see
  • IP tupleSource + destination IP and port numbers. This is the network layer — nothing we can hide without a separate transport like Tor or a VPN.
  • UDP vs TCPWhisper prefers QUIC over UDP and falls back to TCP + Noise. The transport choice is visible; the payload is not.
  • Total bytes & flow durationPadding defeats per-message length analysis, but an ISP can always see that some encrypted traffic is flowing and roughly how much.
06 · The app

A full chat app. Minus the server.

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.

GROUPS

Channels, threads, members — zero back-end.

Group state is gossiped between members. The last device online keeps the history intact.

DIRECT MESSAGES

DMs with pending requests, ghost-mode identities.

Your display name stays hidden until you accept. Accept once — it's a peer.

VOICE ROOMS

SRTP voice, no signaling server.

Hosts, co-hosts, mic queue — all negotiated peer-to-peer.

ROLES & PERMISSIONS

Owner, admin, mod, member.

Signed role tokens — no admin panel on a server to hack.

ATTENTION INBOX

Replies, pins, and failed sends in one place.

Per-device inbox — no notification cloud ever involved.

CHANNEL CONTROL

Slow mode, ephemeral timers, open or closed.

Set a 5-minute TTL. Messages vanish from everyone's device — cryptographically, not just visually.

PRIVACY

Presence, typing, receipts — all opt-in.

Turn presence off: you're "Anonymous" to everyone, even your own groups.

WISP CONNECTIVITY

IPv6 first, with automatic router mapping.

Reflect and reprobe keep paths honest: direct when reachable, relayed only when the network says so.

INVITE TREE

Every member traces back to an owner.

Invite chains make accountability visible — see who vouched for who, and decide whether to trust that path forward.

DM GROUP INVITE

Send a sealed invite. They get a join button.

The address book keeps trusted ghosts close without turning them into accounts.

LOCAL AUDIO

Devices, volume, voice quality — tuned per install.

Each install tunes itself locally. Nothing about your mic, speakers, or voice profile ever syncs to a server or to peers.

MEDIA & UPDATES

Backend audit trails, signed updates, manual update approval.

Media and release bytes can move peer-to-peer, but signatures decide what runs.

07 · Voice

Voice calls that don't need a voice server.

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.

🔊 weekend-crew · voice
WHISPER
weekend-crew
4 speaking · mesh mode
talkers
room tx1.3Mbps
cpu1.02%
mem16.7MB
you 224kbps 92kbps

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.

01

Local capture, native audio

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.

02

Same trust model as messages

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.

03

Mesh when small, stage when large

Small rooms stay direct peer-to-peer. Larger rooms elect relay owners — but forwarders only move ciphertext; they can't listen.

04

Per-sender profiles

Each participant picks their own fidelity. One person on Low for a spotty link, another on Music for stereo — no renegotiation.

Opus profile Rate Bitrate Use for
Music 48 kHz · stereo 128 kbps listen-togethers, streams
High 48 kHz · stereo 64 kbps strong-link calls
Medium 48 kHz · mono 32 kbps everyday 1:1 & small rooms
Low 16 kHz · mono 14 kbps fragile / metered links
Capturedon your device
CodecOpus
Transportlibp2p · GossipSub
Media servernone
08 · Client updates

Updates peers can carry. Never forge.

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.

Signed release manifest verified · Ed25519
version1.0.5
channelbeta
platformwin
binary size28.4 MB
blake3b2af 8c41 d0e7 9a15 · 6bc3 5e9a · f20d 714c
proto min0x1a · 0x22
Release metadata
minted 2026-04-18 14:02 UTC
min supported 1.0.3
revokes no versions revoked
Peer-assisted delivery fetching · 0%
seed_ab12 · updater seeder32 chunks
peer_4f90 · verified peer18 chunks
DHT fallbackon demand
Fetch signed manifest
Verify Ed25519 signature
Assemble chunks (peers → DHT)
Match BLAKE3 hash + size
Await user approval
AvailabilityPeers + DHT can distribute bytes even if a central host is down.
AuthenticityEmbedded developer keys decide what's allowed to run. Peers don't get a vote.
ConsentInstalls require explicit user approval. Updates are never silent or forced.
09 · Systems

Four systems. One end-to-end story.

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.

SYS · GHOST

Ghost — identity

Ghost
id9Sq7BLUu
safety847 293 051 688

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 + Ed25519
SYS · WISP

Wisp — transport

  • Detecting interface…
  • Probing IPv6 reachability
  • NAT traversal (PCP / UPnP)
  • Discovering nearest peers
  • Direct QUIC handshake

IPv6-first direct connections with IPv4 fallback. Establishes the shortest reachable path to a peer — no relay servers in the middle.

UDP / QUIC
SYS · VAULT

Vault — storage

1f3a·9e·b2✗ rejected
7c02·11·44✗ rejected
aa9d·8f·0c✗ rejected
Attempts1,284
Success rate0.0000%
Est. to crack1038 yr

A local, encrypted store that holds your chats, keys, and media. Argon2id key-stretching makes brute force mathematically unreasonable.

AES-256-GCM + Argon2id
SYS · SENTINEL

Sentinel — peer reputation

Recent peer events
neutral flagged blocked

Every 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 −200
10 · Safety check

Know what's watching. Before keys move.

Before 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.

SECURITY
Your connection is secure
Whisper is encrypted end-to-end. No threats detected on your device or network.
Device ALL CLEAR
No issues detected
Network ALL CLEAR
No issues detected
Peers ALL CLEAR
No issues detected
Screen capture protection
Prevents screen recording and screenshot tools from capturing this window
1Device

What else on this machine could see the plaintext before it's encrypted.

  • Attached debuggers — release builds treat this as danger, debug builds as caution
  • Known keylogger & keyboard-hook processes (Spyrix, Ardamax, Revealer, logkeys…)
  • Screen recorders & capture tools (OBS, Bandicam, ShareX, Camtasia, Loom…)
  • Remote-desktop or shared-session sign-ins (RDP, SSH)
2Network

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.

  • System proxies (HTTP_PROXY, HTTPS_PROXY, ALL_PROXY) — flagged as a signal about the environment, not a claim that Whisper traffic is being routed
  • Packet-capture tools installed locally (Wireshark, tshark, tcpdump, mitmproxy, Fiddler, Charles)
3Peers

How the peers you're talking to have been behaving on the wire — powered by Sentinel.

  • Blocked peers — reputation score ≤ −200
  • Flagged peers — score between −50 and −200 (replays, bad signatures, PoW shortcuts, rate-limit abuse)
4Screen capture protection

Ask the OS to exclude the Whisper window from screen recorders and screenshot tools.

  • Windows — SetWindowDisplayAffinity
Local onlyThe scan runs on your machine. Nothing about your environment leaves the device — not to us, not to a telemetry endpoint, not to a peer.
Not a trust badgeA green light rules out the specific threats we can see from userspace. Encryption still does the heavy lifting underneath.
Honest about limitsA kernel-level rootkit or a compromised OS is below the layer any userspace app can reach. If the base is broken, nothing running on top can rescue it.
11 · Performance

Fast, quiet, and small.

No electron bloat and no background sync chatter. Here's what the app looks like at idle on a modern laptop.

WHISPER · v1.0.4 · measured on Echo Baseline · commit 65d7ae8
727ns
AES-256-GCM · 1 KB
Per-message encrypt on the baseline machine — ~1.37 M ops/s.
70µs
DM encrypt + decrypt
Full round-trip through the ratchet manager.
101k/s
Ed25519 · sign
~9.9 µs each. Every transcript line is signed.
0.40ms
MLS · add member
Commit + welcome for a new group participant.
CIPHER · AES-256-GCM KDF · HKDF-SHA256 SIG · Ed25519 DH · X25519
Install

Get the Whisper Windows beta.

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.

Beta builds are signed and hash-locked. Installs still require your approval.