you@mercury:~$
[ ok ] keys ............ sealed in os keychain — never exported
[ ok ] relay ........... opaque ciphertext only — no decrypt path
[ ok ] phone number .... not required. not wanted.

Don't trust.
Verify.

Mercury is an end-to-end encrypted messenger. Your keys are generated on your machine and never leave it. The relay shovels encrypted bytes it cannot read. Every artifact ships with a SHA-256 so you can check us — which beats believing us.

v0.1.33 · windows: authenticode-signed · windows.sha256 · linux: unsigned, verify · linux.sha256

NO PHONE NUMBER NO KEY ESCROW NO PLAINTEXT ON THE SERVER NO HIDDEN AI VERIFY EVERYTHING   NO PHONE NUMBER NO KEY ESCROW NO PLAINTEXT ON THE SERVER NO HIDDEN AI VERIFY EVERYTHING  

cat WHY.md

privacy as a property of the construction — not a paragraph in a policy.

The server cannot read your messages. Not "will not." Cannot.

[01] KEYS

Keys stay home

Identity and message keys are sealed in your OS keychain. Never uploaded, never escrowed, never rendered in the clear — there is nothing server-side to leak.

[02] RELAY

The relay is a blind pipe

Ciphertext in, ciphertext out, zero key material. Don't like ours? Self-host the relay with one Docker command and point Mercury at it.

[03] IDENTITY

You are not a phone number

Identity is a cryptographic account id, shared by pairing code, username, or invite link — and confirmed human-to-human with safety numbers.

[04] CRYPTO

Real crypto, no improv

MLS (RFC 9420) group messaging over verified 1:1 channels; post-quantum hybrid 1:1 sessions; audited libraries for the primitives. Read the security model →

[05] AI

AI can't lurk

An AI may only ever join as a visible, invited, end-to-end encrypted guest with scoped permissions. Block it and it's gone. No hidden plaintext path — ever.

[06] PROOF

Claims you can check

Signed Windows installer, published SHA-256 for every artifact, and updates that always ask before installing. Verification over vibes.

ls release/v0.1.33

two artifacts, two checksums. verify before you run — it takes ten seconds. recent additions: mls group chat, read receipts (with a privacy toggle), pinned conversations, message search, encrypted attachments to 4 MiB.

Mercury-Setup-Windows-x64.exe win 10/11 · authenticode-signed + timestamped · prompted auto-update · sha256
get ↓
Mercury-Linux-amd64.deb debian/ubuntu · unsigned — verify the checksum · manual update · sha256
get ↓
// verify before you run
# the moment of truth:
$ 
Mercury-Linux-amd64.deb: OK
# windows: Get-FileHash, then check the Authenticode signature in Properties. details: /security

mercury --status --no-marketing

early software, built for small circles first. a security tool that overstates itself isn't one — so here is exactly where mercury stands.

[ OK ]

windows 10/11 + linux (.deb) shipping. windows signed + timestamped; in-app update prompts — never silent. linux updates by re-download; an appimage ships once a large-file host is set up.

[ OK ]

e2e by default. pq-hybrid 1:1 sessions, mls (rfc 9420) groups, encrypted local store, encrypted attachments to 4 MiB.

[ OK ]

connect without a phone number. pairing codes, usernames, invite links, or a raw account id — then confirm with safety numbers.

[WARN]

delivery requires a running process — window open or minimized to tray ("start at login" recommended). fully quit, messages queue encrypted at the relay until next launch. no OS push yet.

[WARN]

macos + mobile: not yet. macos awaits an apple signing certificate; ios/android are on the roadmap.

[WARN]

no third-party audit yet — so the word "audited" does not appear on this site. security decisions are mirrored into a deterministic validator layer (helix, open source) and cross-checked in ci.

man mercury-quickstart

three steps to a conversation nobody else can read.

[1]

install

Run the signed Windows installer or the Linux .deb. Keys generate locally and seal into your keychain.

[2]

connect

Share a pairing code, username, invite link, or account id. No address book upload. No discovery profiling.

[3]

verify

Compare safety numbers over a channel you already trust. A match rules out a man-in-the-middle — mathematically.