Summary
Working with a single code-based/React app (new app builder) managed through Source Control on the Business plan, the goal is to apply different edit permissions per section (Reporting, Cockpit, Admin) and to understand—if the app is split into separate apps—the recommended Git repository/folder structure, whether apps can share backend function files, and which capabilities require Enterprise.
AI Response
The understanding is essentially correct: in Retool, per-page permissions govern view/use access only, while Use/Edit/Own are granted at the app (object) level through groups, so per-section Edit differences generally require splitting into separate apps that can each be permissioned to different groups. Creating custom groups and configuring per-object (app-level) access are supported on Business, though the granular Object Permissions view is tied to Enterprise or an annual Business agreement. Source Control for new app builder (React/code-based) apps is a distinct, more recently released capability—each protected app is checked into your chosen Source Control manager, so plan on independent app repositories/scopes rather than assuming shared backend function files carry across separate apps; shared logic is best handled as a reusable resource or workflow rather than a single file referenced by multiple apps. Because the exact on-disk folder layout and cross-app file sharing behavior aren't documented as a supported pattern, treat any single-repo/shared-function arrangement as unverified.
Sources
Protect apps in the new app builder
Retool staff announcement confirming that apps built with the new app builder can be protected and checked into Source Control, which frames how multi-app source control works for code-based apps.
New: Per-page view permissions for multipage apps
Staff post confirming that per-page permissions restrict view access only, corroborating that Edit/Own must be applied at the app level (supported on Business/Enterprise).
The Community Team is testing out a new automation. Let us know if it's helpful (or not) by leaving a
,
, or
. Or by marking this post as the "Solution"! Let us know if you have any feedback here. ![]()