> For the complete documentation index, see [llms.txt](https://docs.cloudscaff.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cloudscaff.com/settings/user-management/add-or-update-permissions.md).

# Add or Update Permissions

Permissions control access to modules, data, and specific functions, ensuring that every team member only interacts with information relevant to their role.

***

## Purpose

In Cloudscaff, permissions are used to:

* **Protect company data** — limit sensitive or financial data to specific roles (e.g., only managers can approve or delete).
* **Define responsibilities** — grant access according to job functions (e.g., yard staff manage deliveries, site users submit requests).
* **Streamline workflows** — make sure that only authorized users can approve, receive, release, or void records.
* **Improve accuracy** — prevent errors by restricting who can modify or void important documents.
* **Maintain compliance** — ensure that safety, inspection, and handover approvals come from verified roles.

***

## Accessing Permissions

You can access **Permissions** in two ways:

1. Navigate to **Settings → User Profiles → Edit Roles** **→ Click the Plus (+) or Edit Role** button **→** Set Role permissions (**Click here**).
2. Navigate to **Settings → User Profiles → Click on a user** in the user list **→**  Set Role permissions for this user (**Select role**) **→ Click the Plus (+) or Edit Role** button **→** Set Role permissions (**Click here**).

***

## Understanding the Permissions Layout

The **Permissions UI** is designed to make role setup clear and easy to understand — every section is color-coded, with tools grouped and labeled so you know what area of the system you’re applying permissions to.

***

### Section Headers (Colored Blocks)

Each major section of the system is displayed in its own **colored block** (for example, *Sites*, *Inventory*, or *Scaffolds*).

These colored sections help you quickly recognize what part of the system you’re working in.

* **Red section** — relates to **Roles** and system-level permissions.
* **Blue section** — relates to **Inventory** **Management** permissions.
* **Green section** — relates to **Site Management** (sites, scaffolds, JSPs, etc.).

Each section title (like **Sites** or **Inventory**) clearly states the module’s purpose and scope.

<div align="left" data-with-frame="true"><figure><img src="/files/ZlfGfkfkdICRSlCvM4vS" alt=""><figcaption></figcaption></figure></div>

<div align="left" data-with-frame="true"><figure><img src="/files/BEt41bNSe4t8CgjruCAH" alt=""><figcaption></figcaption></figure></div>

<div align="left" data-with-frame="true"><figure><img src="/files/MevKs7ykQ7FEmL2Db3lj" alt=""><figcaption></figcaption></figure></div>

***

### Section Titles and Descriptions

Within each section, you’ll find a **title** and a **short description** that explain what that part of the system controls.

These descriptions give you an overview of what the section or module is used for — for example:

<div align="left" data-with-frame="true"><figure><img src="/files/csQ90G3p7GI8rkeF1U4L" alt=""><figcaption></figcaption></figure></div>

This section holds all the permissions related to Site management.

***

### *Tool Titles and Descriptions*

Example: In the **Sites** section, you can enable permissions for managing **Deliveries** sent to a site. When enabled, users can **view**, **receive**, or **void** deliveries as needed.

<div align="left" data-with-frame="true"><figure><img src="/files/st8fqOZ5xskZc7oeUy6f" alt=""><figcaption></figcaption></figure></div>

> **Important:**\
> If a tool’s permission is turned **on** within a section, that section and it's active tools become visible and accessible to the user.

***

### “Select All” and “Unselect All” Buttons

At the top-right corner of each permission section, you’ll see **Select All** and **Unselect All** links.

* **Select All** enables every toggle in that section.\
  Use this when granting full access to that module.
* **Unselect All** disables every toggle.\
  Use this to reset or remove all access before reconfiguring.

These controls let you quickly manage large permission sets with one click.

{% columns %}
{% column %}

#### **Select All**

<div align="left" data-with-frame="true"><figure><img src="/files/esKEAMfSxVFtj34KjPpa" alt="" width="188"><figcaption></figcaption></figure></div>

When clicked, **Select All** turns on every permission toggle within that section or tool.

{% endcolumn %}

{% column %}

#### **Unselect All**

<div align="left" data-with-frame="true"><figure><img src="/files/YKsUYZTPya1QfwXbpsWS" alt="" width="188"><figcaption></figcaption></figure></div>

When clicked, **Unselect All** turns off every permission toggle within that section or tool.
{% endcolumn %}
{% endcolumns %}

***

### Toggles

Inside each group, you’ll see **individual toggle buttons** labeled by action type:\
**Create**, **View**, **Update**, **Delete**, **Approve**, **Void**, and so on.

Each toggle controls a specific action for that feature.

When the toggle is **switched on** (orange), the user or role has permission to perform that action.

When it’s **off** (grey), that capability is disabled.

{% columns %}
{% column %}
**Toggle is OFF**

<div align="left" data-with-frame="true"><figure><img src="/files/GjSma74PmCukVp84eSsG" alt="" width="99"><figcaption></figcaption></figure></div>
{% endcolumn %}

{% column %}
**Toggle is ON**

<div align="left" data-with-frame="true"><figure><img src="/files/SnRTvAtOSItn9j7yDYhN" alt="" width="98"><figcaption></figcaption></figure></div>
{% endcolumn %}
{% endcolumns %}

***

### Tools

Within each section (like **Sites**), you’ll see a list of **tools** — for example, **Inventory**, **Deliveries**, or **Tasks**. Each tool includes a set of **toggles** that control specific actions, such as *Create*, *View*, *Update*, or *Void*.

When a toggle is turned **on**, that tool becomes active for the role.

When the role is then assigned to a user, the user will see and be able to use those active tools in their profile.

> **Example:**\
> If a role has the **Deliveries** tool active with *View* and *Receive* toggled on, users with that role will be able to view and receive deliveries but won’t be able to void them.&#x20;
>
> Similarly, if the **Inventory** tool is active with *View* and *Reports* toggled on, users will be able to view inventory data and generate reports but not edit or add new inventory items.

<figure><img src="/files/K5szqZNpXKIgwMg7RK2W" alt=""><figcaption></figcaption></figure>

***

### Clean, Consistent Layout

Every permission card follows the same clean structure:

* **Title** – The feature or function (e.g., *Scaffolds*).
* **Subtitle** – A short explanation of what the function does.
* **Toggles** – The specific actions allowed (Create, View, Update, etc.).
* **Quick Actions** – “Select All” and “Unselect All” links for fast setup.

This consistency makes the interface easy to learn and extremely efficient when configuring multiple roles.

***

### Save & Confirmation

<div align="left" data-with-frame="true"><figure><img src="/files/k6ZC455jE5fkpcwpdG4U" alt=""><figcaption></figcaption></figure></div>

Once your permissions are set, clicking **Select** (top right of the screen) saves the configuration.

<div align="left" data-with-frame="true"><figure><img src="/files/HHquU4WaETEFifYpMwRO" alt="" width="96"><figcaption></figcaption></figure></div>

The role permissions are now active and will apply immediately for users assigned to that role.

If you change your mind before saving, click **Cancel** (top left) to discard changes.

<div align="left" data-with-frame="true"><figure><img src="/files/0637bRdYxdqkIK25HJSU" alt="" width="109"><figcaption></figcaption></figure></div>

***

## Permission Toggles

When adding or removing permissions, you’ll see various toggles. Each one defines what the selected role can see and do inside the system.

{% hint style="info" %}
[Learn what permission toggles mean](/settings/user-management/understanding-permission-toggles.md)
{% endhint %}
