Security
Locked on your device. Opened only on theirs.
Everything you send is sealed before it leaves your phone or computer, and only the people in the chat hold the keys. Here is what that means, in plain words, and how to tell us if you find a problem.
Your messages are locked on your device
When you install Hushpiper, your device makes its own pair of keys. The private one never leaves it. Every message goes out in three steps:
- Sealed with a fresh key. Your device locks the message with a brand-new key (
AES-256-GCM). - That key is sealed for each device in the chat, using each one's public key (
X25519withHKDF-SHA256). - Our server passes on an envelope it can't open, hands it to each device, and deletes it once every device has it. Photos and files go after 7 days at the latest.
Everything, not just text
Photos, videos, voice notes, files, stickers, locations, polls, reactions, statuses and call set-up are all sealed the same way.
Keys that keep changing
Chats now use MLS (Messaging Layer Security, RFC 9420): the keys move on as you chat, so a stolen key can't open old messages, and each chat has keys of its own. A chat switches to MLS by itself once every device in it can.
Backups you keep
An encrypted backup is a file on your device, locked with a password only you know. We never hold it.
In a browser too
The web app seals and opens messages inside your browser, the same way. Its keys stay in that browser.

Calls
Voice and video are encrypted end to end too, whichever way the call travels.
Phone to phone
One-to-one and small group calls go straight between devices where they can, encrypted by the standard WebRTC protocols (DTLS-SRTP).
Through our relay
When two networks can't reach each other, our relay passes on encrypted sound and video it can't decode. It sees your network address; the other person doesn't.
Big group calls
Larger calls run on our media server with a second layer of end-to-end encryption, using a key only the people on the call have.
On your device
The locks that protect your chats from whoever picks up your phone.
App lock
A PIN, or your fingerprint or face, before the app opens.
Hidden chats
Some chats in an encrypted vault, behind a second PIN, out of sight of the main list.
Wipe code
Entered when you sign in, it signs out and erases every device. Nobody can tell it from a normal sign-in.
Per-chat rules
A chat can block screenshots, saving and forwarding, on devices that allow it, and messages can disappear on a timer.

On our servers
Our server's job is to pass sealed envelopes on and forget them. What it does hold is kept small and locked down.
HTTPS everywhere
Every connection uses TLS. We never log message contents, because we never have them.
Sign-in that slows attackers
Sign-in and sign-up are rate limited, and a lost account comes back only with your 12-word recovery phrase or one of your signed-in devices.
No public file links
Files have no public web address: every download checks that you're in the chat.
Gone once delivered
A sealed message is deleted when every device has it; photos and files after 7 days at the latest.
No access logs
Our web server keeps no access logs, and its error logs are deleted after 14 days at the most.
Contacts checked, then forgotten
If you let the app find people from your contacts, each number is scrambled, compared and forgotten. We never keep your contacts.
Check it yourself
Every chat has a security code (chat menu, Security code). Compare it with the people in the chat, in person or on a call: if it's the same on every phone, nobody is in the middle.
Report a security problem
If you think you've found a vulnerability, email security@hushpiper.com with what you found and how to reproduce it. Please don't include other people's data, and give us a reasonable time to fix it before telling anyone else.
We reply within 5 working days
And keep you updated until it's fixed.
Good faith is safe
We won't take legal action against research done in good faith that respects our users' privacy and stays within these rules.
Credit, for now
We don't have a paid bug bounty yet, but we'll gladly credit you.
What's security.txt? A standard file (RFC 9116) that security researchers' tools look for on every website, to find out who to tell about a problem. It's plain text, not a web page, so a browser just shows the text. You don't need it: it gives the same email address as above. See our security.txt (plain text).