The matrix.org homeserver went down for nearly 24 hours due to a security breach. Here's what you can do as a user to protect yourself in the future.

Background

Matrix is a decentralized instant-messaging platform. While user accounts are tied to a single homeserver, rooms aren't.

Take a look at the interactive graph for a full explanation.

Since rooms are synced between homeservers, you can make other homeservers aware of your rooms. This will make the rooms sync, providing redundancy and a backup in case matrix.org goes down.

If matrix.org goes down, users who want to continue chatting will need an account on the other Matrix server(s). This is a good compromise as a temporary solution for teams who must continue working until matrix.org comes back online.

Once matrix.org comes back online, it will backfill all the missing messages from the other servers, restoring synchronicity.

Tutorial

1. Set room aliases

First, ensure that your rooms have aliases set on them. Below is a screenshot from Riot, showing #voadi:matrix.org as the room alias. Find this dialog by clicking the "cog" icon in the top right of your room.

2. Create 3rd-party account

Next, you will have to create an account on a different Matrix server. Check out the Unofficial selection of public Matrix servers for a list. I'll be using chat.weho.st in this example.

Creating a new Matrix account on chat.weho.st

3. Join the rooms

Once you've created a new account, join the room(s) you want to sync. If it's a public room, can click the "plus" icon next to "ROOMS" in the left sidebar, and type the full alias to join it (pictured below). For a private room, you can invite your chat.weho.st account from your matrix.org account.

4. Set admin (optional)

Once your chat.weho.st user is in there, you probably want to make it an admin. This provides a way for you to administer the room even when matrix.org is down.

Using your matrix.org account, click the chat.weho.st user's profile and set its power level to 100.

5. Create new room aliases

Finally (from your chat.weho.st account), click the cog in the room and add an alias for this homeserver. Below, #voadi:chat.weho.st has been added as a room alias.

6. Publish to room directory (optional)

Every Matrix server has its own room directory. To increase visibility, you can also publish this room to the local server's room directory. Note that you must be a moderator of the room to do this.

Finished

That's it! Feel free to repeat steps 2-6 on any number of Matrix servers. The more servers you add, the more redundancy you'll have.

Other considerations

  1. Private rooms: The more servers your rooms are on, the more chances unencrypted messages could be compromised. Always enable encryption for non-public rooms. This doesn't affect public rooms.
  2. Hosting your own: The best way to control your communication is by hosting your own Matrix server. Unfortunately this is difficult for most users as it requires constant maintenance, security audits, and sysadmin knowledge.
  3. Use a password manager. It's probably not a good idea to use the same password between your matrix.org and chat.weho.st (etc) users.