Roles and permissions
Core concepts
Permissions are a closed catalogue shared between the server and every client, so a role editor cannot offer a key the server does not enforce. It ships in the @kemble/contracts package every client imports, rather than over the wire.
Resolution order
A grant resolves through a scope chain: organization, then space, then channel. Roles are unioned, and a deny wins over an allow at every layer — including the per-channel overwrite layer applied last.
Built-in roles
- Owner — full control of the organization.
- Admin — everything except organization settings and billing.
- Moderator — conversation and voice moderation.
- Member — the standard participant.
- Guest — the channels they were invited to, and nothing else. No direct messages.
- Bot — post and react.