Join our public beta for iOS on TestFlight!
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
Give you the full control of who can talk to you and your chat data
with free open-source protocol and software
of simple to deploy chat servers and simple to use chat clients
providing complete privacy, security and ownership of your contacts and chat.
Alice sends the key to Bob (e.g. via p2p network or via chat server)
Now Bob can send encrypted messages to Alice - he believes it is secure!
But the key can be intercepted and substituted by Tom (the attacker)
Now the attacker can can read the messages without Alice or Bob knowing
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.
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.
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 |
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.
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 terminal client
v1.0.0 is released!
It now has two-layer E2E encryption,
with double-ratchet algorithm in one of them.
You can use our servers or use 1-click deployment on DigitalOcean marketplace.
Sign up to be updated about the new releases.
The project can move faster with your help.
We develop it in Haskell.