Security at MySchoolHQ
Protecting children’s records is the job, not an extra.
A school trusts us with results, fees, attendance and messages about children. This page explains, in plain words, how that information is kept safe.
Every school is kept apart
One school can never see another's pupils, staff, results or fees.
- Every request carries the school it belongs to, and every database query is limited to that school.
- Behind that, the database itself enforces the same wall with row-level security, so a mistake in the app still cannot cross it.
- Automated tests sign in as one school and try to read and write another's records on every release.
- Inside a school, people see what their role needs: a teacher sees their classes, a parent sees their own children, a bursar sees fees.
Sign-in and accounts
Getting into an account takes the right password, and for staff it can take a second step too.
- Passwords are stored only as slow, salted hashes (scrypt). Nobody at MySchoolHQ can read them.
- Repeated wrong passwords lock the account for a while, and sign-in, password reset and invitations are rate-limited across all our servers.
- Schools can require two-step sign-in (an authenticator app code) for leaders and office staff, with single-use backup codes.
- Sessions live in secure, HTTP-only cookies. Resetting a password signs out every other device.
- An invitation link only joins a school. If the email already has an account, its own password is needed too.
Your data
The school's records belong to the school.
- Data is kept in the European Union (Ireland), and the app runs in the same region.
- Everything travels over HTTPS, with HSTS so browsers never fall back to an insecure connection.
- The database is encrypted at rest, and two-step sign-in secrets are encrypted again with a key only the app holds.
- Uploaded files are stored privately. Each opening uses a link that expires in one minute, and the reader is checked every time.
- Important actions — publishing results, changing fees, inviting staff, resetting passwords — are written to an audit trail the school can read.
- No ads, ever.
Payments
Fees are paid through Paystack, a licensed Nigerian payment company.
- Card and bank details go straight to Paystack. MySchoolHQ never sees or stores them.
- A payment only counts after MySchoolHQ checks it with Paystack, and the amount must match the bill.
- Payment notices from Paystack are verified by their signature, and the same payment can never be counted twice.
- School fees go to the school's own Paystack account.
Children and AI
The AI features are built for classrooms, with the school in control.
- The AI tutor for pupils stays off until the school names a safeguarding lead.
- If a pupil writes something worrying to the tutor, they get a caring reply written by people, not the AI, and the school's safeguarding lead is told.
- Text from pupils and parents is always passed to the AI as data to read, never as instructions to follow.
- Content that is never appropriate for children is blocked before it reaches the AI.
Built-in protections
The everyday engineering that keeps the doors shut.
- A strict Content Security Policy with a fresh code on every page, so only MySchoolHQ's own scripts can run.
- Pages cannot be framed by other sites, and forms and API calls started by another website are refused.
- Uploads are checked by what the file really contains, not by its name; web pages disguised as documents are refused.
- A leader using “view as” to see a teacher's or parent's screen cannot change or send anything.
- Every release runs a secret scan, a dependency audit and the full test suite, including the security tests, before it goes live.
Found a security problem?
Please tell us privately through your school’s MySchoolHQ contact before sharing it anywhere else. We read every report and reply quickly.
Ready when your school is.
Every protection on this page, on every plan, from day one. See it for yourself in the demo school.