Roles and permissions

The 19 role flags, membership roles, location scope, and who can run each command.

Access has three layers.

  1. Role flags. A User has one Role with 19 boolean flags. Edit roles at /dashboard/roles.
  2. Membership. OrganizationMembership ties a user to an organization, org-wide or for one location, with a membership role. Queries filter to the caller's active memberships.
  3. Attestation. Consequential commands need a reason of 8 characters or more and an attestation, and the server records a HumanApproval.

Role flags

FlagAllows
canAccessDashboardOpen /dashboard, MCP, and AI chat
canManageOrganizationsEdit organization settings
canManageLocationsCreate and edit locations
canManageUsersMemberships and users
canManageRolesEdit roles
canManageCatalogProducts and drug references
canManageInventoryLots, receiving, adjustments, suppliers
canManageRecallsOpen and run recalls
canManagePatientsPatient records
canViewPatientPrivateDataIdentity and contact details
canManagePrescriptionsIntake, prescribers, requests
canReviewPrescriptionsPharmacist review, refill and transfer decisions
canDispenseMedicationsReserve fills and dispense
canManageOrdersFulfillment transitions
canManagePaymentsProviders, refunds, reconciliation, cash policy
canManageIntegrationsIntegration providers, outbox replay
canManageOnboardingOnboarding cards
canViewAuditLogsAudit page
canApproveConsequentialActionsApprove consequential actions

Membership roles

owner, administrator, pharmacist, technician, cashier, delivery, read_only. Pharmacist commands (intake, safety review, authorization, dispensing, refill decisions, transfer approval) need an active owner or pharmacist membership at the prescription's location, plus a current credential review. Only owners can add or change owners.

First user

The first account at /dashboard/init gets the Admin role with all flags. Create narrower roles for the rest of the team and give each person only the flags their job needs.

Customers

Storefront customers have no role. They sign in with the Keystone session, and see their own orders, prescriptions, and requests through patient-safe projections.

On this page