Statewide Docs

Permissions

Every community and department permission, what it allows, and the rules for department heads and department roles.

Roles carry community permissions, and members get every permission of every role they hold. The owner and admins have all permissions. You can only grant permissions you hold yourself. Ranks and department roles carry department permissions, which work in one department only.

Community permissions

Permissions are grouped on the role editor (Admin, Roles):

GroupPermissions
Communitycommunity.settings, community.branding, community.roles, community.departments, config.manage, community.penal_code, community.webhooks, community.discord, community.audit, community.data, site.manage
Membersmembers.view, members.manage, members.view_pii
CMSroster.view_internal, roster.manage, roster.promote, applications.view, applications.review, applications.forms, announcements.manage, docs.manage
Civilian, DMVcivilian.access, civilian.manage_any, business.create, business.manage_any, dmv.access, dmv.licenses, dmv.registrations
LEOleo.access
Dispatchdispatch.access, calls.self_dispatch, calls.manage_any, units.manage_any
Fire/EMSfire.access, ems.access

The editor lists a few more permissions for features that are still on their way.

Starter roles

RoleTypical use
MemberEveryone. Grants nothing by default.
Civiliancivilian.access and business.create.
Officer, Firefighter, EMT, DispatcherMDT access for their departments.
DMV ClerkThe DMV queue.
Supervisor, Staff, Recruitment, TrainingStaff duties.

Settings and members

ActionNeeds
Admin, Generalcommunity.settings
Admin, Rosters (community roster builder)community.settings
Finalize automatically when both departments approve switchcommunity.settings
Admin, Rolescommunity.roles
Admin, Members, and seeing Discord IDs on profiles, the roster and its CSVmembers.view
Edit Nickname and Clear Profile on a membermembers.manage
Reveal a member's email and IP historymembers.view_pii

The owner can't be kicked, banned or suspended, and only the owner can act on an admin.

Departments

CMS, Departments needs community.departments. Writing subdivisions and certifications community-wide takes community.departments, not roster.manage. A certification's valid days needs dept.certify or community.departments.

Department permissions

A rank or department role can carry these. They work only inside that department.

PermissionA holder can
dept.pageEdit the public page settings (the Public page shows switches, the banner, subdivision descriptions) and rank colours; post, pin and delete notices; set quick links on the members-only page.
dept.docsWrite, edit and delete the department's documents, and its subdivisions' documents. They can't widen one to the whole community.
dept.rosterAdd members, edit seats (callsign, status, subdivisions, certifications), remove seats, and add subdivisions and certifications, in their own department only.
dept.promotePromote and demote members.
dept.applicationsSee and decide the department's applications, and open or close its forms.
dept.loaApprove the department's leave requests. Leave arrives with the leave module.
dept.disciplineHandle the department's discipline. It arrives with the discipline module.
dept.certifyAward and remove certifications on the department's seats.

Department head in the rank editor means all eight. Department roles also use dept.recruitment, dept.training, dept.transfers and dept.notices (see Department roles).

Each permission is the department-wide version of a community-wide one: community.departments, docs.manage, roster.manage, roster.promote, applications.review, loa.review and discipline.manage. A member who holds the community-wide permission keeps it everywhere, with none of the head rules below.

A permission applies through a current seat (not suspended) on an active membership, and it takes effect at once. Structure stays with community.departments: a head can't create, rename, reorder or delete ranks, change a department's name or type, or touch join codes.

The head rules

  • Below your own rank. A head can only seat, promote, demote, edit or remove members whose rank sits strictly below their own. They can't touch their own seat.
  • Not another head. A rank that carries dept.promote is a head rank. A head can't promote someone into it, hold it over someone, or change a member who has it. In the starter BCSO ranks the Sheriff and the Undersheriff are both head ranks, so the Sheriff can't promote a Deputy to Undersheriff, and can't edit or remove the Undersheriff.
  • Entry rank only without Promote. With dept.roster but not dept.promote, a head adds new members at the department's entry rank only.
  • Peer rule. A head never edits, suspends or removes the seat of the community owner or an admin.
  • Their department only. The department is read from the row being changed, so a head can't act on another department, or on rows from another community.
  • Rank permissions. A head can change the department permissions of ranks below their own, and only give permissions they hold themselves. They never give dept.roster or dept.promote, since that would make another head, and can't change a head rank or their own. The owner and members with community.departments can change any rank, and a non-owner can only give or remove permissions whose community-wide equivalent they hold themselves.
  • Applications. A head's scope is the department's forms, plus any form whose apply rule names only that department. Accepting an application seats the applicant below the head's rank, and never at a head rank or into a role the head can't grant.

Starter heads

New communities seed these: the top two ranks of each department except Civilian (which has no heads) are head ranks with all five permissions, and other Command ranks get dept.applications.

Department roles

RoleWhat it carries
HeadEverything below, plus giving the other roles, mapping Discord roles and changing rank permissions.
Deputy headPage and notices, documents, roster, promotions, applications, leave, discipline, certifications, recruitment, training, transfers and rank permissions. It can't give roles.
RecruitmentReview the department's seat applications and sign off the department's side of transfers (dept.recruitment, dept.transfers).
TrainingReview the department's subdivision and certification applications, and award and remove certifications (dept.training, dept.certify).
LOA approvalApprove leave requests (dept.loa).
DisciplineHandle discipline (dept.discipline).
Notices and docsPost notices and quick links, and write department documents (dept.notices, dept.docs).

The roster and promotion permissions (dept.roster, dept.promote) stay with Head and Deputy head.

Starter department roles

In every department except Civilian: Head is the top rank, Deputy head the second, Recruitment, Training, Discipline and Notices and docs the other command ranks, and LOA approval the supervisor rank up to just below the top two. Civilian starts with none.

Who can give what

WhoMay give
The owner, admins, and members with community.departmentsAny role, but only roles whose permissions they hold community-wide. They give Head and Deputy head.
The department's HeadRecruitment, Training, LOA approval, Discipline and Notices and docs, only to ranks and members below their own rank, and only roles whose permissions they hold.
Anyone else, Deputy head includedNothing.

Nobody can give a role to their own seat or a rank they sit at. A head can't give a role to another head, a head rank, or a seat that holds dept.promote. The rules stop a head widening their own access.

A role given to a member needs a current seat in the department, not a suspended one. Removing the seat, or the member leaving the department or the community, removes the role and writes an audit row.

Roster

ActionNeeds
See the rostermembers.view
Add, edit and remove membersroster.manage (or dept.roster in the department)
Change ranksroster.promote (or dept.promote in the department)
See badge numbers and duty hoursroster.view_internal

Add Member only offers a rank whose role you could grant. On the community roster, Edit shows on every seat for roster.manage, and for a dept.roster holder only on that department's seats, never their own. The editor re-checks its own rules when you save, and Edit needs the CMS module on.

Applications

ActionNeeds
Manage forms in Admin, Applicationsapplications.forms
See applications in CMS, Applicationsapplications.view
Decide applicationsapplications.review
Change a form's Discord sectioncommunity.discord
Retry Writebackapplications.review

With Who reviews empty, a form is open to everyone with applications.view (to see it) and applications.review (to decide it). With roles picked, only members who also hold one of them see and decide it. The owner, admins and anyone with applications.forms always see every form.

Transfers

StepWhoNeeds
ReleaseThe leaving departmentdept.transfers in that department (Head, Deputy head or Recruitment)
AcceptThe joining departmentdept.transfers in that department
FinalizeAdministrationroster.manage
DenyEither department, or AdministrationThe same as the side it denies for

dept.transfers is held through a department role, not a rank: the Head, Deputy head and Recruitment roles carry it. Administration's community-wide rights never sign for a department, so both departments must always sign.

Training

WhatNeeds
Add, edit and delete courses; sign off traineesdept.certify in the department, or roster.manage community-wide
Add, edit, delete and give awards; remove a given awarddept.roster in the department, or roster.manage community-wide
Community-wide awardsroster.manage only

Audit and data

Admin, Audit needs community.audit. Audit log exports include IP addresses only for members with members.view_pii.

On this page