Federated messengers use multiple, independent servers that are able to talk to each other (email is one example of a federated service). Federation allows system administrators to control their own server and still be a part of the larger communications network.
{%
include cardv2.html
title="Element"
image="/assets/img/svg/3rd-party/element.svg"
description='
network. The
is an open-source standard for secure, decentralized, real-time communication.'
labels="text==VoIP"
website="https://element.io"
privacy-policy="https://element.io/privacy"
forum="https://forum.privacytools.io/t/discussion-element-io/665"
github="https://github.com/vector-im/element-web"
windows="https://element.io/get-started"
mac="https://element.io/get-started"
linux="https://element.io/get-started"
fdroid="https://f-droid.org/packages/im.vector.app/"
googleplay="https://play.google.com/store/apps/details?id=im.vector.app"
ios="https://apps.apple.com/app/vector/id1083446067"
web="https://app.element.io"
%}
Worth Mentioning
Distributed
Distributed network messengers connect through a network of nodes that relay messages to the recipient without a third-party server. Connection can then be established directly as with peer-to-peer networks, or indirectly through a rendez-vu node as in onion routing networks.
Peer-to-Peer instant messengers connect directly to each other without requiring third-party servers. Clients (peers) usually find each other through the use of a distributed computing network. Examples of this include DHT (distributed hash table) (used with technologies like torrents and IPFS, for example). Another approach is proximity based networks, where a connection is established over WiFi or Bluetooth (for example, Briar or the Scuttlebutt social networking protocol). Once a peer has found a route to its contact via any of these methods, a direct connection between them is made.
Non peer-to-peer distributed networks route encrypted messages through a network of user operated nodes. The sender and recipient never interact directly, and hence there is no leak of IP addresses. With onion routing (e.g., Tor), nodes cannot decrypt messages, only the recipient can. Another example is distributed ledger technology (e.g., blockchains), although there is no guarantee of anonymity.
Softwares can combine multiple approaches, such as Briar using peer-to-peer for local network and Tor for remote connections over the internet, whereas Session always uses onion routing over a blockchain to incentivize nodes.
Peer-to-Peer (P2P)
{%
include cardv2.html
title="Briar"
image="/assets/img/svg/3rd-party/briar.svg"
description="Encrypted instant messenger that connects to contacts via Wi-Fi, Bluetooth, or Tor over the internet to synchronize messages. Technology such as this has proven to be useful when Internet availability is an issue, such as in times of crisis."
website="https://briarproject.org"
privacy-policy="https://briarproject.org/privacy-policy/"
forum="https://forum.privacytools.io/t/discussion-briar/2114"
gitlab="https://code.briarproject.org/briar/briar"
fdroid="https://f-droid.org/packages/org.briarproject.briar.android/"
googleplay="https://play.google.com/store/apps/details?id=org.briarproject.briar.android"
%}
{%
include cardv2.html
title="Jami"
image="/assets/img/svg/3rd-party/jami.svg"
description="Encrypted instant messaging and video calling software. All communications are E2EE using
TLS 1.3 and never stored elsewhere than on user's devices, even when
TURN servers are used."
labels="color==warning::link==https://git.jami.net/savoirfairelinux/ring-project/issues/765::text==Warning::tooltip==This software is partially centralized but can be self-hosted.|text==VoIP"
website="https://jami.net/"
privacy-policy="https://jami.net/privacy-policy/"
forum="https://forum.privacytools.io/t/discussion-jami/2116"
gitlab="https://git.jami.net/savoirfairelinux"
windows="https://jami.net/download-jami-windows"
mac="https://jami.net/download-jami-macos"
linux="https://jami.net/download-jami-linux"
fdroid="https://f-droid.org/packages/cx.ring/"
googleplay="https://play.google.com/store/apps/details?id=cx.ring"
ios="https://itunes.apple.com/app/ring-a-gnu-package/id1306951055?mt=8"
%}
Advantages
- Minimal information is exposed to third parties.
- Modern P2P platforms implement end-to-end encryption by default. There are no servers that could potentially intercept and decrypt your transmissions, unlike centralized and federated models.
Disadvantages
- Reduced feature set:
- Messages can only be sent when both peers are online, however, your client may store messages locally to wait for the contact to return online.
- Generally increases battery usage on mobile devices, because the client must stay connected to the distributed network to learn about who is online.
- Your IP address and that of the contacts you're communicating with may be visible if you do not use the software in conjunction with a self contained network, such as Tor or I2P. Many countries have some form of mass surveillance and/or metadata retention.
Non Peer-to-Peer
{%
include cardv2.html
title="Session"
image="/assets/img/svg/3rd-party/session.svg"
description="Encrypted instant messenger using 3-hop onion routing to transmit communications via
Oxen blockchain's nodes that are
distributed worldwide. All communications are E2EE encrypted by default, supporting 1-on-1, private group and public group textual chatrooms. The protocol was independently
audited (
whitepaper)."
website="https://getsession.org/"
privacy-policy="https://getsession.org/privacy-policy/"
github="https://github.com/oxen-io/session-desktop"
googleplay="https://play.google.com/store/apps/details?id=network.loki.messenger"
ios="https://apps.apple.com/app/session-private-messenger/id1470168868"
windows="https://getsession.org/windows"
linux="https://www.getsession.org/linux"
mac="https://getsession.org/mac"
%}
Advantages
- Minimal to no information is exposed to other parties, including recipients.
- Messages can be relayed even if one of the parties is offline.
Disadvantages
- Slow messages propagation.
- Less reliable due to the random nodes routing, some nodes may be very far from the sender and receiver, adding latency or even failing to transmit messages if one of the nodes goes offline.
- More complex to use as it requires the creation and secured backup of a cryptographic private key.