Permission Keys & Terminal Access¶
PulseCAD controls what a member can do with three separate access layers. They stack, and they answer different questions. Understanding how they combine is the key to onboarding a team cleanly, so this page walks through each layer and then shows how they fit together.
Three layers, three questions
- Membership role - how much authority you have in the community (owner down to read-only).
- Terminal Access - which consoles (terminals) you are allowed to open.
- Department Roles - which department, rank, and specialty capabilities you carry inside a terminal.
A member needs the right combination of all three to actually do a job. Owners and admins are the exception - they are privileged and see everything.
Layer 1 - Membership role¶
All members of a community hold one membership role, highest to lowest:
owner → admin → supervisor → member → readonly
This is the baseline authority level. owner and admin are privileged: they can open the Admin Console, and they see all terminals and all departments regardless of the other two layers. Supervisor, member, and readonly are operational roles - their day-to-day access is shaped by the next two layers.
Membership role is always assigned manually, per member, from Admin → Members (the Role dropdown). It is never handed out by a permission key. See the walkthrough below for why that matters.
Layer 2 - Terminal Access grants¶
Terminal Access decides which terminals a member can open. There is no per-member terminal switch: a member's terminals come from the Department Roles they hold (Layer 3), so a role in a Fire & EMS department opens the Fire & EMS console. Civilian and Court are the exception, see the tip below. A member only sees, on the community home, the rows and areas for terminals they can open. The terminals are:
| Terminal | What it is |
|---|---|
| Dispatch | The dispatch board and 911 queue - see Dispatch |
| Law Enforcement | The LEO MDT - see MDT |
| Fire & EMS | The Fire/EMS console - see Fire & EMS |
| Tow & DOT | The tow/recovery console - see Tow & DOT |
| Civilian | The resident/DMV portal - see Civilian Portal |
| Court | The judicial surface - see Court |
| Records | The Records Console |
Terminal Access is separate from role. A supervisor whose only department role is in Fire & EMS cannot open the LEO MDT. Give a member the department roles their job needs.
Civilian and Court are open to all members
Under Admin → Community → Permissions → Terminal defaults, the Civilian and Court switches are on unless you turn them off, and while they are on, all members can open those terminals. Turning one off removes it for everyone. With Civilian on, Whitelist civilians limits the Civilian portal to members with a role in your Civilian department (owners and admins always keep it). It can only be turned on once your Civilian department exists and has at least one role, otherwise all members would lose the portal; the switch is refused and says what to create. While it is on, deleting the last Civilian role, or the Civilian department itself, is refused for the same reason.
Layer 3 - Department Roles¶
Opening a terminal is not the same as being cleared to work a department inside it. Department Roles are custom roles you build per department. Each one carries:
- a rank tier (your department's ladder - for example Cadet, Officer, Sergeant, Command), and
- a set of capabilities - specialty clearances such as K9, SWAT, or FTO.
You define these when you set up each department (see Admin → Departments). A member can hold department roles in one or more departments.
Department roles are granted two ways:
- Manually, per member, from Admin → Members in the Dept Roles column.
- By redeeming a Permission Key (next section).
Permission Keys¶
A Permission Key is a shareable code that carries a bundle of department roles. Instead of editing members one by one, you mint one key, share it, and let members redeem it to gain the roles it carries. Manage keys in Admin → Community → Permissions.
What a key can and cannot grant¶
Permission Keys grant department roles ONLY
A Permission Key can never grant admin or owner. Membership role is always assigned manually, per member, from Admin → Members. This is a hard rule: a key redeemed by anyone - stranger or staff - only ever adds the department roles bundled into it, never elevated authority over your community.
A key with no roles attached is therefore just a plain join / read-only key: redeeming it makes someone a member with nothing granted, which you can then build on manually.
Minting a key¶
From Admin → Community → Permissions, create a key and choose:
- The department roles it carries - pick any set of your custom department roles across any departments. (Leave empty for a plain join key.)
- Max uses - how many times it can be redeemed before it stops working. Leave blank for unlimited.
- Expiry - an optional date after which the key stops working.
Sharing a key¶
Minting a key gives you two things. Which one you send matters:
- The invite link (
/join/{code}) - use this for anyone who is not already in your community. Whoever opens it signs in, or creates an account if they do not have one, and lands inside with the key's roles already granted. It works even while public sign-ups are paused, because the key itself is what lets them register. - The bare code - use this for someone already in your community and signed in. They enter it on the community home, with the Enter permission key button at the top, to add the roles to what they already have.
Send the link to anyone new
A bare code is no use to someone without an account yet - there is nowhere for them to enter it. If a recruit says the key "doesn't work", this is almost always why. Send them the link instead.
Editing, expiry, and revoking¶
Editing a key affects future redemptions only
Changing the roles on an existing key changes what future redemptions grant. Members who already redeemed the key keep exactly what they got at the time - editing the key never reaches back and changes or removes their roles.
- Max uses and expiry both simply stop the key from being redeemed once the limit or date is reached.
- Revoking a key stops future redemptions. It does not claw back roles from members who already redeemed it - remove those from each member individually in Admin → Members if you need to.
Permission Key vs. the plain invite link¶
The Invite Member button in Admin → Members produces a role-less join link. Whoever opens /join/{code} lands in your community as a read-only civilian - no terminals, no department roles. You then build their access up from there: assign department roles, or hand them a permission key.
Both are shareable /join/{code} links and both work for someone with no account yet. The only difference is whether roles ride along.
| Permission Key (Admin → Community → Permissions) | Invite Link (Admin → Members) | |
|---|---|---|
| Carries department roles | Yes (a chosen bundle) | No |
| Grants admin/owner | Never | Never |
| Result on redeem | Member with the key's department roles | Read-only civilian |
| Best for | Onboarding a whole department at once | Letting a specific person in, then configuring by hand |
Both respect your community join policy (see Admin → Community).
How to onboard your team¶
A clean first-run sequence that uses all three layers:
- Create your departments and their roles. In Admin → Departments, add each agency, then build its department roles (rank tiers plus capabilities like K9, SWAT, FTO).
- Set who can join. In Admin → Community, under Who can join, decide whether the community is open to everyone, needs an invite key, or is invite only.
- Mint a permission key (or an invite link). For a whole department, mint a Permission Key in Admin → Community → Permissions carrying that department's roles. For a single hand-picked person, use Invite Member and configure them afterward.
- Check roles and admins. In Admin → Members, adjust anyone's Dept Roles by hand if needed. Set anyone who should administer the community to admin here as well - remember, no key can do that for you.
- Members go on duty. Once a member has a department role, their department appears under Go on duty on the community home, and they press Go on duty there.
Revisit as ranks change
Promotions, new specialties, or moving someone between departments are all edits in Admin → Members (or a fresh permission key). Because edits to a key never rewrite past redemptions, mint a new key when a department's role bundle changes and let it supersede the old one.
Related pages¶
- Community Administration - Members, Departments, and Community settings live here.
- Dispatch, MDT, Fire & EMS, Tow & DOT, Civilian Portal, Court - the terminals themselves.