{"section":"tutorials","requestedLocale":"en","requestedSlug":"roles-and-permissions","locale":"en","slug":"roles-and-permissions","path":"docs/en/tutorials/cms/roles-and-permissions.md","branch":"main","content":"Roles and permissions in the CMS control what each team member can create, edit, and publish. By assigning the appropriate role to each user, you ensure that content authoring and publishing remain organized and that only authorized users can make changes to the live storefront.\r\n\r\n## Branch-based publishing workflow\r\n\r\nCMS uses a git-like branching model. Understanding this model clarifies why the Editor and Producer roles exist as separate permission levels.\r\n\r\n* Branches are the authoring space. Any authenticated user, including Producers, can create and edit content here.\r\n* The `main` branch represents production-published content. Changes to `main` are immediately live on the storefront. Only Editors and Administrators can commit to or merge into `main`.\r\n* The merge step is the approval gate. When a Producer finishes work on a branch, an Editor or Administrator reviews and merges it, promoting the changes to the storefront. This model allows teams to separate content authoring from content publishing, giving control over what goes live and when.\r\n\r\n## Roles\r\n\r\nThe CMS includes three predefined roles:\r\n\r\n* **Content Producer**: Creates and edits content in branches. Can't publish to the live storefront (Main branch).\r\n* **Content Editor**: Manages the full content lifecycle: creation, editing, and publishing. Manages branch operations.\r\n* **Content Administrator**: Full access, including all Content Editor capabilities plus store and locale configuration.\r\n\r\n### Adding roles\r\n\r\nRoles are assigned through the VTEX Admin. No setup is required. The three roles are predefined and available as soon as the app is installed. To make them available in your account, follow these steps:\r\n\r\n1. In the VTEX Admin, go to **Account Settings > User Roles**.\r\n2. Click `New Role`.\r\n3. In the **Choose role** field, select one of the three roles: **Content Administrator**, **Content** **Producer**, or **Content Editor**.\r\n4. In the **Role name** field, enter a name for this role.\r\n5. Click `Save`.\r\n\r\n## Branches\r\n\r\nThe following table shows the branch management actions each role can perform.\r\n\r\n| Action | Content Producer | Content Editor | Content Administrator |\r\n| :---- | ----- | :---: | :---: |\r\n| Save to the `main` branch - Publish changes to the storefront. | ❌ | ✅| ✅ |\r\n| Remove from the `main` branch - Unpublish from the storefront. | ❌ | ✅ | ✅ |\r\n| Merge branch - Promote a feature branch to `main`, immediately or on a scheduled date. | ❌ | ✅ | ✅ |\r\n| Delete branch - Delete all versions with changes in the branch. | ❌ | ✅ | ✅ |\r\n| Create branch - Create a new branch to develop and review content before publishing. | ✅ | ✅ | ✅ |\r\n\r\n## Entries\r\n\r\nThe following table shows the entry-level actions each role can perform.\r\n\r\n| Action | Content Producer | Content Editor | Content Administrator |\r\n| :---- | ----- | :---: | :---: |\r\n| View content - Browse entries across all branches. | ✅ | ✅ | ✅ |\r\n| Create and edit entries - Author and modify content entries on feature branches. | ✅ | ✅ | ✅ |\r\n| Delete entries - Permanently delete an entry and all its versions. This action is permanent. | ❌ | ❌ | ✅ |\r\n\r\n## Stores\r\n\r\nThe following table shows the store configuration actions each role can perform.\r\n\r\n| Action | Content Producer | Content Editor | Content Administrator |\r\n| :---- | :---- | :---: | :---: |\r\n| Create and configure stores - Set up stores and manage related settings, including storefront configurations, languages, and regional settings. | ❌ | ❌ | ✅ |\r\n\r\n## Use cases\r\n\r\nThe following scenarios show how roles interact in common content workflows.\r\n\r\n### Launching a seasonal campaign\r\n\r\nWhen your team is putting together a seasonal campaign, a Content Producer works on the pages in a feature branch, and once the content is ready, a Content Editor reviews it and merges it into `main` to publish.\r\n\r\n![lauching-a-seasonal-campaign-flow](https://vtexhelp.vtexassets.com/assets/docs/src/lauching-a-seasonal-campaign___4a8f3b593f6c2901c192d9a698646b2e.png)\r\n\r\n### Adding a new storefront locale\r\n\r\nWhen your store needs to support a new language, a Content Administrator handles the locale setup first. Once that's in place, Producers can start authoring content for it, and Editors can publish it.\r\n\r\n![storefront-locale-role-flow](https://vtexhelp.vtexassets.com/assets/docs/src/storefront-locale-role-flow___db87989d885e827bbf1b42ae69958494.png)"}