Permissions and approval
How preview and published access differ, and how a site manager approves an app.
Updated November 8, 2026
Preview: your own permissions
In the private preview, the app runs with the signed-in user's own permissions on whatever praisma.json currently declares. No approval is needed while you develop. If the app calls something the manifest does not declare, it gets capability_not_declared.
Published: only what was approved
The published app gets no access until someone with permission to publish the site approves it in Code Builder under Permissions (Approve & publish). The dialog lists exactly what praisma.json asks for, with write and delete access highlighted. Once published, everyone using the app has exactly that access, per capability and per collection.
Approval covers the manifest, not the code: editing your code keeps the approval.
Changingpraisma.jsonto ask for anything else showsChanged since last approval. The live app keeps its previous access until you approve and publish again.
Access can be revoked from the same dialog.
Assistants (in the app or over MCP) can request access in the manifest, but cannot approve it.
What is always enforced
Every write is validated by the CMS like an edit in the app.
Entries stay drafts unless the collection allows public publishing.
Media fields accept only files uploaded by this app; uploads are checked for their real file type, size-capped and rate limited.
Deletes only reach entries this app created.
Collection customer access rules (members, roles, owner only) apply to every visitor call.
Commerce calls only reach the site the app is published on.
Questions about building on Praisma Hub? We're happy to help.
Contact us
