Least privilege by default
A teacher sees the streams they teach. A class teacher sees their own roll. A parent sees their own children. Access is scoped by what a person is responsible for rather than by what the menu happens to show them.
A teacher sees their classes. A parent sees their child. Nobody sees everything by accident.
A teacher sees the streams they teach. A class teacher sees their own roll. A parent sees their own children. Access is scoped by what a person is responsible for rather than by what the menu happens to show them.
Every record belongs to a school, and that boundary is enforced where the data is read rather than in the page that displays it. There is no query in the system that can quietly return another school's learners.
Suspending or ending a member of staff's employment revokes their access at the same moment, without an administrator having to remember a separate step.
Permission systems fail in two ways. They are either so coarse that everyone with a login can see everything, or so intricate that nobody configures them and everyone ends up an administrator.
Msomi takes a third approach: access follows responsibility. A teacher’s view is derived from the subjects and streams they are allocated to. A class teacher’s roll is the stream they are assigned to. A guardian’s view is the children linked to them. Very little needs configuring because the relationships that define access are the same ones the school maintains anyway.
Msomi runs many schools on one platform, so the strongest guarantee it makes is that one school’s data never appears in another’s. That boundary is enforced at the data layer — every query is scoped to the signed-in school before it runs — rather than by filtering results in the interface, which is the approach that fails quietly.
Platform staff operate under a separate privilege scope entirely, and cannot reach school records through the ordinary school-facing routes.
A demo runs about forty minutes and uses your own class lists, frameworks and grading — so you are looking at your school rather than a sample database.
Or try it first — the Trial tier gives you a full term, free, with every module unlocked.