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

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
