Instant Messengers

TLDR

Use either XMPP or Simplex. The rest of the options are outclassed by these ones. Some P2P messengers are also good and have their use cases, but due to the limitations of P2P they are still outclassed in most situations.

Legend

No info Worst Bad Barely Decent Probably Okay Good

Table

Check our Criteria. Feel free to open an issue to discuss these ratings or provide new information.

Name Telemetry Rating Network Architecture DNS dependent Metadata Resistant Information Required E2E Encryption Operating System License Verdict
WhatsApp High, Meta telemetry Centralized Yes No Phone Number Yes Various Proprietary Do Not Use
Telegram Unrated Centralized Yes No Phone Number No Various Client is free software, proprietary server Do Not Use
Skype Probably high, sources needed Centralized Yes No Microsoft Account N/A Various Proprietary Do Not Use
Discord Extremely High Centralized Yes No Email and potentially Phone Number No WebUI and Electron, 3rd party clients prohibited Proprietary Do Not Use
Signal Google Libraries on the official app Centralized Yes Yes Phone Number Yes Mobile, Electron MIT, server partially proprietary Avoid
Threema Unrated Centralized Yes N/A Payment Info, Bitcoin is an option but no Monero Yes Android, iOS, Web Client under GPLv3 , proprietary server Avoid
Wire Unrated Centralized Yes N/A Credit Card Yes Various AGPLv3, GPLv3 Avoid
Session Unrated Decentralized, Swarms (blockchain) Yes Yes None Yes Mobile, Electron N/A server, GPL (clients) ?
Matrix Unrated Decentralized, dominant instance, Federated Yes no Email (main instance) Yes WebUI, electron (official client), various (3rd party clients) Apache (official implementations), various (other) Check other options
XMPP None (could vary on client) Decentralized, Federated Partially, can be used through Tor/I2P no None (depends on server) Yes Various, depends on client CC-BY-SA 2.0 (specification), various (clients) Good
GNU Jami None Decentralized, P2P No N/A None Yes Android, most desktop OSs GPLv3 Okay
Briar None Decentralized, P2P No N/A None Yes Android, Linux GPLv3 Okay
Simplex None Decentralized, P2P No Yes None Yes Android, iOS, Linux, MacOS GPLv3 Good

Criteria

Essential

Nice to have

Analysis

Pending

Meta owned.

Pending

Requires a phone number, it's centralized and only a special, non-default type of chats is E2EE.

Pending

Microsoft owned.

Pending

Read the following articles: Spyware Watch Dog, Drew DeVault, Opal.

Pending

An in-depth analysis is planned, meanwhile, Signal's two biggest flaws are:

  • it is centralized.
  • it requires a phone number.

Pending

An in-depth analysis is planned, what is important to know is that it's centralized and it's server is proprietary software. It is also paid and does not support either Monero nor cash by mail.

Pending

Centralized. It's paid and requires credit card, no other payment options.

Pending

Pending

I plan to make a full article about Matrix, until then, here's some quick commentary:

The official (massive) instance, matrix.org, is Cloudflared and employs a Google ReCaptcha to keep people away, and is hosted on Amazon servers.

When taking into account that standards like XMPP and IRC have been around for decades, we can safely affirm that Matrix is a completely over-engineered system, ignoring all well established international standards and run by a for-profit entity with venture capital funding.

Outclassed by XMPP in every aspect, but If you really need to use Matrix, be sure to use an independent homeserver or self-host. Avoid the official server.

Read this excellent article for more issues with matrix.

WIP

XMPP stands for the "eXtensible Messaging and Presence Protocol". It is currently one of the, if not the best choice for instant messaging currently available. No one owns XMPP. It's a free and open standard for everyone to use since 1999.

It has been used under the hood of thousands of other Instant Messengers, such as WhatsApp, Facebook Messenger, Zoom Chat and a long list of big services have made use of the XMPP standard to build their vendor-locking messengers.

We're interested in the federated XMPP network. It provides users the ability to communicate with other users even if they are in a different server, just like email.

XMPP is an evolving protocol and during the years it has supported multiple encryption methods: GPG, OTR and OMEMO. We strongly recommend OMEMO because it's the best supported and more modern method of the three.

You can easily self-host your own XMPP server and gain your own data sovereignty.

XMPP is an incredibly flexible protocol and as such it can be used through Tor and/or I2P, making it censorship resistant becoming independent of DNS and the ICANN and allowing users to be completely anonymous from the server of your choice.

It is not entirely perfect, as the server receives some metadata from the users, notably the user's Contact list (for sync between devices). It is also susceptible (as almost every other client-server protocol) to MITM attacks, that's why it's important to choose a trusted server.

Nonetheless, all those disadvantages disappear when you self-host which makes you able to own your data, and even if you don't self-host, there are several public XMPP providers with excellent reputation that you can choose from.

Client support is also good, there are multiple choices to choose from. You can find our recommended clients here.

Conclusion

Considering that the advantages surpass by far the drawbacks, XMPP is one of the best choices regarding IM.

XMPP vs other options

Comparing XMPP to the rest of client-server IMs (Signal, Threema, Matrix...) in this list, it's the clear winner.

P2P options like Briar and Jami are good contenders and they have the advantage that there is no server to trust. But both of these have the inherent limitations of P2P software and issues of their own, such as slow development and poor client support.

Lastly, we have SimpleX. SimpleX is decentralized and doesn't depend on any single unique identifiers such as phone numbers, usernames, nor even randomly generated strings. Servers (which act more as relays and you can swap them on the fly) have zero knowledge about the clients connecting to them. You can host your own relay if you wanted to and some relays even have Tor support. It's only drawbacks is that there's only one implementation and that you can't sync between your phone and desktop clients (yet).

Due to these convenience of use reasons and it's historical availability and robustness, XMPP is still an important contender even if SimpleX provides unique privacy features.

WIP

Pending

A peer to peer messenger that works over Tor. There is an Android client which works well, the desktop client is not good yet.

Pending

SimpleX is decentralized and doesn't depend on any single unique identifiers such as phone numbers, usernames, nor even randomly generated strings. Servers (which act as relays and you can swap them on the fly) have zero knowledge about the clients connecting to them. You can host your own relay if you wanted to and some relays even have Tor support. It's only drawbacks is that there's only one implementation and that you can't sync between your phone and desktop clients (yet).