Security and data protection

ScholaQore processes records about minors on behalf of schools. These are the controls the platform is built around. We do not claim regulatory certification; we describe what the system does.

Tenant isolation

Every record that belongs to a school carries that school's identifier, and row level security policies in the database decide what each signed-in user can read or change. The browser never supplies the school identifier used for authorisation.

Role permissions

Roles such as owner, principal, registrar, accountant and teacher map to granular permissions. Hiding a button is treated as presentation only; the database rejects an action the user's role does not carry.

Guardian access

A parent account is linked to specific children. Attendance, invoices, payments and published results are readable only for those children.

Financial integrity

Student balances are derived from an append-only ledger rather than an overwritten balance field. Payment records are created only after the provider confirms a transaction server-side, and webhook events are deduplicated so a repeated event cannot create a second payment.

Auditability

Grade changes, payment activity, permission changes, exports and configuration changes are written to an audit log with the acting user, the resource and a timestamp.

Student data protection

Documents are stored in private storage and reached through short-lived signed links. Student data is not used to train AI models, and assistant features receive only the minimum data required for the question being asked.