> For the complete documentation index, see [llms.txt](https://cylexdev.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cylexdev.gitbook.io/docs/cylex_mdt/guides/permission.md).

# Permission

The Permissions Manager gives you granular control over every MDT page for every rank in your department. You can allow patrol officers to view incidents without being able to delete them, or restrict announcements to supervisors only — all from inside the MDT itself, without editing any files.

### Who can access the Permissions page <a href="#id-90451e4d-2aea-4ca8-9241-a6452afa0cc5" id="id-90451e4d-2aea-4ca8-9241-a6452afa0cc5"></a>

The `Config.PermissionsPageAccess` setting in `editable/config.lua` determines who can open the Permissions page:

* `'boss'` — only the job's boss-grade officers can view and use the page
* `'admin'` — only server admins (ACE permission holders) can access it

```lua
-- editable/config.lua
Config.PermissionsPageAccess = 'admin'
```

{% hint style="info" %}
Set `Config.PermissionsPageAccess = 'admin'` if you want to keep permission management away from in-game job bosses and restrict it to server staff only.
{% endhint %}

### How the Permissions Manager works <a href="#ef5d1be1-b5bf-4b5d-ad5a-54b7d41da654" id="ef5d1be1-b5bf-4b5d-ad5a-54b7d41da654"></a>

The Permissions page is split into two panels:

* **Left panel** — lists every rank detected from your framework (grade 0 up to the highest grade defined for the job). Select a rank to load its current permissions.
* **Right panel** — lists every MDT page with individual action toggles. Toggle each action on or off for the selected rank, then save.

### Pages and available actions <a href="#fc940fef-6f00-41d0-a330-4039be5dca16" id="fc940fef-6f00-41d0-a330-4039be5dca16"></a>

The table below lists every page that has permission toggles and the actions you can enable or disable per rank.

| Page                          | Available actions                 |
| ----------------------------- | --------------------------------- |
| **Announcements** (Dashboard) | Create                            |
| **Incidents**                 | View, Create, Edit, Delete        |
| **Evidence**                  | View, Create, Edit, Delete        |
| **Evidence Items**            | View, Add from inventory, Delete  |
| **BOLOs**                     | View, Create, Edit, Delete        |
| **Citizens**                  | View, Add License, Delete License |
| **Notes**                     | View, Create, Edit, Delete        |
| **Templates**                 | View, Create, Edit, Delete        |
| **Units**                     | View, Create, Edit, Delete        |
| **FTO Reports**               | View, Create, Edit, Delete        |
| **Uniform Codes**             | View, Create, Edit, Delete        |
| **Charge Definitions**        | View, Create, Edit, Delete        |
| **Weapons**                   | View, Create, Edit, Delete        |
| **Tags**                      | View, Create, Edit, Delete        |
| **Exams**                     | View, Create, Edit, Delete        |
| **Radio Codes**               | View, Create, Edit, Delete        |
| **Logs**                      | View                              |
| **Live Map**                  | View                              |
| **Analytics**                 | View                              |
| **Cameras**                   | View                              |
| **Officers**                  | View                              |
| **Vehicles**                  | View                              |

### Setting permissions for a rank <a href="#id-7863cb0a-febb-40ef-80cf-6626cc91bb9d" id="id-7863cb0a-febb-40ef-80cf-6626cc91bb9d"></a>

{% stepper %}
{% step %}

### Open the Permissions page

Navigate to the **Permissions** page from the sidebar. It is listed under the **Administration** group by default. If you cannot see it, check that `Config.EnabledPages['permissions']` is set to `true` and that your rank meets the `Config.PermissionsPageAccess` requirement.
{% endstep %}

{% step %}

### Select a rank

In the left panel, click the rank you want to configure. The right panel populates with that rank's current permission state for every MDT page.
{% endstep %}

{% step %}

### Toggle actions

For each page, enable or disable the individual actions using the toggles. You can use the **Turn all on** and **Turn all off** quick buttons at the top of the right panel to set everything at once for that page section.
{% endstep %}

{% step %}

### Save

Click **Save** at the top of the right panel. The banner "You have unsaved changes" appears any time there are pending changes — navigating away without saving will discard them.
{% endstep %}
{% endstepper %}

### Grant All Permissions button <a href="#id-9b0722ff-b001-4355-a3a8-7929a2d72638" id="id-9b0722ff-b001-4355-a3a8-7929a2d72638"></a>

Each rank row in the left panel has a **Grant All Permissions** button. Use this when setting up a chief or server admin rank to give it full access to every action on every page in a single click.

{% hint style="info" %}
The unsaved changes banner appears at the top of the right panel when you have modified toggles without saving. Switching to a different rank or closing the MDT without saving will discard all pending changes.
{% endhint %}

### Department-scoped permissions <a href="#id-52c8eadb-a2f8-4e09-b256-1f3e6a1942a5" id="id-52c8eadb-a2f8-4e09-b256-1f3e6a1942a5"></a>

When `Config.DepartmentScopedData` is set to `true` in `editable/config.lua`, each department manages its own permission set independently. A rank named "Sergeant" in the police department has separate permissions from a rank with the same name in the sheriff department.

```lua
-- editable/config.lua
Config.DepartmentScopedData = true
```

Set this to `false` if all your departments share the same permission configuration and you want changes to apply globally.
