← Back to Docs

Matrix (Element) — User Guide

Electric Monk runs a Matrix homeserver (Synapse) for secure, decentralized messaging. Your Matrix ID is @you:electricmonk.io.

Features

Getting Started

Web Client

  1. Go to chat.electricmonk.io
  2. Click Sign In
  3. Click Continue with Authentik (SSO)
  4. Log in with your Authentik credentials
  5. You'll be automatically joined to the default rooms:
    • #announcements:electricmonk.io
    • #directory:electricmonk.io
    • #general-questions:electricmonk.io

Mobile Apps (iOS / Android)

  1. Install Element from the App Store or Google Play
  2. Tap Sign In
  3. Tap Edit next to the homeserver and enter: electricmonk.io
  4. Element will discover the server via .well-known delegation
  5. Tap ContinueContinue with Authentik
  6. Log in with your Authentik credentials

Desktop App

  1. Download Element Desktop from element.io/download
  2. Click Sign In
  3. Change the homeserver to electricmonk.io
  4. Click Continue with Authentik and log in

How End-to-End Encryption (E2EE) Works

Matrix uses the Olm and Megolm cryptographic protocols (similar to Signal's Double Ratchet) to provide end-to-end encryption.

The Basics

Key Concepts

Term What It Means
Device keys Unique cryptographic keys for each device (phone, laptop, etc.)
Session keys Temporary keys used to encrypt messages in a specific room
Cross-signing A way to verify all your own devices are trustworthy
Key backup Encrypted copy of your keys stored on the server
Recovery key A passphrase or key that unlocks your key backup
Verification Process of confirming another user's identity via emoji or QR code

Setting Up Key Backup (Critical)

Do this immediately after your first login. Without key backup, you will permanently lose access to encrypted message history if you log out or lose a device.

  1. After logging in, Element will prompt you to set up Secure Backup
  2. Choose either:
    • Security Key — Element generates a random recovery key (save it somewhere safe)
    • Security Phrase — you choose a passphrase (must be strong and memorable)
  3. Store your recovery key/phrase in Vaultwarden (vault.electricmonk.io)
  4. Your message keys are now continuously backed up to the server (encrypted)

Verifying Your Devices

When you log in on a new device:

  1. Element will show an "Verify this device" prompt on your existing device
  2. Open Element on both devices
  3. On the existing device, approve the new session
  4. Compare the emoji or scan the QR code between devices
  5. Once verified, the new device receives your message keys and can read history

If you don't have access to another logged-in device, use your recovery key or security phrase to restore your keys.

Verifying Other Users

To be certain you're talking to the real person (not an impersonator):

  1. Open a DM with the user → click their name → Verify
  2. Compare emoji on both sides (in person, over a phone call, etc.)
  3. Once verified, a green shield appears next to their messages

What Happens If You Lose Your Keys

Scenario Outcome
Lost device, key backup is set up Restore keys on new device using recovery key/phrase
Lost device, no key backup Permanent loss of encrypted message history
Forgot recovery key, still logged in somewhere Create a new key backup from that device
Forgot recovery key, logged out everywhere Previous encrypted messages are unrecoverable

Bottom line: Always set up key backup and store your recovery key in Vaultwarden.

Account Management

Your Matrix account is linked to your Authentik identity. Account settings (display name, email, password) are managed at:

Voice & Video Calls

Matrix supports encrypted voice and video calls via MatrixRTC:

Federation

Matrix is a federated protocol, meaning there is no single central server that everyone must use. Instead, thousands of independent homeservers communicate with each other, much like email — your @electricmonk.io address can message someone on @matrix.org the same way you can email anyone regardless of their provider.

How It Works

Each Matrix homeserver stores the history of the rooms its users participate in. When you send a message in a room that contains users from other servers, your homeserver forwards that message to their homeservers, and vice versa. Every server keeps its own copy of the conversation, so no single server is a point of failure.

This is fundamentally different from centralised platforms like Slack, Discord, or iMessage, where a single company controls all the data and can shut down access at any time.

What This Means for You

Public Room Directory

Public rooms on electricmonk.io are listed in the global Matrix room directory, meaning users on other servers can discover and join them. You can also browse rooms hosted on other servers from your own client by changing the server in the room directory search.

Troubleshooting

"Unable to decrypt" messages

"Session not verified" warnings

Can't log in


Administration

Promoting a User to Server Admin

Because Matrix uses MAS (Matrix Authentication Service) for authentication, the traditional Synapse register_new_matrix_user command does not work. Instead, use the mas-cli tool inside the MAS container to promote an existing user to admin:

kubectl exec -it -n electricmonk deploy/ess-matrix-authentication-service -- mas-cli manage promote-admin @username:electricmonk.io

Replace @username:electricmonk.io with the full Matrix ID of the user you want to promote.

Once promoted, the user will have access to the Synapse Admin API and the Element Admin panel.