> ## Documentation Index
> Fetch the complete documentation index at: https://documents.tmsone.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Roles And Permissions

TMS ONE uses a **role-based access control (RBAC)** system. Every user is assigned a role, and each role has a set of permissions that controls what they can see and do across the platform.

***

## How it works

```text theme={null}
User → assigned a Role → Role has Permissions → Permissions control access
```

Roles are custom — there are no fixed built-in roles (except for system-level user types). Your organisation creates roles with the names and permission sets that match your team structure.

**Examples of roles you might create:**

* QA Lead
* QA Engineer
* Product Owner
* Read-only Viewer
* Test Manager

***

## User types

Separately from roles, every user has a **user type** that sets their top-level access tier:

| User Type   | Access                                                                     |
| ----------- | -------------------------------------------------------------------------- |
| **Admin**   | Full access to project settings, user management, and all project features |
| **QA User** | Access to QA features within a project — test cases, runs, defects, etc.   |

User type is set when [inviting a user](/admin/inviting-users). Roles then layer on top to fine-tune permissions within that tier.

***

## Creating a role

1. From the left sidebar, click **Roles & Permissions**
2. Click **Create Role**
3. Enter a **Role Name** (minimum 2 characters)
4. Click **Save**

The role is created and you are taken directly to the **Permissions** screen to configure what this role can do.

***

## Assigning permissions to a role

After creating a role (or clicking **Permissions** from the roles list), you'll see all available permissions grouped by module.

### Permission modules

Permissions are organised across these functional areas:

| Module                   | What it covers                                                 |
| ------------------------ | -------------------------------------------------------------- |
| **Role & Permissions**   | Create, update, delete, and view roles                         |
| **Users**                | Invite, view, update, and delete users                         |
| **Project**              | Create, update, delete, and view projects                      |
| **Module**               | Create, update, delete, and view test modules                  |
| **Test Case Management** | Create, edit, delete, import, and automate test cases          |
| **AI Test Generation**   | Generate, save, regenerate, and edit AI test cases             |
| **Execute & Run**        | Create test suites, run manual tests, view results             |
| **API Runner**           | Create collections, send requests, export, manage environments |
| **Test Builder**         | Generate and save Playwright automation scripts                |
| **Execute Tests**        | Execute automation scripts, view and delete execution history  |
| **Execution History**    | View and access test run and automation results                |
| **Defect Management**    | Create, update, delete, and view defects                       |
| **Wiki**                 | Create, update, delete, and view wiki pages                    |
| **Tags**                 | Create, update, and delete tags                                |
| **CI-CD Integration**    | Authenticate, run workflows, connect/disconnect collections    |
| **Plans**                | Create, update, delete, and view subscription plans            |

### Actions per module

Each module offers a subset of these actions:

| Action     | Description                    |
| ---------- | ------------------------------ |
| **Create** | Add new records in this module |
| **Update** | Edit existing records          |
| **Delete** | Remove records                 |
| **List**   | View the list/table of records |
| **View**   | Open a single record's detail  |

### To assign permissions

1. On the Permissions screen, check the boxes for each action you want this role to have
2. Use the module headers to quickly identify areas
3. Click **Save Permissions**

<Tip>
  Start from a "least privilege" baseline — only grant permissions the role genuinely needs. You can always expand permissions later.
</Tip>

***

## Managing roles

From the Roles list you can:

| Action          | Description                                      |
| --------------- | ------------------------------------------------ |
| **Edit**        | Update the role name                             |
| **Permissions** | View and update the permission set for this role |
| **Delete**      | Permanently remove the role                      |

<Warning>
  Deleting a role that is currently assigned to users will affect their access. Reassign those users to a different role before deleting.
</Warning>

***

## Assigning a role to a user

Roles are assigned during user creation or can be updated when editing an existing user. See [Inviting Users](/admin/inviting-users) for the full workflow.

***

## What's next?

<CardGroup cols={2}>
  <Card title="Inviting Users" icon="user-plus" href="/admin/inviting-users">
    Add team members and assign roles
  </Card>

  <Card title="Creating a Project" icon="folder-plus" href="/qa/creating-a-project">
    Set up projects and assign your team
  </Card>
</CardGroup>
