These are our recommendations for encrypted real-time communication.
Signal is a mobile app developed by Signal Messenger LLC. The app provides instant messaging, as well as voice and video calling.
All communications are E2EE. Contact lists are encrypted using your Signal PIN and the server does not have access to them. Personal profiles are also encrypted and only shared with contacts you chat with.
Signal supports private groups. The server has no record of your group memberships, group titles, group avatars, or group attributes. Signal has minimal metadata when Sealed Sender is enabled. The sender address is encrypted along with the message body, and only the recipient address is visible to the server. Sealed Sender is only enabled for people in your contacts list, but can be enabled for all recipients with the increased risk of receiving spam. Signal requires your phone number as a personal identifier.
We have some additional tips on configuring and hardening your Signal installation:
Messages and files shared in private rooms (those which require an invite) are by default E2EE as are one to one voice and video calls.
Profile pictures, reactions, and nicknames are not encrypted.
Group voice and video calls are not E2EE, and use Jitsi, but this is expected to change with Native Group VoIP Signalling. Group calls have no authentication currently, meaning that non-room participants can also join the calls. We recommend that you do not use this feature for private meetings.
The protocol was independently audited in 2016. The specification for the Matrix protocol can be found in their documentation. The Olm cryptographic ratchet used by Matrix is an implementation of Signal’s Double Ratchet algorithm.
Session is a decentralized messenger with a focus on private, secure, and anonymous communications. Session offers support for direct messages, group chats, and voice calls.
Session uses the decentralized Oxen Service Node Network to store and route messages. Every encrypted message is routed through three nodes in the Oxen Service Node Network, making it virtually impossible for the nodes to compile meaningful information on those using the network.
Session allows for E2EE in one-on-one chats or closed groups which allow for up to 100 members. Open groups have no restriction on the number of members, but are open by design.
Session does not support perfect forward secrecy, which is when an encryption system automatically and frequently changes the keys it uses to encrypt and decrypt information, such that if the latest key is compromised it exposes a smaller portion of sensitive information.
Oxen requested an independent audit for Session in March of 2020. The audit concluded in April of 2021, “The overall security level of this application is good and makes it usable for privacy-concerned people.”
Session has a whitepaper describing the technicals of the app and protocol.
Briar is an encrypted instant messenger that connects to other clients using the Tor Network. Briar can also connect via Wi-Fi or Bluetooth when in local proximity. Briar’s local mesh mode can be useful when internet availability is a problem.
To add a contact on Briar, you must both add each other first. You can either exchange
briar:// links or scan a contact’s QR code if they are nearby.
The client software was independently audited, and the anonymous routing protocol uses the Tor network which has also been audited.
Briar has a fully published specification.