Plus...
- [Matrix] is Federated:
join and interact with other [Matrix] servers. - Communicate on other platforms from one app / inbox:
- Discord
- Google Chat (Hangouts)
- Group.me
- IRC
- Incoming webooks (Slack, Concource CI, etc.)
- Signal
- Skype
- Slack
(Matrix actually runs circles around Slack, particularly Slack's free plans, which recently changed from a 10,000 limit to 90 days. You can export your slack messages to HTML, and/or migrate, too!) - Steam
- Telegram
Matrix FAQ:
Question: One concern about the decentralized model though is how do we get that room back if one of the admins decides to be a rogue actor? Is there any way to prevent that from happening?
Answer: Each room can have multiple admins. So you either set actual separate individuals to be admins of the room, or create "backup user" accounts so you can save the password and key in a safe place in the event you lose access through your primary [Matrix] acount.
Also, each admin can go in and "export chat" to back up the room whenever they want (HTML, plain text, JSON). This is helpful for organizations that are legally required to keep a 'paper trail' of their communications. Matrix servers can also be configured to retain their message history according to your liking, using message retention and redaction policies.
With Matrix, rooms are essentially disposable. We just "elect a new leader" and create a new room with that person as admin.
Question: Why host your own [Matrix] Server?
Answer: The benefit of having your own Matrix server is that the data exchanged between you and other [Matrix] servers will be stored redundantly, this means that even if one server or the public server goes offline or disappears forever your data and content will still be stored and accessible. Think of it like an encrypted cloud service for everyone for free!
Matrix rooms can intergrate with your existing website and email systems: easily receieve messages from standard HTML webforms and SMTP mailboxes!
Should I use a @user:matrix.org account?
The real risk of using a :matrix.org account is you're giving up some control by letting your account operate on someone else's server. Otherwise the same level of encryption applies to your Matrix chats, regardless of which homeserver you use.
Question: How do I keep my room secure?
Answer: Each individual [Matrix] room has its own set of security settings and moderation controls:
- Encryption (yes/no)
- Never send encrypted messages to unverified sessions in this room from this session (this forces the users in your room to authenticate with their key for each session)
- Access: Private, Space Members, Public
- Who can read history: Members only (since the point in time of selecting this option), members only (since they were invited), members only (since they joined)
Using [Matrix] Bots to Backdoor Existing Encrypted Chats (video)
What is [Matrix] Software?
Watch the video demonstration, geared toward techs & C-level Management:
(Apologies in advance for the poor audio quality)
[Matrix] User Guide
Getting Started
Getting a Matrix Account
As a Covington Creations client, you are entitled and encouraged to use our self-hosted, secured communications platform using Matrix and Element. This communications platform will allow you to securely discuss project matters with your Covington Creations team through text, voice, and video, as well as send and receive files securely.
You’ll need a Matrix account (or more formally, a “Matrix ID”). It’s simple, you can create an account on the Covington Creations Matrix server or choose any of the public Matrix servers that exist. It’s simple:
1. Host your own [Matrix] Homeserver (recommended)
You can host your own Matrix server on location, or in a data center (cloud), either on a virtual server or dedicated hardware. (Yes, we are available if you're interested in hiring us to set up your Matrix server)
- With your own Homeserver, you will actually register for an account using your own domain (URL) like email, yourcompany.com
2. Create a Matrix account.
- Go to element.(yourcompany.com)
- Click on the green “Create Account” button. Change your language as needed.
- Enter your desired username for the chat account.
- Enter a desired password. Your password will need to be at least eight characters long. There are no strict requirements for certain types of characters or letters but you will not be permitted to use a weak password. It is recommended that you use a password generator and storage application to create a safe and secured password.
- You can optionally enter an email or phone number here. These are stored on our server securely and are never used for any marketing or any purposes other than assisting you with password resets and account activations. Including your email here is recommended.
- If you entered an email or phone number you will then be sent a confirmation email to verify you and activate your account.
- Once you have created an account and activated the account, you can then head to
element.(yourcompany.com) again to enter our chat server and the Public Space (more on that in a bit).
3. Create a federated Matrix account.
You are not required to use a Covington Creations account for chatting with our Matrix sever in an encrypted, secure manner, you can choose any number of the open, public Matrix servers to create your account and you can still chat with us securely. Here are some lists of open and public Matrix servers you can use instead of ours: https://publiclist.anchel.nl/. Once you have chosen a public server, the steps to create a Matrix account there are similar to creating an account with Covington Creations:
- Go to the signup page for the Matrix server you chose in the list above.
- Click on the green “Create Account” button. Change your language as needed.
- Enter your desired username for the chat account.
- Enter a desired password. Your password will need to be at least eight characters long. There are no strict requirements for certain types of characters or letters but you will not be permitted to use a weak password. It is recommended that you use a password generator and storage application to create a safe and secured password.
- You may be required to enter an email or phone number here, although often it is optional and you can leave it blank if you wish. Including an email or phone number will help you in resetting your password and reactivating your account in the future.
- If you entered an email or phone number you will then be sent a confirmation email to verify you and activate your account.
- Once you have created an account and activated the account, you can then log into the public matrix server you chose either through the same website or using https://app.element.io/. This time, you will select the blue “Sign In” button and input your username and password. If you did not sign up at the default matrix.org server, then you will need to click the “Edit” button next to homeserver. Then check the circle for “Other Homeserver” and input the public server address you used above to make your account. Then press “Continue” and “Sign In”. Welcome to Matrix.
- Since you are not within the Covington Creations but a public server, you will not automatically be added to the Covington Creations Public Space and out other public rooms. To join our Public Space you should click on
https://matrix.to/#/#public:covingtoncreations.com send a message to either @nate:covingtoncreations.com introducing yourself and asking to join our Public Space.
How Matrix IDs Look
Matrix IDs have the form @localpart:domainpart.tld. Similar to e-mail addresses, they have a “localpart” and a “domain part”. The punctuation is a bit different than in e-mail addresses to avoid confusing them. For Covington Creations, we are running our own Matrix software on our own server, so the “domain part” is always covingtoncreations.com. The “localpart” is always the same as the username you choose in your signup process (in all-lowercase).
Logging in to Element
Logging in to Element In the browser.
We have our own Matrix server running and have federation with other Matrix servers, so all your messages are saved, encrypted, on our own server or any other server you use or signup with. To use Matrix, you can use the element.covingtoncreations.com web interface and you can use the free and open source software “Element” application to communicate over Matrix. Element is available for Windows, MacOS, Linux, Android, and iOS.
You can log in to our web interface as follows (normally you never log out, so this is a one-time thing per browser or platform):
- Open this link in a new tab: element.covingtoncreations.com
- Choose: “Sign in with: Username”.
- Enter your username in the form @username:covingtoncreations.com (or whichever Matrix server you signed up with in step 1.) [If you are using a desktop Element application, don’t forget to change the homeserver manually. This should always work, but is another manual step during login. After the message “Sign in to your Matrix account on matrix.org” click the link “Change” an in the field “Homeserver URL” enter https://element.covingtoncreations.com Enter the URL exactly as given above.]
- Press Tab or click into the password field.
- Enter your password (that you chose in Step 1).
- Click on Sign in.
On a smartphone. To be available on the go, you probably want to install a Matrix client software on your smartphone as well. For that, the Element application is also available as mobile apps for Android and for iOS.
Here is the login procedure for the Android app:
- Open the installed app, called Element on the app icon.
- Click “Get Started”, then click “Log in with Matrix ID”.
- Enter your username in the form @username:covingtoncreations.com, as you registered above.
- Enter the homeserver manually. This should always work, but is another manual step during login. Afterthe message “Sign in to your Matrix account on matrix.org” click the link “Change” an in the field “Homeserver URL” enter https://element.covingtoncreations.com. Enter the URL exactly as given above.
- Enter your password (as you registered above).
- Click “Sign in”.
On a second device. If you decide to use Matrix with more than one device (say a computer and your smartphone), when you login to the second device you will be asked to verify the second device with some prompts to follow which will enable the second device to read your previous encrypted chats. To do this you will need to login in to your Covington Creations Matrix account on both devices (for example at element.covingtoncreations.com and using the Element app on your mobile device). Then on the original login device, it will notify you that another device logged into your account and you will be given the option to verify this other login. Click ‘Accept’ and you will then be asked to either scan the unique QR code or compare the unique emojis. It is generally easier at this time to compare the emojis. Click ‘Start” and on both devices you will be given a series of emojis which you should compare between each device. If they all match you then will click ‘They match’ on each device. Congrats, you have now verified your other device and can read all of your encrypted chats on either.
First Steps
First steps with your Matrix account
After log in, here are some first steps to do in the Matrix software:
Accept the invitations. Your Matrix account has already been invited to one or several rooms by the admin who created your account. So, please accept the invitation on the left side of the screen (when using Matrix in your browser). Attention: The “Lobby” is a public socializing corner where we invite everyone from Covington Creations and our networks with a Matrix account. So please don’t put anything even remotely confidential there.
- Join any Suggested Rooms of interest to you. After you join the Covington Creations Matrix server you will automatically be added to our public Lobby and the public Announcements rooms. There are also several other ‘Suggested Rooms’ that you may enter and leave at your pleasure. Some of these rooms will give you the ability to chat and add content while others are strictly read only. For any rooms that you join automatically or manually, there may be some important pinned content for you to review. In Element Web, Element Desktop, and element.covingtoncreations.com you can find these messages by pressing the push pin button in the top right corner within any chat room. Pinned messages are not yet implemented in mobile devices so you will not have the option to view this only within your mobile application.
- Adapt your account settings. Click the gear icon in the left bottom part to go to your account settings.
Backup/Setup a Key. In order to backup your encryption keys within Element, a necessity in case you lose your device and still need to access your encrypted chats, you will need to setup the secure backup keys. To do this, click on your name in the top left of the Element Web client.
Then click ‘Security & Privacy’. Under Encryption there will be a button titled ‘Set up’ which you will click to save a secure backup key or security phrase. Choose whichever option you prefer and press ‘Continue’.
Then you will be given a Security Key, you should download this key or copy the key to your password manager for safe keeping, you will need both your Security Key and your security phrase to recover your account and read your previous encrypted communications.
Connect an e-mail address. (Note: For now, it will be possible to find your Matrix account under this e-mail address on the Element identity server, so use one that you are ok with for this purpose.)
Change your display name – also important. By default, you will appear as “@username:covingtoncreations.com” in chat logs and as room name of your direct chats, which is ugly. We propose to set the display name to your localpart, so just “username” in this case, to keep things simple.
Add a profile picture. Help us and know who you are, note this is optional.
Enable e-mail notifications. There is an option in the account settings to do this for the e-mail address you just connected to your account. You will then get e-mails about messages received while you were offline/unresponsive. You can also disable all notifications or set notifications only for certain mentions or keywords as described in the next two points.
Enable @all notifications. To get everyone’s attention in a long-running public Lobby chat where most people have set the notification level to “Mentions only”, this is a nice trick. In line “Notifications → Messages containing keywords”, click on “keywords” and enter “@all” (without the “”). Confirm, then set “Messages containing keywords” to “Noisy”. You’ll see a red message and get @mention equivalent notifications when somebody types @all. Reduce the default notification level to “Mentions only”. This is ok for a chat if you want to reduce notification frequency. You’ll still see red bubbles with “new messages” counters in chats so you can catch up, but you will only get notifications (little desktop overlay window, sounds, email message) for your @username mentions and for @all. To set this up, mouse over the room
name in the room list, click the “…” on-hover button and choose “Mentions only”.
Formatting Content
Formatting messages. Matrix messages support basic Markdown syntax for formatting – see the complete syntax reference 2.0k. Some is also available from buttons after enabling the “New Composer & Autocomplete” option in your account settings.
Posting Pictures and Files
Sharing images and other files. It is possible to share any files to a chat room, using the “Upload File” button in the message editor. Uploaded images will be displayed inside the chat, other uploaded files will be offered for download. When the chat is end-to-end encrypted, the files will also be saved encrypted on our server, in which case nobody outside of the chatroom (not even the server admin) can access their content. Please delete the messages with large files (>1 MiB) after the other people in the chat downloaded them. It will help us keep the backup sizes small.
Posting images from the clipboard. It is possible to post images to a chatroom from the clipboard, which is faster for sharing images than to save an image from the browser to a file first. Tested with Chrome / Chromium.
Instructions:
- In your browser, right-click on the image you want to share in the chatroom.
- Click “Copy image”.
- Right-click in the Matrix chat message editor and select “Paste” (or just press Ctrl+V while the keyboard focus is on the chat message editor).
- A popup window will appear asking if you want to upload the image from your clipboard to share i in the chatroom. Confirm that.
Getting people's attention
3. Getting people’s attention
Assume everyone in the public Lobby chat has notifications set to “Mentions only” for this room. They will probably catch up with all messages at some time, but you can’t rely on that. So use mentions to get their attention – username, Username, @username and @username:covingtoncreations.com all work and produce a red message on the receiver’s side, and a notification (desktop notification, sound, e-mail after 10 minutes).
Please note: when you try to mention someone who has not changed their default display name, autocomplete will not work, and you will have to type the whole @username:covingtoncreations.com.
When you really need the attention of everyone in the chat, in theory you can use @all to the same effect. This assumes everyone made the required keyword notifications setup as described above, which in practice will be a completely wrong assumption.
How e-mail notifications work. After setting up your Matrix account as instructed above by connecting your email address and enabling it as a notification target, you will receive e-mail notifications about Matrix messages you received while offline, or that you received but did not yet read in your browser / mobile app. Quite similar to how it works with Facebook and other message apps. In more detail, the timers work like this for each Matrix “room” individually (however if any e-mail is sent, it will include all accumulated e-mails from all rooms!):
- A first e-mail is sent 10 minutes after you received the first message while offline, or after 10 minutes of not reacting to browser / phone notifications.
- A second e-mail is sent 10 minutes after the first if there are any new messages since the first one.
- No new e-mails are sent for the next 12 hours, after which this whole three-step timer process is started again.
Creating and managing rooms and chats
4. Creating and managing rooms and chats Spaces.
Spaces are ways of grouping your chats within Matrix. Initially you will be invited or added to the Covington Creations Public Space. Here you will be able to chat in a non-confidential setting with team members, other clients, colleagues, and friends of Covington Creations. The Covington Creations Public Space will contain a Lobby, an Announcements room, some practice area news feed rooms (International Trade, Franchise, Business, etc.), and other rooms. Attention: The “Lobby” is a public socializing corner where we invite everyone from Covington Creations and our networks with a Matrix account. So please don’t put anything even remotely confidential there. You may enter and leave these rooms and the Covington Creations Space as you wish, they are created and maintained by the Covington Creations team for your convenience in communicating and learning more about certain aspects of our business and counsel.
Creating Direct Messages. Direct messages will be the primary method of communication with your attorney and other staff with Covington Creations. Generally, your attorney will add or invite you to a direct message room that will be encrypted for secure client communications. If that does not happen or you would like to initiate the direct message yourself, click + next to the section titled ‘People’, then click ‘Start Chat’. Be sure not to create this direct message chat with your attorney in the Covington Creations Public Space since the existence of your chat may be publicly seen, although not the contents. Don’t worry if you goof this, your attorney or other Covington Creations staff will correct it to keep your project matters and communications secured.
Creating rooms. To create a room, click + next to the section title “Room”, click “Add room”. You can either choose to have the room contents encrypted or unencrypted. For general chats with others within or outside of the Covington Creations server, using unencrypted chats is fine, so you will not have to deal with cross-device key requests, key backup, inability to read old messages and so on. For chats with any member of the Covington Creations team or which may discuss sensitive business matters, always use an encrypted room or direct message. This will keep the messages from being intercepted or read by those other than the intended recipients in the chat room. If you are unsure how to do this, your attorney or other Covington Creations staff will set up any rooms as necessary.
The difference between direct message chats created in section “People” and creating a room is that direct message chats treat every message as if it contained a mention, so the person you are chatting with will see the notification of every message you send. However, you can achieve the same in rooms by hovering over the room name in the room list sidebar, clicking on the bell icon, and setting “Notification options: All Messages”. That affects only notifications to you, so your chat partner would have to do the same on their side.
Inviting people to a room. Once a room has been created, you will need to invite people to join it. Click on the room from the list on the left, then click the “Invite to this room” icon on the bottom right of the window. Invited people appear in a list on the right side of the window, you can also refer to the Covington Creations directory at the bottom of this guide. Please note: when you try to invite someone who has not changed their default display name, autocomplete will not work, and you will have to type the whole address as @username:domainpart.tld.
Customizing rooms. Click the cog icon next to the room name to change the settings. You can add a picture of avatar to the room by clicking the camera icon under the avatar (the default avatar is the first letter of the room’s name). The camera icon is only visible after clicking on the cog (settings) icon. We also recommend you set a color for the room that is in line with the avatar. This way, people have a visual cue as to which room they are writing in.
Room administration actions. As a room’s administrator, you have the options to “mute”, “kick” and “ban” users, also accessible with slash commands of the same name:
- “Mute” means the user stays in the room and can read but not contribute any more.
- “Kick” is forcing a user to leave the room, just as if they had chosen the “leave” action by themselves. Means, they can re-join at will (if it’s a public room) or when invited.
- “Ban” means a forced leave, and the user is prevented from re-joining until the admin uses an “unban” command.
Getting more help. The “official” documentation of the Element client to Matrix, which we use, is here.
Voice calls, video calls, screensharing
5. Voice calls, video calls, screensharing
Matrix includes functions for voice and video calls. The voice and video calls work pretty well, and you can just use them. To start a video or voice call in a room, simply press the video or phone button in the top right corner of any room and wait for the other members of the room to answer.
6. Voice messaging
When communicating over a low-bandwidth Internet connection with undependable quality, voice calls in Matrix / Element or otherwise will not be of much use as it will be hard and often impossible to understand each other.
Here, sending voice messages back and forth in a Matrix chat is a nice solution.
Voice messages are just audio files uploaded from the local computer or mobile device. Those in formats MP3, OGG, and WAV (and perhaps more) will then get an embedded player right in the Matrix chat. So we only need an efficient workflow to record and upload these audio files, and we’re good to go – see the instructions below.
Voice messaging with Element Web (element.covingtoncreations.com). Simple press the microphone button on the bottom right of any chat room, it will be next to the send button. You will be asked to give the browser permission to use your microphone, which once granted will allow you begin recording a voice message. After you are finished recording you may listen to the message, delete it, or post it to the chat room.
Voice Messaging with Element on a mobile device. To send a voice message on a mobile device, you will unfortunately need to use a voice recording app to record your message and then post the audio file to the room using the “+” button at the bottom left of the chat room. Then press “Audio” which will allow you to select the audio file to attach to the room. Voice messaging in mobile is constantly being upgraded and hopefully using a different recording app will not be necessary in the near future.
Using Bridges and Bots
7. Using Bridges and Bots
With Matrix, you can use various bridges and bots to integrate your other chat applications into one platform. Our Matrix server has the following integrations built in so you can add your chats from: Telegram, Signal, Whatsapp, and Discord. To add those to your Matrix account use the instructions below. We will be continually adding additional bridges and bots to increase the functionality of our Matrix server. Watch the Announcements room (#announcements:covingtoncreations.com) to get the most up to date additions.
Telegram Bot. To link your Telegram account to your Matrix account, add the Telegram Bridge Bot by starting a chat with @telegrambot:covingtoncreations.com. Then you can type “!tg help” into that chat and bring up the list of available commands for the bridge bot. Type “login” which will bring up a login page in your browser. Add your Telegram number and followup the prompts to add your Telegram account. Your existing Telegram chats will automatically be added to your Element interface.
Signal Bot. To link your Signal account to your Matrix account, add the Signal Bridge Bot by starting a chat with @signalbot:covingtoncreations.com. Then you can type “!signal help” into that chat and bring up the list of available commands for the bridge bot. Type “link [device name]” which will bring up a login page in your browser. Add your Signal account information and followup the prompts to add your account. Your existing Signal chats will automatically be added to your Element interface.
Whatsapp Bot. To link your Whatsapp account to your Matrix account, add the Whatsapp Bridge Bot by starting a chat with @whatsappbot:covingtoncreations.com. Then you can type “help” into that chat and bring up the list of available commands for the bridge bot. Type “login” which will bring up a login QR code to use with your existing Whatsapp account. Scan the QR code and followup the prompts to link Matrix as a device to your Whatsapp account. Your existing Whatsapp chats will automatically be added to your Element interface. Please note that the bridge uses the web API, so your phone must be connected to the internet for the bridge to work. The WhatsApp app doesn't need to be running all the time, but it needs to be allowed to wake up when receiving messages. The
web API is used instead of the main client API to avoid getting banned.
Reminder Bot. The reminder bot can be a helpful tool to remind yourself or entire chat rooms about certain events or actions. You can add the reminder bot to a chat by inviting @reminder:covingtoncreations.com or you can add the reminder bot to any chat room you are a part of by inviting the bot to that room with the same address. Type “!help reminders” to see the list of available commands. To create a basic reminder within the chat you will use the following syntax: “!remindme [every <recurring time>;] <start time>; <reminder text>”. So to create a reminder to start a memo tomorrow at 9am you will type: “!remindme 9am tomorrow; start legal memo”. Reminders can be a great way to remind rooms about events starting or reminding all members of a chat to take a certain action at the given time.
Translation Bot. The translate bot will assist in translating words and phrases which can be very useful for clients who may not feel comfortable transacting in English and when our Firm team may not have an adequate level of fluency for your local language. To use the translate bot you should invite the bot to the room: @translate:t2bot.io.
To instruct the bot to translate a phrase you will use the following syntax: “!translate <from> <to> <phrase>”. For example, “!translate en ru Hello world” will result in: Привет мир. Some common languages supported and the two-letter codes: English (en), Arabic (ar), Chinese (zh), German (de), Hindi (hi), Russian (ru), and Spanish (es).
Discord Bot. To be updated.
Resetting your password
8. Resetting your password
If you need to reset your password, you can do so by clicking on your avatar in the top right of the Element Web client or finding the settings in your desktop or mobile Element app. Then choose “All Settings” under which General you will find an option to change your password. If you forget your password and need to reset it by email, click the “Forgot Password” button on the sign in page at https://element.covingtoncreations.com/#/login You will be asked for your account email (which is an important reason to include a functioning email to your Matrix account) and the new password. You will receive an email verification which will allow you to log back into your account.
Other tips and tricks
Fixing online status issues. If you see somebody posting while they are shown as “offline” in your Element application’s sidebar, it is usually because they are posting from a device you did not verify. Click on their user avatar icon, and verify the device they are currently using, or all devices. Do it either “the right way” (confirming in a voice call or other chat interface that the keys match), or just click “verify” if you don’t care about encryption integrity in this chat.
Covington Creations [Matrix] address book
Currently, the following staff accounts exist on our Matrix server (and no more than these):
@nate:covingtoncreations.com
Matrix Guide Source:
Reidel Law Firm (Texas)
https://ewha3547gp9.exactdn.com/wp-content/uploads/2021/07/Reidel-Law-Firm-Guide-to-Matrix.pdf