Back to Blog
Strapi CMS

Strapi Roles and Permissions I Check Before Launch

Review Strapi administrator roles and public API permissions separately before a production launch.

Terry Hunt
August 23, 2026
6 min read

I review two permission systems before a Strapi launch. Administrator RBAC controls what people can do inside the admin panel. The Users & Permissions feature controls API access for public and authenticated application users. Mixing those systems can leave a public endpoint open while the admin interface looks restricted.

The Strapi administrator RBAC documentation lists administrator actions such as create, read, update, delete, and publish. The Strapi Users & Permissions documentation covers end-user roles. I test both from outside the admin panel.

Inventory every public request

I capture the requests made by the public site: method, path, query fields, relation population, and expected response. A page that only reads published articles should not require create, update, or delete access. I remove permissions that no visible route uses.

I repeat the inventory for previews, forms, and authenticated areas. Preview requests belong behind a protected path. A form usually calls a custom controller or another backend instead of receiving broad create access to a content type.

Review the Public and Authenticated roles

I open each end-user role and compare enabled actions with the request inventory. Public access starts empty and gains only the reads required by published pages. Authenticated access is not an administrator shortcut; it applies to application users who hold that role.

I send direct requests for disabled operations and keep the 401 or 403 response as evidence. Hiding buttons in Next.js does not protect a Strapi endpoint.

Give editors the work they own

Administrator roles follow editorial responsibility. Authors may create and manage their own content, editors may review and publish selected types, and a small number of people retain settings access. Strapi's RBAC can restrict actions and fields per content type.

I review sensitive fields such as internal notes, integration IDs, and SEO controls. Someone who can edit article copy may not need permission to change canonical URLs or delete media.

Reduce Super Admin use

The first administrator receives Super Admin access, and Strapi does not let teams narrow that role. I create day-to-day roles and reserve Super Admin for configuration work. Shared administrator accounts make audit and offboarding harder, so each person gets an individual identity.

I also review API tokens, provider credentials, and old accounts. A role review is incomplete if a forgotten token can still perform the same operation.

Test unauthorized behavior

I run requests without a token, with an ordinary application token, and with an editor account. I test missing fields, unpublished records, relation expansion, upload actions, and deletion. The expected denial matters as much as the allowed response.

For each failure I verify that the response omits private data and the logs avoid credentials. A detailed stack trace should not reach a public caller.

Keep the permission review repeatable

I save a table of roles, allowed actions, protected fields, and test requests. Schema or plugin changes trigger another review because new content types and routes can add permissions.

  • Public API requests have an owner.
  • Unused mutations are disabled.
  • Editors have scoped publishing rights.
  • Old tokens and accounts are removed.
  • Unauthorized tests run outside the admin panel.

Need help with Strapi?

Terry Hunt Dev provides Strapi development and technical SEO support. Request a launch permission review through the contact page without sending tokens or private API URLs.

Related Articles

More articles in Strapi CMS

Enjoyed This Article?

Get more tutorials and insights delivered to your inbox. No spam, just valuable content for web developers.