An open network for secure, decentralized communication
What is Matrix?
Matrix is an open standard for interoperable, decentralized, secure,
and real-time communication over
the internet. It is a rather new technology that can be
thought of as the successor to email, but
it works very similar to iMessage or direct messaging
on most social media networks. Matrix has proven itself over the last few years to be
a reliable communication tool, and has
only gotten more user-friendly
over the course of its development. Matrix is capable enough that it can—and
should—totally replace any other means of
digital communication and it offers
a much higher degree of security, simplicity, and functionality.
Strictly speaking, Matrix itself is just the
protocol by which
clients and
servers communicate. In order to use Matrix, we need implementations of both
clients and servers. Luckily, just like email, many such implementations
and providers exist. As an end-user, you don’t really have to worry about the server part at all.
Just like you can pick your email provider, you can use any of the publicly-available Matrix homeservers, which should
be reasonably secure.
The most popular and well-known Matrix client application is Element. This client is the one
that has the widest system support, and also provides the most feature-complete experience.
In summary:
Matrix is a protocol, just like email. In fact, it can in many ways be considered the
next generation of email.
Matrix is for instant-messaging. The analogy to email might only be applicable from an
architecture standpoint; from a user standpoint, it may help to think of Matrix
as a cross-platform iMessage, or a more secure and feature-complete SMS.
Like email, there are many server implementations, hosting providers, and clients, all
of which are designed to work together, giving you a lot of freedom in how you use Matrix.
You can host your own homeserver, or you can use any of the publically available
homeservers. You can find a list of them here, or you
can contact me and I can set an account up for you on the bancino.net server.
Why Use Matrix?
Some of Matrix’s features have been outlined above, but here’s a direct answer as to why you
should use Matrix over any other communication protocol:
Security: Most importantly, Matrix is secure by nature.
All messages are end-to-end encrypted by default, which means that only the
intended recipient can see them. Not even your homeserver can read your messages!
This is in contrast to email and SMS, which offer no encryption whatsoever and are often
captured and recorded by internet service providers and governments. Furthermore, even
video and audio streams are end-to-end encrypted, unlike regular phone calls,
which are also often recorded and captured by service providers and governments.
Anyone can host their own homeserver. If you don’t trust your service provider, you
can switch to another, or host your own server. Matrix is totally decentralized, just like
email, in theory. However, in practice, it is difficult to host your own email
server due to the way reputable email providers handle less reputable ones.
It is also difficult to secure email without complex tooling.
Unlike iMessage or other chat platforms, there is no one single service provider.
You don’t have to trust Google or Apple with your communication.
Simplicity: Just as important as security is simplicity. The Matrix environment is
very easy to get started with.
Client applications are easy to install, and work just like any other
popular chat app. You don’t have to be a technology wizard to use Matrix
with a safe hosting provider.
For service providers, Matrix doesn’t require a lot of complex configuration.
You don’t need to add any additional security features onto it, because server
implementations provide complete functionality out of the box.
Feature Complete: Matrix clients offer a large range of features. It arguably has more
features than most other platforms.
Send images, videos, audio snippets, and arbitrary files.
See typing notifications and read receipts. You can also see when users are online.
Initiate video and audio calls.
Create large group chats, called rooms.
Send formatted messages. This means you can apply styles to your messages. For
instance, you can make words bold or italicized.
… And more! Clients offer a wide range of features that make Matrix useful for
all sorts of creative things. You can send polls in chats, for example.
Cross Platform: Just like email or SMS, Matrix can work on any platform.
No more Android-vs-iOS controversy. Everyone can install the same app, and can use
the same features regardless of their operating system. Matrix offers more features
than iMessage, and these features are available to all users regardless of what
devices they are using.
You can access your messages on any platform you want. You can run a client on your
computer and your phone, and messages are automatically synced between them.
For example, you can view your messages on both your Windows computer, and your
Android phone, or your Chromebook and your iPhone.
Getting Started
There are many ways to use Matrix. The instructions shown here, however, are opinionated:
they assume you want to use the Element client. Element offers the best end-user experience.
The instructions here only need to be performed once. Once you have
an account and have configured it properly, all you need to do on new devices is download the
app and log in.
Screenshots are not provided here because although the procedure is the same across all platforms,
the apps may look slightly different and have things located in different places.
Download Element
Use your phone’s app store to install the official Element app:
If you are on a desktop computer or laptop running Windows, MacOS, ChromeOS, Linux, OpenBSD, or any other operating
system that supports running a modern browser, you can access the Element web interface online:
Element Web. Element also offers a desktop application for Windows, MacOS,
and Linux that you can install if you wish.
Create an account
Launch the Element app. It will look a little different on each platform, but the general process goes like this:
When prompted to sign in or create an account, opt to create an account.
When prompted to select a provider, choose to "connect to server" or use a "custom" homeserver. Input
your chosen homeserver's address when Element asks for the server address.
At the sign up screen, enter a new username and password.
The username can be anything you want, but remember that it is used to represent you. Others will see it
and use it to communicate with you, and you cannot change it once you create your account.
The password should be secure. Some Matrix homeservers enforce a strict password policy.
For the security of your Matrix account and your other accounts, do not reuse an existing password.It is
highly recommended to use a password generator to generate a secure password for you. The password should
be at least 16 characters in length
have at least one digit
have at least one symbol that’s not a letter or number
have at least one uppercase letter
have at least one lowercase letter
Do not lose your password. If you forget it, you may not be able to reset it. If you didn't link your
email address or phone number, and you're not already
logged in on another device to request a password reset from the homeserver administrator, you will have
to create a new account, and you will lose all of your messages and contacts. It is technically possible
for the homeserver administrator to reset your password, and he may be willing to do so if he can verify
your identity—such as in the case that he personally knows you and what your Matrix ID is, and verifies
your request via an in person conversation. However, there may be no secure way to link your email address or
phone number to the homeserver, meaning that in most cases, you can only change your password if you know
the existing one.
Once you get logged in, go to your profile settings and update your display name. Your display name is what will
appear for other users in your conversations. You can optionally also set a profile picture.
Set up Secure Backup
In order to safeguard against losing access to your encrypted messages, you should set up Secure Backup. Secure Backup
stores your message encryption keys on the server in a secure manner so that you can log in on new devices and still
have access to your messages, even if you lost your old one or are for some other reason unable to use it to verify
your new login.
There are other ways to save and load your encryption keys, but this is by far the
most convenient and safe. To set up Secure Backup, follow these steps:
Go to Element's settings.
Go to Security & Privacy.
Go to Secure Backup and follow the ques to set it up.
When prompted about using a security key or a security phrase, opt for the security phrase, but DO NOT reuse your
account password. It is highly recommended to use a long, randomly generated password. A compromised security
phrase means that all your messages are compromised as well, putting not only you, but the people you talk to
over Matrix at risk. Also note that the security phrase cannot be changed. The normal account password can be
changed, but the security phrase is something different.
When prompted to download or copy the key file, do so, and store it in a safe location on your phone or computer
that gets backed up securely. It is highly unlikely that you’ll ever need it, but it is best not to risk it. If
you wish to copy it onto paper, do not hesitate to do so and store it in a secure location.
Even though the encryption keys are copied to the server, the server cannot read your encrypted messages. This
is because the encryption keys themselves are encrypted, and must be decrypted by the security phrase and the security
key that you download. The key is not saved on the server, so if you lose the security phrase or key, then all your
encrypted messages are lost.
Invite other Matrix users
You’re now ready to start communicating over Matrix. You can invite users to a conversation if you know their
Matrix ID. Every user on Matrix has a Matrix ID in the following format:
@username:homeserver.com
Where username is the username that would have been chosen at sign up time, and homeserver.com
is the homeserver the other user signed up with. For example, my Matrix ID is @jordan:bancino.net.
jordan is my username, and bancino.net is my homeserver. Since Matrix is federated,
you can communicate with users on
other homeservers if you wish. If you created an account on one homeserver, say bancino.net for example,
you aren't limited to talking to just the users on bancino.net. Provided you know someone's Matrix ID, you
can talk to them, no matter where they live in the Matrix ecosystem. Think of Matrix IDs just like they are email addresses
or phone numbers that are unique to Matrix.
To invite a user, locate the + ("plus") button in Element. For Android and iOS, it is in the bottom right of the main
screen. For the web interface, it is in the left panel. Then, just input the user’s Matrix ID. You can try searching
for users by username, but Element may not handle this properly. For best results, it is recommended to type out or
copy in the whole Matrix ID. Users may also share their Matrix ID with you via a QR code, which may make inviting
them a little easier, depending on your client app.
If you get invited to a chat, Element will notify you at the top of
the screen. You can accept or deny invitations directly from the main page.
Additional Resources
If you have any questions about how to go forward from here, or spot an error on this page, please feel free to
contact me. My Matrix ID is:
@jordan:bancino.net
If you were unsuccessful in following any part of these directions and are thus unable to contact me through Matrix,
the official Element user guide might be helpful:
It provides screenshots of the web interface that may or may not also be helpful for the Android or iOS apps.
What's next?
Please spread awareness of Matrix! Pass this message along to your friends and family, and try to convince them to use
Matrix for all their digital communication. Matrix works extremely well both in personal and business settings. You
can use it to talk to your friends and family, but you can also use it internally at your work to communicate with
your coworkers. Talk to your supervisor about employing Matrix in the workplace as well, as an alternative to Slack,
Microsoft Teams, or other proprietary communication solutions.
This page is available at the following link, which you're encouraged to share:
It is important to store your credentials somewhere safe and secure, such that you won't lose it, but nobody else
will find it. You should write down, either digitally or on paper, the following things: