Whitepaper Comparison Blog

SimpleX Chat

Private & encrypted - the only platform without user identifiers!

You can download terminal chat app from GitHub or using this command:

curl -o- https://raw.githubusercontent.com/simplex-chat/simplex-chat/master/install.sh | bash Copy to clipboard




Privacy redefined

SimpleX advantage:

SimpleX ensures data and meta-data privacy

with a new protocol design – it delivers messages

without using senders' and recipients' identifiers,

unlike any other messaging platform.


Two-layer encryption and communication integrity


Your contacts and messages are stored on your device


Easy to add contacts and start talking

Problem: chat security

End-to-end encryption?

Alice sends the key to Bob (e.g. via p2p network or via chat server)

Alice sends the key to Bob

Now Bob can send encrypted messages to Alice - he believes it is secure!

They believe it is secure

Man-in-the-middle attack!

But the key can be intercepted and substituted by Tom (the attacker)

key is intercepted

Now the attacker can read the messages without Alice or Bob knowing

attacker can read messages

What is the solution?

To create secure encrypted channel you need an existing secure channel
where you can pass the encryption key (or key fingerprint).

Any alternative solution can be compromised.

Make a private connection!

To add contact and to start chat

Adding a contact in mobile app will require sharing your one-time QR code.
In the terminal UI you need to share an invitation with your contact.

After creating your chat profile in the app:

Show QR code or share link

mobile app: show QR code to add contact

Your contact scans QR code or opens link

mobile app: scan QR code

A private connection is established

mobile app: confirm contact

Now you can chat privately!

mobile app: start chat

Comparison with other protocols

simplex logo SimpleX chat Signal, big platforms XMPP, Matrix P2P protocols
Requires global identity No - private Yes 1 Yes 2 Yes 3
Possibility of MITM No - secure Yes 4 Yes Yes
Dependence on DNS No - resilient Yes Yes No
Single or centralized network No - decentralized Yes No - federated 5 Yes 6
Central component or other network-wide attack No - resilient Yes Yes 2 Yes 7
  • Good
  • Bad
  1. Usually based on a phone number, in some cases on usernames
  2. DNS-based addresses
  3. Public key or some other globally unique ID
  4. If operator’s servers are compromised
  5. Does not protect users' metadata
  6. While P2P are distributed, they are not federated - they operate as a single network
  7. P2P networks either have a central authority or the whole network can be compromised - see here

SimpleX messaging protocol

Unidirectional (simplex) queues

Simplex messaging protocol (SMP) for messaging via secure persistent queues will serve as the low level protocol for SimpleX chat - see demo server implementation.
It uses different encryption keys for each message queue - the key is passed via existing secure channel - e.g. QR code or another simplex queue.

simplex messaging protocol


Communication integrity

Each chat uses two (or more) simplex queues for duplex communication. Each message contains the hash of the previous message to detect if messages are lost or changed.

simplex chat: duplex conversation

Use SimpleX

SimpleX chat terminal client v2.0.0 is released!
– groups and files
– two-layer E2E encryption, with double-ratchet algorithm
– protocol is compatible with mobile apps

You can use our servers or deploy your own, e.g. using StackScript on Linode.

Sign up to be updated about the new releases.