Simplified Privacy

XMPP: Decentralized Signal? Get your own social network

XMPP is an open source messaging protocol that’s decentralized.  It’s what’s called “federated,” which means that anyone can set up their own server, and these servers can all communicate through the same protocol.

This means you can easily talk to your friends on your own hidden social media network, while at the same time talk to strangers on other servers end-to-end encrypted.  XMPP is similar to a decentralized version of Signal because you get end-to-end encryption but without trusting the Signal Foundation or Amazon AWS servers with your personal metadata such as who and when is communicating.

Email Analogy

You can understand XMPP with the example of email because they are both structured in a similar standardized, yet decentralized, format.  Anyone can set up an email server to communicate with another email account or server using the Standard Messaging Protocol.  There are no permissions or centralized authority.

XMPP usernames are called JIDs and are structured like email, with the format of user@server. So if the server is example.com then you would communicate with person@example.com.

Many Servers

There are many different servers worldwide from which you can choose (or even set up your own), although when XMPP first started, Jabber.org was the original popular server that many used.  Because of this, people often refer to XMPP as “Jabber.”  Someone asking you to “send me your Jabber ID” is probably referring to XMPP in general, and so you could send him or her an account that’s not on the Jabber.org server.

Encryption choices

There are two popular encryption protocols for XMPP.  These protocols offer the possibility of end-to-end encryption, but both your server and the client of the person you’re talking to have to allow it.  The two types of XMPP encryption are Off the Record messaging (OTR)and OMEMO.

Choices!

Dino video calls

Because XMPP is decentralized, you have to make 3 choices when you first set up an account. 

1) What software client you want to use?

2) What server do you want to use?

3) What username will you pick on that server?

Client Software

There are many different choices for what software you should use for XMPP.  We recommend you make your decision based on how you will use it.

Dino on Linux

Dino is good for Linux video and audio calls, but it won’t work on Windows or Mac.

Gajim

Gajim works on Windows and has audio calls, but no video.  It has a real small user interface.

Pidjin works on many platforms but requires installing an additional plugin for encryption, which you can find here:

https://otr.cypherpunks.ca/index.php#downloads

Servers

You should use an XMPP server that respects your privacy.  If you truly want privacy and don’t want to trust any server, we recommend setting up your own server.  If this beyond your technical interests then we can setup a server for you and hand over the passwords.  If we setup a server for you, then you’d pick the domain name and get complete control over who can use it.

In our future articles, we’ll be covering the different types of encryption that can be used with XMPP as well as different clients more in-depth. You would get a lot out of subscribing for free to our new content by email, by Session messenger, via RSS feed, our Ethereum push notification channel, or on Nostr.

Related Articles

Why is Telegram horrible

–No MetaData Protection(Who and When) –Only Mobile is Encrypted(Phones have insecure hardware) [1] –Invented their own encryption algorithmUnaudited with a history of security vulnerabilities [2]

Read More »

Leaked Lies at Google

Google accidentally leaked their search API on Github, giving everyone insight into that they: –Lied that they track users clicks as a factor for search

Read More »