RBAC
The RBAC dashboard is where you decide which Discord roles can do what inside SYNTHET. Apply a starter template, tweak the matrix, then drop into the advanced views when you need fine-grained control.
Before you start
RBAC is the gatekeeper for every other module's dashboard. A few things up front:
- You have the rbac.view_policy capability (the page returns 403 otherwise).
- The Discord roles you want to manage already exist in the server.
- A first-time setup picks a starter template — STARTER, STRICT, or ENTERPRISE — so you have something to edit instead of an empty matrix.
- For destructive operations (resetting policy, importing snapshots) you want a current backup of the server.
What you'll see
The page header shows your current policy version and a refresh button. Below that sits a five-card stats strip; below that, the active surface.
Stats strip
Setup view
A single card with three template tiles. Pick one to seed your policy.
- Starter
- Reasonable defaults for a small server: owner gets everything, mods get moderation, members get nothing.
- Strict
- Locks every module by default; staff roles must be explicitly granted each capability they need. Use for security-conscious servers.
- Enterprise
- Splits responsibilities across multiple staff tiers — moderators, admins, billing operators, content managers. Use when you have ten or more staff with distinct jobs.
Matrix view
The simplest editing surface. Rows are roles, columns are capabilities, cells are grants.
Layout
Click behaviour
Advanced view
Five sub-tabs that mirror the API's full surface area.
Settings
Permissions
Overrides
Module access
Snapshot
- Export downloads a .json file containing every role, every grant, every override, and the policy settings.
- Import uploads a snapshot and replaces the current policy. There's a confirmation dialog because this is destructive.
Audit view
A decision log of every capability check SYNTHET has performed.
What's in each row
Per-role fields
When you click a role name in the matrix or open Advanced > Permissions, you get this set of editable fields.
Display name for this policy role. Doesn't have to match the Discord role name, but it usually should.
Example: Moderators
Free-form note. Shown to other staff in the matrix.
Higher priority wins when two roles grant conflicting effects on the same capability.
Example: 100
The Discord roles this policy role applies to. Members holding any of them inherit the grants.
System roles are seeded by templates and can't be deleted. The toggle is read-only when on.
| Setting | Type | Default | Description |
|---|---|---|---|
| Break glass | Toggle | on | Server owner bypasses every capability check. |
| Admin bypass | Toggle | on | Discord administrators auto-pass every capability check. |
| Require Discord gate | Toggle | off | Members must hold at least one managed role to use SYNTHET. |
| Audit retention days | Number | 90 | How long decision rows are kept before pruning. |
Common tasks
First-time setup with a template
Don't try to build RBAC from scratch — pick a template.
- Open RBAC. The Setup view is the only thing visible until you apply a template.
- Pick the template that matches your server. Starter for most communities, Strict for security- conscious ones, Enterprise when you have a large staff team with split responsibilities.
- Click Apply. SYNTHET seeds the policy and runs a Discord-role sync.
- Switch to the Matrix view. Verify each Discord role is linked correctly.
Grant a role permission to manage tickets
The matrix is the fastest path for a one-off grant.
- Open the Matrix view.
- Find the row for @Support (or whatever your role is called).
- Find the Tickets column. Click the empty cell — it turns green.
- Save is automatic. Confirm by switching to the Audit view — you should see a grant.add row at the top.
Snapshot before a risky change
A 30-second precaution that has saved many staff teams.
- Open Advanced > Snapshot.
- Click Export. Save the JSON file somewhere you'll find it later (a pinned message in a staff channel works well).
- Make your change.
- If something breaks, come back here and click Import on the saved snapshot to roll back.