Skip to main content
Permissions are two-layered.

Global roles

  • superadmin — manages courses, credentials, cohorts, and platform-wide settings.
  • trainer — runs cohorts and reviews participant progress.
  • user — a learner.

Cohort roles

  • trainer — sees the cohort dashboard and reviews progress.
  • leader — a participant with extra responsibilities in the cohort.
  • participant — a learner in the cohort.
The same person can hold different roles in different cohorts. Cohort membership controls which courses and phases a participant sees, which live sessions appear on their dashboard, and which trainers can view their progress.

How access is enforced

Roles are checked at the application layer, and again in the database with row-level security (RLS). Because the rules live in the database, a query can only ever read or change the rows a user is permitted to, even if an application-layer check were missed. Sensitive database functions are restricted to the server, never callable from the browser.

Closed by design

Campus has no open signup. Every account is created by invitation, so there is no anonymous public entry point, and we always know exactly who is on the platform. Learners cannot reach one another’s data. The only place users interact directly is the community feed, which is scoped to the cohort.

Authentication

Sign-in is passwordless by default, using secure email links and one-time codes. Two-factor authentication is available. Administrative access to the underlying data is restricted to our own team.

Conversation privacy

Coaching conversations with Henrik are visible only to the learner. Trainers, cohort leaders, and administrators see learning progress, not conversation content. See AI and your data.