Prolifto
Reference

Permissions

Reference for owner, admin, and member capabilities.

Prolifto enforces permissions on the server. Roles are assigned per organization (store) through Better Auth.

Roles

RoleSummary
ownerFull control, including deleting the store and catalog records
adminDay-to-day management, members, API keys, and settings
memberCatalog and order work with fewer destructive permissions

Capability matrix

CapabilityOwnerAdminMember
View analyticsYesYesYes
Create/update productsYesYesYes
Delete products permanentlyYes——
Create/update categories and collectionsYesYes—
Delete categories and collectionsYes——
Update variantsYesYesYes
Create/update/delete optionsYesYesCreate/update
Create/update/delete mediaYesYesCreate/update
Manage inventoryYesYesYes
Create ordersYesYes—
Update ordersYesYesYes
Create/update customersYesYesYes
Manage couponsYesYes—
Manage shipping ratesYesYes—
Manage store settingsYesYes—
Manage storefront domainsYesYes—
Manage integrationsYesYesRead
Read invoices/receiptsYesYesYes
Update/void invoices/receiptsYesYes—
Manage API keysYesYes—
Manage members/invitationsYesYes—
Manage billingYesYes—
Delete the storeYes——
Seed demo dataYes——

API keys

API keys bypass the role permission check. They are scoped to the organization and are intended for server-to-server integrations. Treat an API key as having the store's full API access, and revoke it immediately if leaked.

Where permissions live

  • Statements and role assignments: packages/auth/src/utils/permissions.ts.
  • Procedure-to-permission mapping: apps/admin/orpc/permissions.ts.
  • UI checks: the admin's permission hooks and guards.

Procedures without a mapping fail closed. When adding an endpoint, add the mapping and a coverage test.

On this page