Documentation

Roles & permissions

The four roles, server-side enforcement, and per-organization permission overrides.

Memoria enforces role-based access on every entry point, server-side. There are four roles, and the mapping from roles to permissions is admin-editable per organization — so you can tune exactly what each role can do without changing software.

The four roles

RoleTypical responsibility
AdminFull control: users, events, devices, settings, and the permission matrix.
SupervisorApproves overrides and resolves exceptions during the event.
StaffOperates stations: looks up participants and completes actions.
VolunteerA limited operator role for helpers with the narrowest access.

Server-side enforcement and tenant scope

Every read and write passes a permission check before it runs, and data is tenant-scoped: a caller never sees another organization, school, or event's data — out-of-scope reads simply return not-found. A role that is granted a permission also receives the scope to use it.

Editable permissions

The role-to-permission matrix is customizable per organization, Discord-style. Built-in defaults are the floor; per-organization overrides for the non-admin roles refine them. Edit the matrix from Memoria Settings → Roles & permissions.

Admin can never be locked out. Admin always holds every permission, regardless of overrides. Changes take effect immediately after you save.

Overrides and the audit trail

Supervisor overrides — for example clearing a hold so a blocked participant can be served — run through a role-protected approval workflow. Each approval and each distribution is written to an append-only ledger, so there's always a reviewable record of who did what. See Reports & exports.