Hushpiper Download

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:

  1. Sealed with a fresh key. Your device locks the message with a brand-new key (AES-256-GCM).
  2. That key is sealed for each device in the chat, using each one's public key (X25519 with HKDF-SHA256).
  3. 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.

A chat between Maya and Leon about dinner, with a reply, a heart reaction and a photo of a lake at sunset.
Sealed on your phone, opened on theirs.

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.

The privacy screen of a chat with Leon: presets, how the ticks show, and switches for online, last seen, typing and more.
Each chat has its own rules.

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

Report a problemClose

Goes only to the Hushpiper team, with this page's address and your screen size. Don't include passwords or recovery words.