JWT roles gate what a user can do after auth.
Roles (examples)
| Role | Typical access |
|---|---|
warga / resident | Resident portal — iuran, surat, kampanye, pasar, … |
bendahara | Finance / kas / iuran admin |
sekretaris | Surat and administrative workflows |
admin | Community administration (/admin/*) |
super_admin | Platform-wide (e.g. approve tenants at /platform) |
Exact permissions are enforced in the API; the web app exposes matching route groups (resident) and (admin).
Portals
| Portal | Surface |
|---|---|
| Public tenant site | {slug}.halort.com |
| Auth | /login, /register, … |
| Resident | dashboard, iuran, layanan, … |
| Admin | /admin/* |
| Platform ops | app.halort.com/platform |
Mobile apps currently focus on the resident experience — Surfaces/Mobile iOS · Surfaces/Mobile Android.