Separation of duties
Eleven roles, explicit permissions
Roles are enforced at the API layer, not just hidden in the navigation. Finance cannot approve its
own exceptions, and an auditor cannot mutate evidence.
| Code | Role | Primary responsibility |
| R1 | Super Administrator | Platform operations, tenant provisioning, break-glass |
| R2 | Tenant Administrator | Provider configuration, users, final approvals |
| R3 | Programme Manager | Programmes, cohorts, tranche milestones |
| R4 | Verifier | Maker-checker attendance and evidence review |
| R5 | Payroll / Finance | Stipend runs, banking files, reconciliations |
| R6 | Trainer / Facilitator | Attendance capture, learner support |
| R7 | Workplace Mentor | Workplace attestation and logbook review |
| R8 | SETA Auditor / Monitor | Read-only evidence and audit-log access |
| R9 | Information Officer | POPIA data-subject requests and incidents |
| R10 | Learner | Self-service attendance, stipend and leave |
| R11 | SDF Consultant | Cross-tenant client context with isolation checks |