Skip to content

Secure messenger · Windows · Android

Choose how hidden you are

Your contact can see your IP.

Or not.

Chat and call your people from a Windows desktop and an Android phone. Five stops, from OPEN to GHOST: no Tor, or Tor all the way to the relay’s own onion. Encryption does not change between them; only the route does.

Request access

X25519, ML-KEM-768, ED25519, HKDF-SHA256, AES-256-GCM, OPUS, TOR, 60-digit safety number, No password, No phone number

[01] Five stops

Five stops

You choose how hidden you are. Encryption does not change between levels; only the route does.

STOP 03/05 Default

HIDDEN

Relays
3+
Who sees your IP
Only the Tor entry guard
Route
Tor, onion path to the relay.

Tor with alternating voice links. The default.

Route · HIDDENSchematic

YOUGUARDSEES YOUR IPMIDDLERENDEZVOUS.ONION
  • —Moving to a less hidden level always asks first. During a call at DARK or above, the level cannot drop below DARK.
  • —At every level, delivered and read ticks, typing and online status are shared with the people you chat with.
  • —Normal mode shows two choices: OPEN and DARK. Turn on Advanced to see all five.

[02] Sign-in

No password

No password. No phone number. This device’s own key signs you in.

When you pick a handle, the app creates a key pair on your device and the BLACK relay remembers only the public half. Each sign-in is a signature from that key. Nothing is tied to your hardware.

Ed25519 device key · challenge-response

Your device is the account. Lose every device of a handle and the handle cannot be recovered: link a second device to keep a spare.

Sign-in Illustration
pick a handle: the app makes a key pair on this device. handle ........ you. relay ......... challenge ················································. device ........ ed25519 signature over the challenge. relay ......... checks it with the public half on file. signed in. no password, no phone number, no email sent.

[03] Encryption

End-to-end, one to one

One-to-one chats run a session between the two devices. The relay carries sealed messages it cannot read.

  1. 01 Ed25519 Each device key signs the session offer.
  2. 02 X25519 + ML-KEM-768 A hybrid key agreement: an elliptic-curve secret and an ML-KEM secret, combined.
  3. 03 HKDF-SHA256 Derives the chain keys from both secrets.
  4. 04 Hash ratchet One HMAC-SHA256 step per message: a fresh key each time.
  5. 05 AES-256-GCM Seals every message body.
  • [!]The ratchet is a hash chain, not a Double Ratchet: there is no DH ratchet in the session, so forward secrecy is limited.
  • [!]End-to-end covers one-to-one chats. Note to Self is not end-to-end.
  • [!]The lock is shown only when it is true. A chat without a confirmed session says so instead.

Explainer · the key stack

[04] Safety number

60 digits

The safety number is 60 digits from SHA-512 repeated 5200 times.

Matching the safety number means you both see the same identity keys for this chat. It does not prove the devices are clean.

Safety number · desktop

Safety number

····························································

Not verified · compare

SHA-512 × 5200 · waiting · demo keys

Computed in this browser with the app’s algorithm, from random demo keys. Not a real chat.

Compare them in person or on a call, or scan the QR code on their screen. Keys are trusted on first use; if a contact’s key changes, the chat holds until you accept it.

[05] The route

The route, live

Drawn from Tor’s own circuits.

The thin bar at the top of the app shows the route that is really in use: OPEN when you connect directly, or the onion circuit with its nodes when you go through Tor. It names the relay as BLACK relay or by its onion name, never by a network address.

NEW IDENTITY asks Tor for a fresh circuit.

BLACK CHAT · ….onion
The BLACK CHAT desktop app at DARK: the ribbon across the top shows you, guard, middle, rendezvous and the peer; the badge reads DARK, IP hidden.
Real captures · test accounts · desktop app
Tor circuit
The Tor circuit sheet: you, guard, middle and rendezvous with their relay names, the service side not observable, then the peer onion, and a table of all built circuits.
Live circuit sheet · relay names are public Tor relays

[06] Voice calls

Live voice call

Desktop to phone, over Tor.

Compare the short code · same on both screens

Voice call · desktop
Real screen recording · test accounts

Voice frames · 20 ms eachIllustration

Codec
Opus voice in 20 ms frames.
Keys
Fresh keys for every call, every frame sealed with AES-256-GCM.
Code
A short code on both screens. Compare it.
DARK
Every voice frame travels twice, over two Tor circuits.

[!]Calls are best effort. Over Tor they depend on the circuit; OPEN gives the lowest delay and shows your IP to the relay.

[07] Tor mode

Tor mode

Through the relay’s own onion.

In Tor mode every app socket is 127.0.0.1.

This is the app, not the whole machine.

Tor hides your IP from the relay and the contact. It does not encrypt the message body.

  • 01Tor ships inside the app and runs as its own process.
  • 02The relay publishes its own onion service.
  • 03At DARK, if Tor is down, nothing is sent.
Tor mode Illustration
app sockets while Tor mode is on. relay ........ 127.0.0.1 → tor → relay onion. voice lane a . 127.0.0.1 → tor. voice lane b . 127.0.0.1 → tor. circuits ..... 127.0.0.1 → tor control. every app socket: 127.0.0.1. the app, not the whole machine

Layers

Schematic · not a live capture

[08] The relay

What the relay stores

The relay stores a one-to-one body it cannot read, and it still stores the sender and the recipient.

Sender and recipient ids are stored in the clear.

One stored messageIllustration

From
you in the clear
To
them in the clear
Body
sealed, the relay cannot read it sealed
Size
1 312 B in the clear
Time
21:09 in the clear

Stores

  • —Your handle and the public keys of your devices.
  • —Which chats and groups you are in, and who is in them.
  • —Messages until every recipient device confirmed them, with their times and sizes.
  • —Delivered and read times, so the ticks can catch up when you come back online.

Does not get

  • —No phone number, email, contacts upload or hardware id.
  • —At SWIFT and above, not your IP address: it sees a Tor connection.

OPEN: no Tor. Your contact and the relay can see your IP.

Explainer · what the relay stores

[09] Two devices

One handle, two screens

One handle on your desktop and your phone. Messages reach both.

The code is a one-time token: it works once and expires after two minutes. The phone makes its own device key and signs the token with it. The code never holds a network address or anything about your hardware.

Profile
The PROFILE sheet on the desktop: the handle, Device: Desktop, Linked devices: 1, a Link a phone button and the local profiles.
Real capture · desktop · test account

Link a phone2:00

One-time token · expires in two minutes

  1. 01 DesktopPROFILE → Link a phone. A QR code appears with a countdown.
  2. 02 PhoneLink to my desktop instead → Scan QR. No camera? Paste the link text.
  3. 03 DoneThe phone says Linked as <your handle> and signs in.
BLACK CHAT on an Android phone: Calls_, $ whoami with the handle, quick actions New chat, New call, Scan QR, Invite QR and Group, and recent calls.

Real capture · Pixel · test account

Android

  • Screenshots of the app are blocked by default; Settings can allow them.
  • Copied text is marked sensitive.
  • No push service: a closed app does not wake up. Open it and it syncs.

Several local profiles on one desktop, each its own handle with its own key.

[10] Three designs

Three designs

This does not say Telegram is insecure or Signal is broken. Their specs, in their words; our limits, in ours.

Telegram

  • Server-to-client encryption. History syncs. Not end-to-end by default. Source
  • Optional one-to-one end-to-end chats. Not the default. Source

Signal

  • Hybrid X25519 and ML-KEM handshake, specified as PQXDH. Source
  • Signal specifies a Double Ratchet after the handshake. BLACK CHAT does not implement that ratchet. Source
  • Signal describes an outer envelope that hides the sender from the service. BLACK CHAT stores sender and recipient ids in the clear. Source

BLACK CHAT

  • End-to-end, one to one. Note to Self is not.
  • A hash ratchet, one step per message. Not a Double Ratchet.
  • Five stops of routing, from no Tor to Tor through a bridge.

Sources opened 2026-09-27 · no logos copied

[11] Known limits

Known limits

What BLACK CHAT does not do, said plainly.

Known limits
No push. A closed app does not get a notification. Messages wait on the relay until the app opens.. Calls are best effort. Over Tor they depend on the circuit.. One relay. If the relay is down, messages wait on your device until it is back.. Your device is the account. Lose every device of a handle and the handle cannot be recovered.. The relay stores who wrote to whom. Sender and recipient ids are stored in the clear.. Tor hides your IP. It does not encrypt the message body; the session does.. The Windows build is not signed by a paid certificate, so SmartScreen may ask first.. There is no iPhone version.

[12] The film

The film

75 seconds. Real screen recordings of the desktop app and a Pixel phone.

Explainers · each one idea, rendered from the code

[13]Invite only

Invite only

BLACK CHAT is shared by invitation. Ask the person who invited you for the code, then get the two files: one for Windows, one for Android.

Enter invite code

No store, no account, no phone number.