Community Oversight
Community Oversight is the admin panel for Command staff. It is accessible from the main menu after logging in with a Command-level Discord role.
The panel has seven top-level sections in the sidebar: Dashboard, Members, Departments, Forms, Settings, Integrations, and a collapsible Configuration group.
Subscription banner
If you're on the monthly plan and your subscription lapses (failed payment, cancellation, etc.), a red "Subscription required" banner appears at the top of every Oversight page. Click Manage billing in the customer portal to resolve. The banner is only visible to Command users — regular officers never see it. Lifetime customers never see it either.
See Subscription & Billing for details.
Dashboard
A snapshot of community activity:
| Stat | Description |
|---|---|
| Total Users | Registered accounts |
| Registered Characters | Characters created in the DMV portal |
| Registered Vehicles | Vehicles registered across all characters |
| Registered Firearms | Firearms registered across all characters |
| Oversight Access | Users with Command-level roles |
| Officer Access | Users with Officer-level roles |
Members
Search registered users by name, email, or display name. Each row shows the user's role badge (Oversight / Officer / Civilian) and their assigned departments. Hover over a name to see the full profile including unit number and join date.
Departments
Departments map Discord roles to named units within the CAD. The department name and abbreviation appear in officer chat prefixes (e.g. [SSPD] J. Smith: ...).
Each department has:
- Name — the full department name (e.g.
Sandy Shores Police Department) - Abbreviation — a short tag shown in chat (e.g.
SSPD) - Discord Role IDs — members with any of these roles are automatically assigned this department on login
Departments can be added, edited, and deleted.
Forms
Forms are the custom records officers fill out on the CAD records page: arrest reports, citations, warrants, and any other document your community needs. Default arrest, citation, and warrant forms are seeded automatically.
The Forms table lists each form's name, department, case prefix, and whether it requires supervisor approval. Use New form to create one, or the edit icon to open the form builder.
Form builder
Each form is defined by its metadata and a set of sections containing fields.
Metadata
| Field | Description |
|---|---|
| Name | The form's display name |
| Case prefix | Short prefix for generated case numbers (e.g. AR → AR-0001) |
| Description | Optional summary shown to officers |
| Department | Restricts the form to a department, or leaves it available to all |
| Requires supervisor approval | When enabled, submissions must be approved by a supervisor before they are final |
Sections and fields
A form is split into sections; each section holds fields. Every field has a label, a field id (used as the data key), a type, a column span for layout, and a required toggle.
Available field types: Text, Textarea, Number, Date, Time, Checkbox, Dropdown (comma-separated options), Violations table (pulls from configured Charges), and Signature.
A live Preview pane renders the form as officers will see it while you build.
Forms can be archived when they are no longer in use.
Settings
Configure SmartCAD without editing .env. Changes take effect immediately (branding) or on next user login (Discord role IDs).
Branding
| Field | Description |
|---|---|
| App Name | Shown in the UI and browser tab |
| Tagline | Short line shown on the login page hero |
| Logo URL | Direct link to a PNG/SVG logo |
| Favicon URL | Direct link to a .ico or .png favicon |
| Hero Background URLs | Images cycled on the login page (one picked at random) |
Discord Access Roles
Enter role IDs for each access group. These replace the DISCORD_*_ROLE_IDS values in .env; once saved here, the .env values are no longer used.
| Field | Effect |
|---|---|
| Required Role IDs | Must have at least one to log in |
| Command Role IDs | Full admin access including this panel |
| Officer Role IDs | Mobile CAD access |
| Supervisor Role IDs | Supervisor-level access |
WARNING
Role changes take effect on next user login, not immediately. Existing sessions are not affected until the next login or the 5-minute background revalidation cycle.
Integrations
Connect your FiveM server to your SmartCAD instance.
FiveM API Key
Generate a secret key that your FiveM server uses to authenticate requests to SmartCAD. The key is unique to your instance, so generate it once and paste it into your server.cfg.
- Click Generate key to create the initial key
- Use the eye icon to reveal it and the copy button to copy it to your clipboard
- The
server.cfgsnippet below the key field is auto-filled with your key and instance URL, copy it directly into your config
Regenerating the key invalidates the old one immediately. Any FiveM server still using the old key will fail to authenticate until you update its server.cfg.
SmartCAD In-Game Resource
Download the smart-ingame FiveM resource as a zip. When the resource has been updated since your last download, the panel shows an Updated since last download badge.
Click Download smart-ingame.zip, extract it, and place the smart-ingame folder in your server's resources/ directory. Restart the server after updating.
See the FiveM Integration page for full setup instructions.
Configuration
The Configuration group in the sidebar contains data tables that power the CAD's lookup fields and notification sounds.
Call Types
The call types available when creating a dispatch call. Each call type has:
- Code — optional short identifier
- Description — the call type name (e.g.
Robbery in Progress) - Priority —
1(Critical),2(Urgent), or3(Routine); drives call grouping and color coding
Charges
Criminal and traffic charges used across arrest reports and citations. Each charge has:
- Code — short identifier (e.g.
PC 187) - Violation — description (e.g.
Murder)
Use Add Charge to create one, the pencil icon to edit, or select multiple rows and Delete selected to bulk remove.
Streets
Street names available for autocomplete when entering locations in incident reports and CAD calls. Add or remove streets to match your server's map.
Cities
City names available for location fields across the CAD. Each city is a short text label (e.g. Los Santos).
Counties
County names used in location fields. Useful for communities covering multiple map regions.
States
States available for plate searches, CAD calls, and DMV records. Each state has a name and an abbreviation (e.g. San Andreas / SA).
License Classes
The driver's license classes a member can pick when registering an ID in the DMV portal. Each class has a code (e.g. C) and an optional description (e.g. Standard passenger vehicle). Classes A and B are treated as commercial (CDL).
Sounds
Customize the audio cues played in the CAD for various events. Each sound slot has a bundled default and an optional custom upload.
| Sound | Trigger |
|---|---|
| Chat Send | Sending a message in CAD chat |
| NCIC Query | Running a plate or name lookup |
| Assigned to Call | Being assigned to a dispatch call |
| Detached from Call | Being removed from a call |
| New Dispatch | A new dispatch call created |
| Chat Message | Receiving a chat message |
| Access Granted | Successful authentication sound |
| Emergency Tone | Emergency alert |
Click the play button to preview a sound before saving. Upload a custom file (MP3, WAV, OGG) or delete a custom sound to revert to the bundled default.