Roles and Permissions

Who can do what inside a chrt organization.

Every user on chrt belongs to one or more organizations, and inside each organization they hold one role. The role determines which UI surfaces they can see and which actions they can take. chrt also has a separate notion of a driver — a member of a provider org who has a driver profile and uses the chrt mobile app.

The four organization roles

The OrgRoleEnum defines four roles, in descending authority:

RoleUse it for
OwnerThe org’s founder or principal. Owns billing setup and Stripe Connect. Cannot be removed except by another owner.
AdminTrusted operators with full management rights — invite users, manage rate sheets, configure billing, manage notification groups.
OperatorDay-to-day dispatch and operations. Can run orders end-to-end (cancel, edit, assign drivers, add line items) but cannot change billing setup or notification groups.
MemberLowest tier. Can view what they have access to and use the chrt mobile app if they’re set up as a driver.

Hierarchy: owner > admin > operator > member. Most permission checks are “admin-or-higher” or “operator-or-higher”, so granting Admin grants everything Operator can do, and so on.

Permission matrix

Permissions are mode-aware: many actions only exist for provider orgs (forwarders + couriers) or shipper orgs. See Connections for the mode distinction.

CapabilityOwnerAdminOperatorMember
View org data, orders, statementsYesYesYesYes
Edit own profileYesYesYesYes
Invite or remove org membersYesYes
Manage Stripe Connect / billing setupYesYes
Manage notification groups (org-wide)YesYes
Create, edit, archive rate sheets (owned vectors)YesYes
Manage drivers (provider only)YesYesYesown profile only
Assign a driver to a task group (provider only)YesYesYes
Cancel or edit an order (provider only)YesYesYes
Add / remove line items, adjust invoices (provider only)YesYesYes
Manage address book (shipper only)YesYes
View own connectionsYesYesYesYes
Manage connectionsYesYesYesYes

A few rows worth flagging:

  • Cancel / edit order is provider-only. Shippers cannot cancel an order once it is staged — they must ask the provider running it.
  • Driver payouts (provider-pay-driver rate sheets, driver expense statements) are provider-only and require admin-or-higher to manage.
  • Notification groups are gated tighter than other admin actions — only owners and admins, not operators.

Drivers

A driver is not a fourth org role. It’s an additional profile attached to a member (or any role, in practice) of a provider org. A driver profile gives the user access to the chrt mobile app, lets them be assigned to task groups, and ties their location updates back to those task groups.

You create a driver by:

  1. Inviting the person to your provider org as a Member (see Add an org member).
  2. Creating a driver profile for them under chrt.com/drivers.

A user can be a driver in one provider org and a regular Admin or Member in another — drivers are scoped per-org.

Shipper orgs do not have drivers. Drivers are a provider-org concept only.

Modes vs roles

Don’t confuse a role (owner / admin / operator / member) with a mode (shipper / provider). The org’s type is fixed at setup time; the role is per-user, per-org. A provider org with one owner and three operators is the common shape for a small courier company.