Can you purchase custom roles on plans lower than Enterprise?
I understand your situation – you're trying to make the case for Sanity but need to control which document types different editors can access, and you've hit the custom roles limitation. Unfortunately, custom roles cannot be purchased as an add-on for lower-tier plans. They're exclusively an Enterprise plan feature and aren't available on the Free or Growth ($1,000/mo) plans.
However, there are some workarounds you can use to achieve similar results without custom roles:
1. Structure Builder Customization
You can use the Structure tool configuration to hide document types from certain users in the Studio UI. While this doesn't enforce actual permissions (users could technically still access hidden types via API), it provides a practical UI-level separation:
// In your desk structure
import {getCurrentUser} from 'sanity'
export const structure = (S, context) => {
const user = context.currentUser
return S.list()
.title('Content')
.items([
// Show certain types only to specific users/roles
user?.roles.some(role => role.name === 'administrator')
? S.documentTypeListItem('sensitiveType')
: null,
S.documentTypeListItem('publicType'),
// ... other items
].filter(Boolean))
}2. Document-Level Permissions (Growth Plan)
The Growth plan does include document-level permissions through its 5 pre-defined roles (Administrator, Editor, Viewer, etc.). While you can't create custom roles, you might be able to work within these 5 roles and use conditional fields or validation rules to restrict editing.
3. Multiple Projects/Datasets
For a more strict separation, you could use separate projects or datasets (Growth plan includes 2 datasets) and only invite specific users to each one.
The Enterprise Conversation
If document-type-level access control is truly a dealbreaker, it's worth having a conversation with Sanity's sales team about Enterprise pricing. They offer custom pricing and may be able to work with your budget, especially if you're bringing over a team. Enterprise also includes other valuable features like SAML SSO, content resources (GROQ-filtered permissions), and dedicated support.
The Structure Builder approach above works well for many teams as a "soft" boundary – it keeps the UI clean and prevents accidental editing, even if it's not a hard security boundary. If you need actual permission enforcement at the document type level, Enterprise is currently the only path.
Show original thread16 replies
Sanity – Build the way you think, not the way your CMS thinks
Sanity is the developer-first content operating system that gives you complete control. Schema-as-code, GROQ queries, and real-time APIs mean no more workarounds or waiting for deployments. Free to start, scale as you grow.