Roles & Permissions
SmartCAD maps your Discord roles to one of three access levels.
Access levels
| Role | Access |
|---|---|
| Supervisor | DMV portal |
| Officer | Mobile CAD + DMV |
| Command | Everything, including Community Oversight |
How it works
- Required — members must have at least one of these roles to log in at all
- Officer — grants access to the Mobile CAD
- Supervisor — grants Supervisor-level access
- Command — grants full access including Community Oversight
Configuring role IDs
Role IDs can be configured two ways:
Via the admin panel (recommended)
After first boot, go to Community Oversight → Settings → Discord Access Roles. Enter role IDs and click Save Discord Roles. Changes take effect on next user login.
This is the easiest approach and doesn't require restarting the server.
Via .env (initial setup)
Set role IDs in .env before first boot as comma-separated values with no spaces:
dotenv
DISCORD_OFFICER_ROLE_IDS=123456789012345678,987654321098765432These values seed the database on first startup. Once seeded, the admin panel takes precedence.
How to find role IDs
- In Discord, go to User Settings → Advanced and enable Developer Mode
- Go to your server → Server Settings → Roles
- Right-click any role and click Copy Role ID
Revalidation
Role changes in Discord are reflected automatically on the next login. Background revalidation also runs every 5 minutes by default — configurable via DISCORD_REVALIDATE_MS.