This guide helps using a chat messenger on your phone that works like Whatsapp or Facebook Messenger, but which respects your privacy and freedom.
This alternative is:
- Open source — the technology is open, available for everyone to check if it’s secure or not
- Decentralized — servers are not all controlled by a single company, but run by volunteers, organizations and many companies that value privacy
- Highly secure — the underlying technology has been recommended by Edward Snowden, an independent security audit has been performed, and important security features like end-to-end encryption and Perfect Forward Secrecy are included.
The software we’ll use (called “XMPP” and “OMEMO”) is now a powerful and secure messaging technology for the masses. I’ve followed its development for several years now. Just recently, both the feature set and the usability of this technology has improved so much that it’s not any more for IT geeks only. After setup, it works as easy as Whatsapp.
I highly recommend to follow this guide with a friend who also wants to use this technology. Then you can help each other out and immediately test if everything works.
You wanna know more about this technology and why it is useful? This blog post is a wonderful introduction. Unfortunately, it’s only available in German. However, some more research should yield in good English content as well. Just look for “XMPP” and “OMEMO”.
Only Android as Operating System on your Smartphone. There are apps for iOS and others, but we’ll use Android. In best case, you rooted your Android phone and don’t have Google Apps installed on it.
1. Download the messenger app on your Smartphone
If you want it for free, you need to install the alternative app store f-droid before. F-droid works like Google Play, but only offers apps that are free and based on open source. See instructions in the next paragraph how to install f-droid.
If you wanna use Google’s play store, it’s between $2 and $3. Open Google Play and download the app Conversations.
If you decided for f-droid, open the website https://f-droid.org/ with the browser on your phone. Press the big download button on the website, which will download f-droid’s installer. After download, press the downloaded file and the installer should start. Next, start f-droid and search for the apps Conversations. Conversations is the messenger we will use. Install it.
2. Start the messenger app and register
Now, start Conversations. In the app, add an account.
If you already have an account (= Jabber ID or XMPP ID), provide your credentials. If you do not have an account yet, I recommend you register on the server talker.to. You can register at any server available (server list 1, list 2), but I recommend that one because compared to other XMPP servers it has very high security specifications, it’s located in Germany and it offers many features (like sending files in chats etc.).
If you wanna register a new account, also active the checkbox. Finally, it should look like this:
After you clicked Next, the registration process might take up to 20 seconds. If everything was successful, you see this:
For now, just press skip.
3. Start chatting
Congrats, you now you have an account for yourself. Let’s use it and start a conversation with a friend. Click on the plus on the top right to add a conversation
If your list of contacts is empty, add a new contact:
Insert your friend’s Jabber ID, e.g. email@example.com
That’s it. You can now chat with your friend. However, this will be unencrypted! So let’s activate OMEMO encryption by pressing the padlock in the top menu bar:
After you activated OMEMO, the input field at the bottom should say you can now send encrypted messages:
Congratulations, that’s all! Who thought that setting up the best available messaging tool is as easy as that? (To me, “best” means decentralized, open source, secure and good usability, of course.)
If you wanna chat also on your Desktop, just follow this guide.
- If OMEMO cannot be activated, just send a message in the chat window. This sometimes helps. Also, it may help to end a conversation by pressing the menu on the top right inside a conversation as shown in the following screenshot, and then re-open the conversation again.
- Allow presence updates: In a conversation, click on the icon/image of your chat partner. In the new screen (as shown below), make sure that all check boxes are activated:
- Check fingerprints: You might be asked to trust fingerprints like this:
OMEMO only works fine, if the fingerprint of your and your friend’s device match. To compare them, open one of your conversations and click on your icon next to one of your messages. At the same time, your friend clicks on your icon on his phone. Now, both of you should see a fingerprint that you can check. If they match, change the slider to the right (as depicted in the screenshot).
If you still have issues after trying out all troubleshooting tips, please report your case in the comments below.
This article has also been published on my private blog.Edit this post on GitHub.