Team chat is where the secrets live: product plans, passwords, unreleased designs. Yet on most platforms, every message passes through a server that could read it. Hush is an open source answer to that problem: a self-hostable platform for end-to-end encrypted messaging, voice, and video built on the modern MLS protocol. Crypto runs on your devices; the server is a blind relay that only stores and forwards ciphertext. If your threat model includes the server itself, this is the architecture you want (GitHub, retrieved 2026-10-24).
Key Takeaways
What it is: Hush (hushhq/hush, AGPL-3.0) is an open source, self-hostable team chat with end-to-end encrypted messaging, voice, and video, currently at roughly 494 stars on GitHub.
The crypto bet: It uses the MLS protocol (RFC 9420), a modern standard for group encryption with forward secrecy and post-compromise security, compiled to the browser via OpenMLS to WebAssembly.
Zero-trust architecture: Servers never hold keys or plaintext. Voice and video keys are derived from the channel's MLS state, so even the media relay sees only opaque encrypted packets.
Getting started: Host it yourself with Docker on Linux, or use the hosted app. Identity is a 12-word recovery phrase: no email, no password, no tracking.
Fine print: The project is young (created May 2026) with mobile apps and federation still planned, and it has not yet had the kind of independent security audit that established messengers carry.
What Hush actually is
Hush calls its main repo "the entry point that orchestrates every public component," and the project is genuinely a suite (GitHub, retrieved 2026-10-24). The pieces:
hush-web: the browser client, built with React and Vite.
hush-desktop: an Electron shell around the web bundle for macOS, Windows, and Linux.
hush-server: a Go backend that acts as the relay: API, PostgreSQL, Redis, LiveKit for media, and Caddy in front.
hush-crypto: the cryptography core, Rust using OpenMLS, compiled to WebAssembly so it runs inside the client.
hush-mobile: a React Native client, currently planned.
hush-directory: federated guild discovery, also planned.
Identity is refreshingly old-school cryptography: your account is a 12-word BIP39 recovery phrase. The keypair is derived locally on your device, there is no email or password, and the keys never leave the device. Per-device keypairs get certified via QR code when you add a new device (gethush.live, retrieved 2026-10-24).
The project claims forward secrecy "by epoch," post-quantum "SNDL resistance," and frame-level media encryption: chat, voice, video, and screen sharing are encrypted client-side before they touch the network. The hosted option runs at app.gethush.live, the code is AGPL-3.0, and the site promises no tracking cookies and a free price of zero dollars (gethush.live, retrieved 2026-10-24).
Why the MLS protocol matters
MLS stands for Messaging Layer Security, and it is the IETF's answer to a genuinely hard problem: encrypting group chats efficiently. It became a Standards Track protocol as RFC 9420 in July 2023 (RFC 9420, July 2023).
Here is the problem it solves. Older group encryption designs use a "sender key" approach: each member encrypts with their own key and distributes it to the group. RFC 9420 itself explains why this scales badly: restoring post-compromise security with sender keys requires key-update traffic that grows with the square of the group size, and an adversary who steals one sender key can passively read that member's messages indefinitely (RFC 9420, July 2023). MLS replaces that with ratchet trees, so the cost grows with the logarithm of the group size instead, and it delivers forward secrecy plus post-compromise security for groups from two members to thousands.
The threat model is the key sentence: MLS assumes a trusted authentication service but a largely untrusted delivery service (RFC 9420, July 2023). In plain language, the protocol is designed so that even a compromised server cannot read group data. That is exactly the "zero-trust" claim Hush makes about its own servers.
Hush implements MLS through OpenMLS, a Rust implementation of RFC 9420 maintained by Phoenix R&D and CE Labs, which ships a WASM compilation feature precisely for running the crypto inside web clients (openmls/openmls on GitHub, retrieved 2026-10-24). Every Hush client loads hush-crypto; the server never does.
Zero trust in practice: what the server can and cannot see
Most "encrypted" chat platforms decrypt on their servers for features like search, bots, or abuse detection. Hush's design removes that temptation structurally: the server stores and forwards ciphertext it cannot read.
The details, from the repo's own documentation (GitHub, retrieved 2026-10-24):
Messaging: group state lives in hush-crypto (OpenMLS compiled to WASM) on each client. The Go server relays encrypted MLS messages without the keys to open them.
Voice and video: media goes through a LiveKit SFU, but the encryption keys are derived from the channel's MLS exporter secret. The relay therefore handles only opaque SRTP payloads: it routes packets, it cannot decode them.
Device changes: a transparency log built as a Merkle record tracks every device-key change, so a quietly added rogue device should be detectable rather than silent.
Federation: server-to-server federation is still in design. Today every account lives on a single instance, so a Hush server cannot yet talk to another Hush server.
This is a meaningful contrast with the established players:
Aspect | Hush | Signal | Matrix |
|---|---|---|---|
Group encryption | MLS (RFC 9420), shared group state via ratchet trees | Sesame: per-device Double Ratchet sessions, pairwise encryption per recipient (Signal, rev. 2, 2017) | Megolm (`m.megolm.v1.aes-sha2`) ratchet per room (Matrix spec, v1.19) |
Server trust | Blind relay, no keys, no plaintext | Per-device mailboxes, server tracks users and devices (Signal, rev. 2, 2017) | Room keys can be backed up server-side via encrypted key backup (Matrix spec, v1.19) |
Self-hosting | Full stack self-hostable (Docker) | Server is centralized, not self-hosted | Federated servers, mature self-hosting |
Voice/video E2E | Yes, keys from MLS exporter secret | Yes (1:1 and group) | In development across clients |
License | AGPL-3.0 | GPLv3 (clients) | Apache-2.0 (Synapse), various clients |
Maturity | Created May 2026, ~494 stars | Billions of messages, audited | Decade-old federation, audited |
Signal's Sesame protocol encrypts group messages separately to each recipient device's session rather than using one shared group key, and Matrix's Megolm design includes server-side encrypted key backup, a different trust posture from Hush's "the server never has the keys" model. Hush is betting that MLS, the newer standard, is the right foundation for the next decade of group chat.
Getting started
The repo's self-host path provisions the backend and the media plane together. You need Linux with Docker Engine and Compose, a DNS name, and open ports: 80 and 443 for the web and API, 7880-7881/tcp and 50020-50100/udp for the media relay (GitHub, retrieved 2026-10-24).
If you just want to try it, the fastest route is the hosted web app at app.gethush.live: write down the 12-word phrase, certify your devices with a QR scan, and you are chatting with keys that only your devices hold (gethush.live, retrieved 2026-10-24).
One caution before you migrate your company off Slack: Hush is young. The repo was created in May 2026, has 44 commits and no releases at the time of writing, and there is no published independent security audit yet. The architecture is sound on paper, the MLS standard is real, and the code is open for anyone to inspect, but "open source" is not the same as "reviewed." Treat it as a project to watch and test, not yet one to bet a newsroom or a clinic on.
Want the 30-second version? Watch the repo signal for this project on repomaniac.com, and read this article in Indonesian for the translated edition.
Frequently Asked Questions
What is Hush?
Hush (hushhq/hush) is an open source, self-hostable team chat with end-to-end encrypted messaging, voice, and video. It is licensed AGPL-3.0 and builds its group encryption on the MLS protocol (GitHub, retrieved 2026-10-24).
What is MLS and why does it matter for chat apps?
MLS (Messaging Layer Security, RFC 9420) is the IETF standard for encrypting group messages, published July 2023. It gives groups forward secrecy and post-compromise security while keeping costs logarithmic in group size, and it is designed to stay secure even if the message-delivery server is compromised (RFC 9420, July 2023).
How is Hush different from Signal or Matrix?
Signal encrypts group messages pairwise to each device session; Matrix uses the Megolm ratchet with optional server-side key backup. Hush uses MLS with client-side crypto only, so its servers act as blind relays that never hold keys or plaintext. Signal is centralized, Matrix is federated and mature, Hush is young but architecturally the most server-distrustful of the three.
Can I self-host Hush?
Yes. The stack is open source under AGPL-3.0 and self-hosts on Linux with Docker Engine and Compose, requiring a DNS name and specific open ports for web traffic and media relay (GitHub, retrieved 2026-10-24).
Is Hush audited?
Not publicly as of October 2026. The protocol it builds on (MLS, RFC 9420) went through IETF standardization, and the code is open for inspection, but the Hush project itself has no published independent security audit yet. Verify before trusting it with high-stakes communication.
