# Roles

The "Roles" submodule of the CodeMash Membership module is used to manage the roles that are available in your app or project. Roles are predefined sets of permissions that are used to control a user's access to different features and functionality of the app.

<figure><img src="/files/vPyAmZzaNFyH8nFrZnkX" alt=""><figcaption><p>Managing roles</p></figcaption></figure>

{% hint style="info" %}
Two roles are created automatically when you create a project: **Authenticated** and **Administrator**.

* Administrator - a role containing all the policies and all the permissions. This role cannot be edited.
* Authenticated - a role containing less sensitive permissions.
  {% endhint %}

In the "Roles" submodule, you can define custom roles that are relevant to your app or use the built-in roles provided by the Membership module. You can also set a default role or roles for newly registered users from the Membership Settings page. This allows you to control your users' access and privileges and ensure that they have the appropriate level of access to the features and functionality of your app.

You can use the "Roles" submodule to manage the available roles in your app, and the Membership module's user management features can assign roles to your users as needed. This can be useful for controlling your users' access and privileges and ensuring that they have the appropriate level of access to the features and functionality of your app.

<figure><img src="/files/MjzsBJHGknVMlaUFAsqs" alt=""><figcaption><p>Managing one role</p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.codemash.io/dashboard/membership/roles.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
