Skip to content

User guide

This is the end-user manual for Skald. Topics:

The screens look slightly different depending on whether you're on the web app, the desktop app (Electron), or the mobile app (iOS/Android), but the underlying features are the same.


Getting in

First time

You'll get the server URL from your administrator — something like https://chat.example.com. Enter it on first launch:

  • Web — the URL is the address itself; just open it.
  • Desktop — first launch shows a server picker.
  • Mobile — first launch shows a server picker; you can save multiple servers if you belong to more than one Skald installation.

Signing in

Skald supports four ways to sign in. Your admin decides which are enabled:

MethodWhat you'll see
Username + passwordStandard login form.
SSO (OIDC / SAML)A "Sign in with <your org>" button — sends you to your identity provider.
Magic linkEnter your email; a one-time sign-in link arrives.
Email OTPEnter your email; a 6-digit code arrives, then enter that.

If your administrator hasn't enabled passwordless or SSO, only the username/password form will appear.

Forgot password

The login screen has a "Forgot password" link. It only works for local (non-SSO) accounts with a verified email address. If you signed up with SSO, reset the password at your identity provider — Skald can't reset it.


Chatting

The main screen is the room list on the left and the active room on the right (or full-screen on mobile).

Sending a message

Type in the composer at the bottom of the room and press Enter (or tap the send button on mobile). Shift+Enter inserts a newline.

Messages support markdown (CommonMark):

**bold**          → bold
*italic*          → italic
~~strikethrough~~ → strikethrough
`code`            → inline code
> blockquote      → quoted
- list item       → bullet list
1. numbered       → numbered list
[link](https://example.com)

A formatting toolbar above the composer gives you the same options if you'd rather click than type. Pasting in a URL inserts the markdown link syntax automatically when you have text selected.

Editing and deleting your own messages

Hover over (or long-press on mobile) one of your messages and you'll see edit and delete actions. Edited messages show an "(edited)" marker. Deleted messages leave a placeholder ("Message deleted").

Mentions

Type @ to start a mention. A picker appears with room members. Pick someone and they get a push notification (if they have notifications enabled for the room). @everyone mentions everyone in the room — use sparingly; your admin may have it rate-limited.

Replies and quoting

Hover over (or long-press) a message and tap the reply icon. Your message appears underneath the one you replied to with a quoted preview. To turn a reply chain into a thread, see below.

Searching

The search box at the top of the room list searches across all rooms you belong to. Results are grouped by room and you can jump to the original message in context.


Threads

Threads keep side conversations from cluttering the main room.

  • Start a thread — hover/long-press a message, choose "Reply in thread". Your reply opens in a side panel without posting to the main room.
  • Open an existing thread — click the reply count below a message ("3 replies — last by Alice, 5m ago").
  • Follow a thread — by default you get notifications for threads you've replied to. The thread header has a toggle.
  • Cross-post a thread reply to the main room — most clients have a "Also send to room" checkbox in the thread composer.

Each thread is independently scrollable and has its own real-time presence.


Reactions, polls, and pins

Reactions

Hover/long-press a message and pick an emoji. Click the same emoji to remove your reaction. Hover over a reaction count to see who reacted.

If your admin has the emoji catalog configured, your picker shows custom emojis with movie-style ratings (G / PG / PG-13 / R). You can filter the picker by rating.

Polls

Type /poll in the composer or use the poll button. Add a question and 2–10 options. Poll results update live; you can change your vote until the poll closes. Polls support single-choice or multi-choice modes.

Pinned messages

Moderators can pin important messages. Pinned messages show up in the room's pin tray at the top — handy for room rules, agenda, links to docs. Anyone can view pins; only moderators and the original sender can pin/unpin.


Files and uploads

Drag a file into the composer (or use the paperclip button) to upload. Skald supports anything: images, documents, archives, audio, video.

  • Inline previews — images and short videos preview inline; everything else shows as a download card.
  • Limits — your admin sets the maximum file size and storage quota. The default cap is 25 MB per file.
  • Virus scanning — if your admin has ClamAV enabled (Enterprise), uploads are scanned in the background. Infected files are rejected and a notice posts to the room.

Your avatar is uploaded the same way from Account → Profile.


Voice and video calls

Skald uses LiveKit for voice and video. Each room can have one active call at a time; multiple people can join the same call.

Starting a call

  • Click the camera or phone icon in the room header.
  • Your camera and microphone permissions are requested on first use.
  • The first person to join "starts" the call; later joiners enter directly.

In a call

  • Mute / unmute — toggle mic.
  • Video on / off — toggle camera.
  • Screen share — share an app window, screen, or browser tab. Tap again to stop.
  • Switch camera (mobile) — front/back camera.
  • Background blur (where supported by your device).

Pop-out window (desktop / web)

On desktop and supported browsers (Chrome/Edge), you can pop the call into its own small floating window so you can keep chatting while the call runs. Look for the picture-in-picture icon.

Native call UI (mobile)

If your admin has set up Apple PushKit and Firebase, incoming calls show your phone's native call screen with the Skald logo on the lock screen — just like a regular phone call. Otherwise, calls show as a regular push notification with a tap-to-join button.

Troubleshooting calls

SymptomFix
Can't connect / call hangsCheck your network. Skald falls back to TURN over 443 — your admin should have this enabled.
Camera/mic permission deniedCheck browser/OS permissions for Skald.
Firefox: video call fails on local developmentFlip media.peerconnection.ice.obfuscate_host_addresses to false in about:config. (Local-dev only.)

End-to-end encryption (E2EE)

E2EE rooms keep your messages private from everyone — including the server administrators. Skald uses X25519 key exchange and XSalsa20-Poly1305 encryption, with keys stored in your device's secure store (Keychain on iOS, Keystore on Android, OS keychain on desktop).

Joining an E2EE room

  • The room shows a lock icon in its header.
  • The first time you open an E2EE room, Skald asks you to set a passphrase. This protects your encryption keys so they can be recovered on a new device.
  • You'll see history only from the moment you joined — past messages were encrypted to keys you didn't have.

Moving to a new device

You have three paths depending on what your admin has configured:

  1. Device-to-device transfer — pair your old device with your new one (5-minute window). The new device gets your keys.
  2. Passphrase recovery (Managed mode) — enter the passphrase you set on the old device; your keys decrypt from a server-side encrypted backup.
  3. Admin recovery (Enterprise mode) — your admin generates a one-time recovery code for you. You enter it on the new device.

If none of those is available and you lose your only device, the messages are unrecoverable. That's a feature of E2EE.

Passphrase hints

You can set a public hint for your passphrase (shown to you on sign-in). Don't put the passphrase in the hint — anyone in your shared rooms can fetch it.

Notification previews

Push notifications for E2EE messages never include the message body — only "New message in <room>". This is by design: the server can't decrypt your messages, so it can't tell push providers what they say.


Multi-factor authentication

Account → Security → Enable MFA. Skald supports time-based one-time passwords (TOTP), which works with Google Authenticator, 1Password, Authy, Bitwarden, and any other RFC 6238 authenticator app.

  1. Scan the QR code with your authenticator app.
  2. Enter the current 6-digit code to confirm.
  3. Save your recovery codes — these are one-time codes that work if you lose your phone.

Once enabled, you'll be prompted for a 6-digit code on every sign-in (or every new device, depending on your admin's settings).

If you lose your authenticator and your recovery codes, only an admin can reset your MFA.


Notifications

Skald sends push notifications for:

  • @-mentions of you or @everyone
  • Direct messages (1-on-1 rooms)
  • Replies to your messages
  • Threads you've replied to
  • Incoming calls

Tuning notifications

Account → Notifications:

  • Global mute — silences everything until you re-enable.
  • Per-room mute — silences a specific room (right-click / long-press the room in the list).
  • Quiet hours — set a time window where push is silent.
  • Email digest — opt into a daily summary of activity you missed (if your admin enabled it).

Cross-device clear

When you read a notification on one device, the others clear it automatically — no piles of dupes when you finally pick up your phone.


Your account

Account menu (top-right avatar in most clients):

  • Profile — display name, avatar, status message.
  • Security — change password, MFA, sessions (sign out other devices).
  • Notifications — see above.
  • Preferences — theme (dark/light), language, message density.
  • Sessions — list of currently signed-in devices and a "sign out" button for each.
  • Sign out — current device only.

Some preferences are server-side and follow you across devices; others (e.g. window state on desktop) are local.


Getting help

  • In-app support ticket — Account → Support, or the ? button. Describe what happened; attach screenshots if useful. Your admin gets your ticket via the configured channel (email forwarding, etc.).
  • Documentation — if your admin set a custom Docs URL (Custom branding), it appears in the account menu and goes to their internal docs.
  • Public docs — you're reading them. See the FAQ for quick answers, or the documentation index for the full table of contents.

Skald user documentation