Skip to main content

Roles and access control

Roles (for example trainer vs member) are the audience you assign when you invite someone or use Preview as. What they can actually do is a set of capabilities (for example see invoices, refund a payment). Access is enforced by GenieForge, not only by what the screen shows. Name audiences as soon as they differ: who submits, who approves, who sees everyone’s data. Describe that outcome; GenieForge creates and wires roles before you invite real users. The same role name can mean different access in two projects of the same app. Clinic B can give receptionists invoice read access without changing Clinic A, and without creating a second receptionist role. Manage roles under App Blueprint → Roles. Builders invite from project End-Users. Workspace owners invite and change roles from portal People.

How to verify

  1. Confirm roles under App Blueprint → Roles.
  2. Open App Blueprint → Access: findings, per-role explorer, and roles-by-resource matrix.
  3. Preview as each role. Try a path that should fail (for example a requester opening the dispatcher queue).
  4. After permission changes, Preview again. Preview as Owner (or Admin) can hide a member-only page. That is expected when you left them off the list. Builder Chat still sees every page. Shared app access (who can see a table, named extras like refund) applies in Preview and the live portal after you publish. Extra access you add for one project applies immediately.

Limits and notes

A path that works when you test as a builder can still fail in Preview as a customer role until that role’s access matches.

What good looks like

  • Requesters create requests and see only their own. Dispatchers see all open requests and can assign and complete. Clients never appear in that app.
  • The coach role may open the roster and assign sessions. Members may only open My plan and the check-in.