Skip to main content
HASP apps have four roles: viewer, org_admin_viewer, editor, and admin. The current user’s role is returned by sdk.getBootstrap().

Role Capabilities

The org_admin_viewer Role

Org admins and owners have baseline read access to every app in their organization — including apps configured as private or invite_only where they haven’t been invited as a member. When an org admin visits such an app, sdk.getBootstrap().role returns 'org_admin_viewer'. This role:
  • Has the same permissions as viewer (read-only)
  • Signals that the user is seeing the app via baseline admin visibility, not via per-app membership
  • Does NOT grant write access
If your app uses a role allowlist, add 'org_admin_viewer' to your read-allow set:

Getting the Current Role

Role-Based UI

See Role-Based UI guide for more patterns.

App Access Modes

Each app has an access mode that determines the default role for org members: Org admins’ baseline visibility is a governance right, not an app-level permission. It cannot be revoked at the app level — it applies to private and invite_only apps via the org_admin_viewer role above.
public apps are readable by anonymous, unauthenticated visitors once published. HASP structurally prevents such an app from holding PHI: an app whose effective PHI mode would allow PHI cannot be saved in public mode, and the anonymous write path fails closed independently. Authenticated non-members land on viewer; org owners and admins land on admin.
Access mode is configured by org admins per-app in the HASP dashboard.