Everything included. Nothing gated.
Every feature ships to every server — there is no paid edition to compare against. Pick a category:
The daily-driver core: writing, organizing and finding conversations.
Text and voice channels organized into collapsible sections, reordered by drag-and-drop. Read-only channels turn any of them into an announcement feed where only moderators post — optionally with member replies tucked into threads.
Any message can grow a one-level thread in a side panel, in channels and direct messages alike. Replies stay out of the main timeline and don't mark the channel unread, so a side discussion never drowns the room.
One-to-one and group conversations with the full editor, attachments, threads and search. Strictly participant-only — not even server admins can read them through the API.
React from a quick picker of your recent emojis or the full grid. Communities add their own custom emojis — animated GIFs included — which work in messages and reactions alike, updating live for everyone.
Moderators pin important messages per channel, browsable from the header. Edits carry a marker, deletions leave a tombstone, and moderators can audit a message's full history — every edit and who deleted it.
Every message has a copyable link that deliberately reveals nothing about where it lives. Pasting one inside Tyto renders a quote preview; public messages can even be embedded on external websites as live cards.
Everything updates the moment it happens — no refresh button anywhere.
Messages, reactions, edits and structure changes stream to every open client over Server-Sent Events (Mercure). The hub is embedded in the server — no extra service to run.
Presence dots on every avatar, powered by activity — no battery-draining heartbeats. Set Away or Do-not-disturb manually, or go Invisible and appear offline even while in a voice channel.
See who's writing in the channel or conversation you're viewing. Stateless and lightweight — indicators piggyback on the realtime stream and expire on their own.
Click a voice channel and you're in — WebRTC audio with open-mic or push-to-talk, noise suppression, per-device selection and a pre-join preview. The call persists while you browse other channels.
Turn on the camera — with optional background blur — or share your screen inside any voice channel. Tiles lay out automatically and highlight whoever is speaking.
⌘K opens search over the current channel, the whole community or a conversation, with author and date filters. Typo-tolerant and stemmed, with highlighted excerpts that jump you to the message in place.
Shape spaces from open town squares to invite-only work rooms.
Run an open server with self-service registration or close it entirely — accounts then come from admin provisioning or invites. A server can also ask to be listed in the public catalogue, or stay dark.
Private communities never appear in the catalogue and are joined through shareable invite links. Each invite can carry an expiry and a use limit — mint one for a hiring round, cap it, let it lapse.
Per community: admins run everything, moderators get the moderation toolkit, and channel-level moderators cover a single room. Server admins have global reach but join communities like anyone else.
Bundle people into named groups — a team, a class — and grant private channels to the group in one move. Membership changes propagate automatically; ownership is transferable.
Private channels are invisible to everyone without a grant — not greyed out, simply absent from sidebars, search and permalinks. Access goes to individual members or whole groups.
Star the channels you live in and they pin to a Favorites section on top of the sidebar; hide the ones you don't care about. Your layout is yours — it doesn't affect anyone else.
A real moderation ladder with EU-grade accountability built in.
Actions scale with role: channel moderators time out, community moderators warn and time out, community admins ban. Every action records the actor, reason and duration.
The top of the ladder, reserved for server admins: a banned account is refused at login across the entire server. Liftable, and always logged with its reasoning.
Users report messages or profiles in two clicks. Reports queue in the admin panel with a resolve-or-dismiss workflow, keeping decisions traceable.
Every moderation decision is recorded with its justification, as the EU's Digital Services Act expects. Sanctioned users see why — not just that — something happened.
Anyone sanctioned can appeal the decision. Appeals land in the same admin queue with the original action's full context attached.
Every action taken in a community — by whom, on whom, why, how long — in one reviewable log, visible to that community's admins and moderators.
Screen new registrations against StopForumSpam's shared abuse database — an opt-in check that never leaves the server unless you turn it on. By default, only an IP address and a one-way hash of the email are sent, refused signups get a generic message plus your appeal contact, and an allowlist keeps trusted addresses out of the check entirely.
Layered controls so the signal survives and the noise doesn't.
Every channel gets its own dial: all messages, mentions only, or nothing. The default — mentions only — keeps busy rooms quiet without going deaf.
Silence an entire community in one toggle while keeping your membership and unread state. Your per-channel settings come back exactly as they were when you unmute.
Native system popups when the tab is open but hidden — never a redundant popup over the conversation you're already reading. Clicking one deep-links straight to the message.
Notifications with the browser closed, delivered through your browser's push service and rendered in your language. One opt-in toggle shared with desktop notifications.
An optional daily email summarizing your personal mentions and direct messages, sent at the hour the server admin picked. Nothing else — no marketing, no activity spam.
A busy channel becomes one 'new activity' entry that updates in place, not fifty pings. Mentions and DMs always notify individually — the things aimed at you stay loud.
The everyday polish — discovery, catch-up, media and reachability.
Public communities are readable without an account — visitors can lurk before committing, with sign-in prompts where interaction would start. Great for open projects whose discussions double as documentation.
The landing view lists the server's public communities; joining is one click. Pin your favorites to the top of the rail and browse communities you haven't joined yet.
Bold channels, rail bubbles and a bell counter show where things happened; a new-messages divider marks where you left off, and a jump-to-latest pill counts arrivals while you read history. Mark-all-read works per channel, community, all DMs or everything.
Image links become thumbnails, several images collapse into a gallery with a full-screen lightbox, and YouTube links turn into click-to-play players that load nothing until pressed. External links show their real destination before opening — a built-in phishing guard.
The full app works on phone browsers: off-canvas navigation, touch-sized message actions, modals that fit the screen. Same features, smaller glass.
Keyboard navigation, focus states, screen-reader semantics and touch-target sizes are part of the test suite, not an afterthought — key views are automatically scanned against WCAG 2.1 AA on every change.
The operator and developer surface — everything scriptable, everything yours.
English, Polish, French, German, Spanish and Italian across the entire interface. Emails, push notifications and emoji search follow each user's own language.
A full /admin area: the live settings registry (branding, registration, uploads, rate limits, legal), user and community management, content reports, an audit log and deep health probes.
Push message, reaction and moderation events to your own systems as HMAC-signed deliveries. Failed endpoints retry with backoff, auto-disable, buffer and replay — with a full delivery log.
Scoped personal access tokens for bots and integrations — each key carries only the permissions it needs, shown once and revocable instantly. Bots authenticate exclusively by token.
Everything the web client does rides the public JSON-LD REST API — versioned, with interactive Swagger docs hosted on your own server at /api.
Every user can export their data as JSON and delete their account, with a grace period and anonymize-in-place erasure. Retention periods purge old content automatically.