Skip to content

SimpleX - the first messaging platform operating without user identifiers of any kind - 100% private by design! iOS and Android apps are released πŸ“±!

License

Notifications You must be signed in to change notification settings

mika-nl/simplex-chat

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SimpleX logo

SimpleX - the first messaging platform that has no user identifiers of any kind - 100% private by design!

build GitHub downloads GitHub release Follow on Twitter Join on Reddit

iOS app Β  Android app Β  F-Droid Β  iOS TestFlight Β  APK

  • πŸ–² Protects your messages and metadata - who you talk to and when.
  • πŸ” Double ratchet end-to-end encryption, with additional encryption layer.
  • πŸ“± Mobile apps for Android (Google Play, APK) and iOS.
  • πŸš€ TestFlight preview for iOS with the new features 1-2 weeks earlier - limited to 10,000 users!
  • πŸ–₯ Available as a terminal (console) app / CLI on Linux, MacOS, Windows.

Why privacy of communications matter

Everyone should care about privacy and security of their communications - innocuous conversations can put you in danger even if there is nothing to hide.

One of the most shocking stories is the experience of Mohamedou Ould Salahi that he wrote about in his memoir and that is shown in The Mauritanian movie. He was put into Guantanamo camp, without trial, and was tortured there for 15 years after a phone call to his relative in Afghanistan, under suspicion of being involved in 9/11 attacks, even though he lived in Germany for the 10 years prior to the attacks.

It is not enough to use an end-to-end encrypted messenger, we all should use the messengers that protect the privacy of our personal networks - who we are connected with.

SimpleX unique approach to privacy and security

Full privacy of your identity, profile, contacts and metadata

Unlike any other existing messaging platform, SimpleX has no identifiers assigned to the users - not even random numbers. This protects the privacy of who are you communicating with, hiding it from SimpleX platform servers and from any observers. Read more.

The best protection against spam and abuse

As you have no identifier on SimpleX platform, you cannot be contacted unless you share a one-time invitation link or an optional temporary user address. Read more.

Complete ownership, control and security of your data

SimpleX stores all user data on client devices, the messages are only held temporarily on SimpleX relay servers until they are received. Read more.

Users own SimpleX network

You can use SimpleX with your own servers and still communicate with people using the servers that are pre-configured in the apps or any other SimpleX servers. Read more.

For developers

We plan that the SimpleX platform will grow into the platform supporting any distributed Internet application. This will allow you to build any service that people can access via chat, with custom web-based UI widgets that anybody with basic HTML/CSS/JavaScript knowledge can create in a few hours.

You already can:

  • use SimpleX Chat library to integrate chat functionality into your apps.
  • use SimpleX Chat bot templates in Haskell to build your own chat bot services (TypeScript SDK is coming soon).

If you are considering developing with SimpleX platform please get in touch for any advice and support.

News and updates

Apr 04, 2022. Instant notifications for SimpleX Chat mobile apps. We would really appreciate any feedback on the design we are implementing.

Mar 08, 2022 Mobile apps for iOS and Android released

Feb 14, 2022. SimpleX Chat: join our public beta for iOS

All updates

Make a private connection

You need to share a link or scan a QR code (in person or during a video call) to make a connection and start messaging.

The channel through which you share the link does not have to be secure - it is enough that you can confirm who sent you the message and that your SimpleX connection is established.

Make a private connection

⚑ Quick installation of a terminal app

curl -o- https://raw.githubusercontent.com/simplex-chat/simplex-chat/stable/install.sh | bash

Once the chat client is installed, simply run simplex-chat from your terminal.

simplex-chat

Read more about installing and using the terminal app.

SimpleX Platform design

SimpleX is a client-server network with a unique network topology that uses redundant, disposable message relay nodes to asynchronously pass messages via unidirectional (simplex) message queues, providing recipient and sender anonymity.

Unlike P2P networks, all messages are passed through one or several server nodes, that do not even need to have persistence. In fact, the current SMP server implementation uses in-memory message storage, persisting only the queue records. SimpleX provides better metadata protection than P2P designs, as no global participant identifiers are used to deliver messages, and avoids the problems of P2P networks.

Unlike federated networks, the server nodes do not have records of the users, do not communicate with each other and do not store messages after they are delivered to the recipients. There is no way to discover the full list of servers participating in SimpleX network. This design avoids the problem of metadata visibility that all federated networks have and better protects from the network-wide attacks.

Only the client devices have information about users, their contacts and groups.

See SimpleX whitepaper for more information on platform objectives and technical design.

Roadmap

  • βœ… Easy to deploy SimpleX server with in-memory message storage, without any dependencies.
  • βœ… Terminal (console) client with groups and files support.
  • βœ… One-click SimpleX server deployment on Linode.
  • βœ… End-to-end encryption using double-ratchet protocol with additional encryption layer.
  • βœ… Mobile apps v1 for Android and iOS.
  • βœ… Private instant notifications for Android using background service.
  • βœ… Haskell chat bot templates
  • πŸ— Privacy preserving instant notifications for iOS using Apple Push Notification service (in progress).
  • πŸ— Mobile app v2 - supporting files, images and groups etc. (in progress).
  • πŸ— Chat server and TypeScript client SDK to develop chat interfaces, integrations and chat bots (in progress).
  • Chat database portability and encryption.
  • End-to-end encrypted audio and video calls via the mobile apps.
  • Web widgets for custom interactivity in the chats.
  • SMP protocol improvements:
    • SMP queue redundancy and rotation.
    • Message delivery confirmation.
    • Supporting the same profile on multiple devices.
  • Privacy-preserving identity server for optional DNS-based contact/group addresses to simplify connection and discovery, but not used to deliver messages:
    • keep all your contacts and groups even if you lose the domain.
    • the server doesn't have information about your contacts and groups.
  • Media server to optimize sending large files to groups.
  • Channels server for large groups and broadcast channels.

Disclaimer

SimpleX protocols and security model was reviewed and had many improvements in v1.0.0; we are currently arranging for the independent implementation audit.

You are likely to discover some bugs - we would really appreciate if you use it and let us know anything that needs to be fixed or improved.

License

AGPL v3

About

SimpleX - the first messaging platform operating without user identifiers of any kind - 100% private by design! iOS and Android apps are released πŸ“±!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Haskell 51.6%
  • Kotlin 23.2%
  • Swift 22.6%
  • Nix 1.8%
  • Shell 0.4%
  • CMake 0.2%
  • Other 0.2%