---
title: Configuring Roles and Permissions in the Hub
slug: configuring-roles-and-permissions-in-the-hub
docTags: 
createdAt: 2026-10-13T14:05:48.746Z
---

The Hub uses the **PublishPress Capabilities** plugin to control what each user role can see and do. Each permission is called a *capability* and has a technical name such as edit\_others\_posts or bulk\_publish\_content. These names are hard to read, so this guide explains what the capabilities that matter in the Hub do and how to combine them for common editorial setups.

**Who can do this?** Only administrators can change roles and capabilities.

## 1. Basics

### Roles and capabilities

- A **capability** is a single permission, for example "may publish articles".
- A **role** is a named set of capabilities, for example *Purple Editor*.
- Every **user** has a role. A user can do whatever their role's capabilities allow.

You never give capabilities to individual users. You configure a **role** and then assign that role to users under **Users → All Users → (user) → Role**.

### Where to find the settings

In the Hub admin menu, open **Capabilities**:

| Menu entry           | What it is for                                                                               |
| -------------------- | -------------------------------------------------------------------------------------------- |
| **Capabilities**     | The main editor. Pick a role at the top and tick or untick its capabilities.                 |
| **Roles**            | Create, copy, rename or delete roles.                                                        |
| **Admin Menus**      | Hide admin menu entries for a role. This only hides them; it does not remove the permission. |
| **Editor Features**  | Hide panels and settings in the article editor for a role.                                   |
| **Admin Features**   | Hide toolbar items and other admin elements for a role.                                      |
| **Profile Features** | Hide fields on the user profile page for a role.                                             |
| **Backup**           | Save the current role configuration or restore an earlier one.                               |

**Tip:** Make a backup under **Capabilities → Backup** before you make large changes.

### Reading the capabilities screen

1. Choose the role you want to change in the **role selector** at the top.
2. Use the **tabs on the left** to switch between capability groups (Editing, Deletion, Taxonomies, Media, Admin, plugin groups, and so on).
3. Hover over a capability name to see PublishPress' short description.
4. Tick a box to grant a capability, or untick it to remove it. Clicking the small **X** next to a box **denies** the capability: the user doesn't get it, even if the role usually would grant it. You'll rarely need this.
5. Click **Save Changes**. Nothing is applied until you save.

On the **Editing**, **Deletion** and **Reading** tabs, capabilities are shown as a grid: one **column per content type** (Posts, Pages, Issues, Dossiers, custom content types) and one **row per action** (Edit, Edit Others, Publish, …). Each checkbox controls that action for that content type only.

### Hide vs. forbid

- **Capabilities** decide what a user is *allowed* to do. Without the capability, the action fails, including through the API.
- **Admin Menus / Editor Features / Admin Features** only *hide* elements to keep the interface simple. They are not a security setting.

Use capabilities to restrict access. Use the hiding features to declutter the interface.

## 2. Roles that come with the Hub

Three roles come with every Hub:

| Role                       | Typical use                     | What it can do                                                                                                                                                                   |
| -------------------------- | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Administrator**          | Hub owners and technical admins | Everything, including Hub settings, users and capabilities. Cannot create new users (users are provisioned through Purple).                                                      |
| **Purple Managing Editor** | Desk leads and editors-in-chief | All content, including others' articles, Issues, Dossiers and the Curator. **Plus** App Themes, Bulk Publish, Purple Wires, Purple RSS and theme options (edit\_theme\_options). |
| **Purple Editor**          | Regular editors                 | All content, including others' articles, Issues, Dossiers and the Curator. **No** App Themes, Bulk Publish, Purple Wires or Purple RSS.                                          |

For anything in between, for example writers who may not publish, create your own role based on one of these (see Recipes). Roles you create appear alongside the three built-in roles and can be assigned to users.

**What about Editor, Author, Contributor and Subscriber?** These standard WordPress roles, and the SEO Editor / SEO Manager roles added by Yoast SEO, are not available in the Hub. They can't be assigned to users and are not listed under **Capabilities → Roles**. Users who already have one of these roles keep it and their permissions. You can move them to a Hub role at any time.

**Important:** The Hub automatically gives the **Administrator** role all Purple capabilities (app\_themes, edit\_issues, edit\_dossiers, edit\_collections, bulk\_publish\_content, bulk\_publish\_taxonomies, unfiltered\_html, purple\_wires, purple\_rss) every time an administrator opens the backend. It also always gives **Purple Managing Editor** edit\_theme\_options. **Removing these does not stick.**

**Do not delete or rename** the *Purple Editor* or *Purple Managing Editor* roles. If one of them is missing, the Hub recreates both with their default settings, and your changes to them are lost.

## 3. Capability reference

Plugin sections (3.8 onwards) only appear if that plugin is active on your Hub.

### 3.1 Editing, Deletion and Reading tabs (per content type)

The rows below exist once per content type. The name in parentheses is the capability for **Posts** (articles); other content types use the same pattern with their own name, for example edit\_pages or publish\_pages.

| Label in the grid    | Capability (Posts)       | What it allows                                                                                                                                                         |
| -------------------- | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Edit**             | edit\_posts              | Create articles and edit **own drafts**. This is also what lets a user open the content list and the editor. **Almost every editorial role needs it.**                 |
| **Edit Others**      | edit\_others\_posts      | Edit articles **written by other users**. Also needed to edit or replace media uploaded by others, to use the content importers, and to change Nelio Content settings. |
| **Edit Published**   | edit\_published\_posts   | Change articles that are **already published**. Without it, a user can't touch an article once it is live.                                                             |
| **Edit Private**     | edit\_private\_posts     | Edit articles with *private* visibility.                                                                                                                               |
| **Publish**          | publish\_posts           | **Publish** articles (make them live) and use the publish bulk action in the article list. Without it the user can only *Submit for Review*.                           |
| **Delete**           | delete\_posts            | Delete **own unpublished** articles.                                                                                                                                   |
| **Delete Others**    | delete\_others\_posts    | Delete articles written by others. Also needed to delete media uploaded by others.                                                                                     |
| **Delete Published** | delete\_published\_posts | Delete articles that are already published.                                                                                                                            |
| **Delete Private**   | delete\_private\_posts   | Delete private articles.                                                                                                                                               |
| **Read Private**     | read\_private\_posts     | See private articles in lists.                                                                                                                                         |

**Custom content types** (for example those created under **CPT UI**) usually share the permissions of **Posts**. If a content type has no column of its own in the grid, the Posts column applies to it.

**Issues** and **Dossiers** do not have a grid of their own. A single capability controls each of them:

| Capability     | What it allows                                                 |
| -------------- | -------------------------------------------------------------- |
| edit\_issues   | Full access to **Issues**: create, edit, publish and delete.   |
| edit\_dossiers | Full access to **Dossiers**: create, edit, publish and delete. |

### 3.2 Taxonomies tab (categories, tags, custom taxonomies)

One column per taxonomy (Categories, Tags, and any custom taxonomy).

| Label      | Capability (Categories) | What it allows                                                                                                                 |
| ---------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Manage** | manage\_categories      | Open the taxonomy admin page and manage its settings. Also needed to manage media folders/categories in the Hub media library. |
| **Edit**   | edit\_categories        | **Create** new terms and rename existing ones.                                                                                 |
| **Delete** | delete\_categories      | Delete terms.                                                                                                                  |
| **Assign** | assign\_categories      | **Select** existing terms on an article.                                                                                       |

**Hub behaviour:** A role with **Assign** but without **Edit** can pick existing terms in the editor but **cannot create new ones**, not even by typing a new tag. Use this to keep your taxonomy clean (see Recipes).

The **Authors** taxonomy (PublishPress Authors) is controlled by its own capabilities instead; see 3.10.

### 3.3 Media tab

| Capability             | What it allows                                                                                                                               |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| upload\_files          | Upload images and files, and use the media library, including Unsplash, Picture Alliance, Hugo, AI image metadata and similar image sources. |
| safe\_svg\_upload\_svg | Upload **SVG** files.                                                                                                                        |

Editing or deleting media that **someone else** uploaded also requires **Edit Others** / **Delete Others** (see 3.1).

### 3.4 Admin tab

| Capability                                    | What it allows                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Recommendation                                                                                                                   |
| --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| read                                          | Log in to the backend at all.                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | Every role needs it.                                                                                                             |
| manage\_options                               | Opens **all Hub settings**: Settings → Purple DS HUB, Hub UI, Hub Apps, Workflows configuration, Purple Blocks, Most Read, ePaper interstitial, AI image settings, Hugo / Unsplash / Picture Alliance / EXIF settings, Aptoma, Google Translate, column configuration of the overviews, Curator settings and more. Also opens the settings of most plugins: languages (Polylang), custom fields (ACF), content types and taxonomies (CPT UI), Nelio Content account, Ninja Tables and others. | **Administrators only.** Giving it to editors lets them change system-wide settings.                                             |
| unfiltered\_html                              | Use **any HTML in content**, including \<script>, \<iframe> and embeds in *Custom HTML* blocks. Without it, the Hub strips "unsafe" markup when the article is saved.                                                                                                                                                                                                                                                                                                                         | Give it to roles that embed third-party widgets (polls, social posts, video players). Without it, embeds disappear after saving. |
| edit\_dashboard, export, import, update\_core | Standard WordPress functions that are not used in the Hub.                                                                                                                                                                                                                                                                                                                                                                                                                                    | Leave unchanged.                                                                                                                 |

### 3.5 Users tab

| Capability                    | What it allows                                                                                                      |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| list\_users                   | See the user list.                                                                                                  |
| promote\_users                | Change another user's **role**.                                                                                     |
| edit\_users                   | Edit other users' profiles, including their author slug (the name in author URLs).                                  |
| remove\_users / delete\_users | Remove users from the Hub. remove\_users also opens **Settings → Copy Setup** (copying configuration between Hubs). |
| add\_users / create\_users    | Not available in the Hub. Users are provisioned through Purple and **cannot be created in the Hub**.                |

### 3.6 Themes tab

| Capability                                                                                   | What it allows                                                                                        |
| -------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| edit\_theme\_options                                                                         | Manage **menus/navigation** and other appearance options. Always granted to *Purple Managing Editor*. |
| switch\_themes, edit\_themes, install\_themes, update\_themes, delete\_themes, manage\_links | Not used in the Hub (the Hub is headless). Leave unchanged.                                           |

### 3.7 Plugins tab

activate\_plugins, install\_plugins, update\_plugins, delete\_plugins and edit\_plugins are reserved for administrators. **Do not grant them to editorial roles.**

### 3.8 Plugin capabilities: Purple Capabilities

These are the Hub's own features.

| Capability                | Menu / feature                        | What it allows                                                        |
| ------------------------- | ------------------------------------- | --------------------------------------------------------------------- |
| app\_themes               | **App Themes**                        | Edit the colours, fonts and look of the connected apps/websites.      |
| edit\_issues              | **Issues**                            | Manage issues (see 3.1).                                              |
| edit\_dossiers            | **Dossiers**                          | Manage dossiers (see 3.1).                                            |
| edit\_collections         | **Purple Curator**                    | Open the Curator and arrange collections (teasers, homepage modules). |
| bulk\_publish\_content    | **Bulk Publish → Publish Content**    | Publish or republish large amounts of content to the apps at once.    |
| bulk\_publish\_taxonomies | **Bulk Publish → Publish Taxonomies** | Publish all categories/tags/taxonomy terms to the apps at once.       |
| purple\_wires             | **Purple Wires**                      | Use the news-agency wire feeds (browse, import, configure channels).  |
| purple\_rss               | **Purple RSS**                        | Configure and use RSS feed imports.                                   |
| unfiltered\_html          | –                                     | See 3.4.                                                              |

**Note:** Bulk publishing can put a heavy load on the apps and trigger many updates. Give bulk\_publish\_content and bulk\_publish\_taxonomies only to a few trusted users.

### 3.9 Plugin capabilities: Workflow (Oasis Workflow)

Only relevant if your Hub uses editorial workflows.

| Capability                                                                | What it allows                                                                                         |
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| ow\_submit\_to\_workflow                                                  | Submit an article into a workflow. Also needed to **write editorial comments**.                        |
| ow\_sign\_off\_step                                                       | Complete (sign off) a workflow step assigned to the user. Also needed to **write editorial comments**. |
| ow\_skip\_workflow                                                        | Publish without going through the workflow.                                                            |
| ow\_abort\_workflow                                                       | Cancel a running workflow.                                                                             |
| ow\_reassign\_task                                                        | Hand a workflow task over to another user.                                                             |
| ow\_view\_others\_inbox                                                   | See other users' workflow inboxes.                                                                     |
| ow\_view\_reports                                                         | See workflow reports.                                                                                  |
| ow\_view\_workflow\_history / ow\_download\_workflow\_history             | View or download the workflow history.                                                                 |
| ow\_delete\_workflow\_history                                             | Delete entries from the workflow history.                                                              |
| ow\_make\_revision / ow\_make\_revision\_others                           | Create a revision of a published article (own / others') and send it through the workflow.             |
| ow\_duplicate\_post                                                       | Duplicate articles from the workflow screens.                                                          |
| ow\_create\_workflow / ow\_edit\_workflow / ow\_delete\_workflow          | Design workflows, including editorial checklists and groups. Administrators only.                      |
| ow\_export\_import\_workflow                                              | Export workflows and import them into another Hub. Administrators only.                                |
| ow\_view\_teams / ow\_create\_teams / ow\_edit\_teams / ow\_delete\_teams | View and manage workflow teams.                                                                        |

### 3.10 Plugin capabilities: PublishPress Authors

| Capability                                           | What it allows                                                                         |
| ---------------------------------------------------- | -------------------------------------------------------------------------------------- |
| ppma\_edit\_post\_authors                            | Change the **author(s)** of an article, including adding co-authors and guest authors. |
| ppma\_manage\_authors                                | Create, edit and delete author profiles under **Authors**.                             |
| ppma\_edit\_own\_profile                             | Edit one's **own** author profile.                                                     |
| ppma\_manage\_layouts / ppma\_manage\_custom\_fields | Configure author box layouts and author profile fields. Administrators only.           |

### 3.11 Plugin capabilities: Nelio Content

Nelio Content provides the editorial calendar, editorial tasks and social media scheduling.

| Capability                                                                                                                               | What it allows                                                                                                                                                                                                                                           |
| ---------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| *(none needed)*                                                                                                                          | Anyone who can **Edit** at least one content type shown in the calendar (see 3.1) can use the calendar, tasks and references.                                                                                                                            |
| manage\_nelio\_plugin\_settings                                                                                                          | Change **Nelio Content settings**. The role also needs **Edit Others** (edit\_others\_posts). By default, **every** role with Edit Others can change the settings. To restrict them, see the recipe Only some editors may change Nelio Content settings. |
| create\_nc\_references, edit\_nc\_references, publish\_nc\_references, delete\_nc\_references and the other …nc\_reference… capabilities | Nelio sets these automatically for everyone who can use the plugin. **Changing them has no effect.**                                                                                                                                                     |

Connecting or disconnecting the Nelio account and managing the subscription requires manage\_options (administrators).

### 3.12 Plugin capabilities: Yoast SEO

| Capability                      | What it allows                                                        |
| ------------------------------- | --------------------------------------------------------------------- |
| wpseo\_edit\_advanced\_metadata | Edit advanced SEO settings of an article (noindex, canonical URL, …). |
| wpseo\_bulk\_edit               | Use Yoast's bulk editor for SEO titles and descriptions.              |
| wpseo\_manage\_options          | Change Yoast's global settings. Administrators only.                  |

### 3.13 Plugin capabilities: Duplicate Post

| Capability  | What it allows                                                                                                 |
| ----------- | -------------------------------------------------------------------------------------------------------------- |
| copy\_posts | Use **Clone / New Draft** to duplicate articles. Which roles have it is also set in Settings → Duplicate Post. |

### 3.14 Other plugin capabilities

| Capability                      | Plugin           | What it allows                                                                                                                    |
| ------------------------------- | ---------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| edit\_author\_slug              | Edit Author Slug | Change one's own author slug (the name in author URLs). Changing others' slugs needs edit\_users.                                 |
| read\_purple\_prompts\_external | Purple Prompts   | Lets external tools read the configured AI prompts. Only for technical/integration users. Listed under **Additional** if present. |
| objectcache\_manage             | Object Cache Pro | View and flush the object cache. Purple-internal; leave unchanged.                                                                |
| view\_query\_monitor            | Query Monitor    | See the developer debug toolbar. Purple-internal; leave unchanged.                                                                |

**Ninja Tables** does not use a capability you can set here. Who may create and edit tables is configured in Ninja Tables' own settings.

### 3.15 PublishPress Capabilities itself

| Capability                                        | What it allows                                                                                                                        |
| ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| manage\_capabilities and manage\_capabilities\_\* | Open the Capabilities screens described in this guide. **Administrators only.** Anyone with these can give themselves any permission. |

### 3.16 "Additional" and "Invalid Capabilities" tabs

- **Additional** lists capabilities that don't belong to any of the groups above. These usually come from plugins. Leave them unchanged unless support tells you otherwise.
- **Invalid Capabilities** lists permissions that are stored on a role but no longer used by anything. They are harmless.

## 4. Built-in roles at a glance

| Task                                               | Purple Editor | Purple Managing Editor | Administrator |
| -------------------------------------------------- | ------------- | ---------------------- | ------------- |
| Write, edit and publish articles (own and others') | ✔             | ✔                      | ✔             |
| Upload media                                       | ✔             | ✔                      | ✔             |
| Create categories/tags                             | ✔             | ✔                      | ✔             |
| Issues, Dossiers, Curator                          | ✔             | ✔                      | ✔             |
| Embed custom HTML / scripts                        | ✔             | ✔                      | ✔             |
| Editorial calendar (Nelio Content)                 | ✔             | ✔                      | ✔             |
| Purple Wires, Purple RSS                           | –             | ✔                      | ✔             |
| Menus / theme options                              | –             | ✔                      | ✔             |
| App Themes, Bulk Publish                           | –             | ✔                      | ✔             |
| Hub and plugin settings, users, capabilities       | –             | –                      | ✔             |

*This table shows the defaults. Your Hub may have been configured differently.*

## 5. Recipes

The following describes a few scenarios that commonly occur in everyday life. It describes how the desired outcome can be reached.

### Create a custom role

1. Go to **Capabilities → Roles**.
2. Hover over the role that comes closest to what you need, usually *Purple Editor*, and click **Copy**.
3. Enter a name for the new role, for example "Online Desk", and click **Create Role**.
4. Go to **Capabilities**, select the new role and adjust it.
5. Assign the role to users under **Users → All Users**.

Start from a copy of an existing role rather than from an empty role. An empty role usually lacks basics like read, edit\_posts and upload\_files, and the user ends up with an empty admin interface.

### Writers who may only work on their own articles

Copy *Purple Editor* and, on the **Editing** and **Deletion** tabs, uncheck **Edit Others** and **Delete Others** for every content type. Also uncheck edit\_issues, edit\_dossiers and edit\_collections in **Purple Capabilities** if writers shouldn't touch them.

### Writers who may not publish

Start from the writer role above and also uncheck **Publish**, **Edit Published** and **Delete Published**. Writers can then only submit their articles for review.

### Writers may tag, but only with existing tags

In the **Taxonomies** tab of the role, keep **Assign** checked for *Tags* and uncheck **Edit** and **Delete**. Writers can select existing tags, but new ones can only be created by roles that have **Edit**.

### Editors who may change content but not the live version

Keep **Edit** and **Edit Others**, but uncheck **Publish** and **Edit Published** for Posts. These editors prepare content, and a senior editor publishes it.

### Let someone manage the Curator but nothing else of the Purple features

Copy *Purple Editor* to a new role and uncheck edit\_issues and edit\_dossiers in **Purple Capabilities**. Keep edit\_collections.

### Let a desk lead work with wire feeds without giving full admin rights

Assign **Purple Managing Editor**, or add purple\_wires (and/or purple\_rss) to their role.

### Only some editors may change Nelio Content settings

Tick manage\_nelio\_plugin\_settings on the role that should manage Nelio. On every other role with **Edit Others**, click the **X** next to manage\_nelio\_plugin\_settings to deny it explicitly. Just unticking is not enough: Nelio only restricts its settings for roles where the capability is explicitly denied.

### Simplify the editor for a role

Use **Capabilities → Editor Features** to hide sidebar panels the role never needs (for example *Discussion* or *Excerpt*). This changes only the interface, not permissions.

## 6. Troubleshooting

| Symptom                                                                             | Likely cause                                                                                                                                       |
| ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| A menu entry is missing for a user                                                  | The role is missing the capability listed for that menu in section 3, or the menu was hidden under **Admin Menus**.                                |
| "Sorry, you are not allowed to access this page."                                   | The role is missing the capability for that page. For Hub and plugin settings pages this is usually manage\_options.                               |
| User can edit but the **Publish** button says *Submit for Review*                   | The role is missing **Publish** (publish\_posts) for that content type.                                                                            |
| User can't edit an article after it went live                                       | The role is missing **Edit Published**.                                                                                                            |
| User can't edit or delete an image                                                  | The image was uploaded by someone else, and the role is missing **Edit Others** / **Delete Others**.                                               |
| A capability I removed from **Administrator** or **Purple Managing Editor** is back | The Hub re-applies some capabilities to these roles automatically (see section 2). Use a custom role instead.                                      |
| A role I want to assign is not in the list                                          | Only *Administrator*, *Purple Editor*, *Purple Managing Editor* and roles you created yourself can be assigned.                                    |
| A role change has no effect                                                         | Check that you clicked **Save Changes**, and that the user has the role you edited (Users → All Users). Users must reload the page after a change. |
| User can't comment in the workflow / editorial comments                             | The role is missing ow\_submit\_to\_workflow or ow\_sign\_off\_step.                                                                               |
| User doesn't see the editorial calendar                                             | The role can't **Edit** any of the content types shown in the calendar.                                                                            |

If a problem persists, contact Purple support and include the role name and the exact action the user was trying to perform.
