Pricing Contact Us Book a Free Demo
Last updated 13 October 2026

Security at ZenCampus

How we protect your school's data, user accounts, and communications across every layer of the platform.

Checked Sign-In

Every signed-in request is checked against the user's current account status, school status and role. Repeated wrong passwords lock the account for 15 minutes.

Role-Based Access

Seven roles - Super Admin, Principal, Teacher, Admissions Officer, Finance Officer, Transport Manager and Parent - each limited to the work it is meant for.

Encrypted at Rest & In Transit

All traffic uses HTTPS (encrypted connections). Stored data is encrypted with AES-256, provided by our database provider, Supabase.

Activity Trail

Important actions are logged with who did it, what changed and when. Entries cannot be edited by users, and Super Admins can export them.

1. Authentication

ZenCampus uses Supabase Auth for sign-in. Users sign in with a login ID and password issued by their school. After a successful sign-in, the app receives a signed sign-in token that is sent with every request.

Passwords are never stored in plain text. They are hashed (scrambled one way) before they are saved, and we cannot see your password at any point.

  • Sign-in tokens are short-lived and renewed automatically while you use the app. Signing out ends the session
  • Every signed-in request is checked against the user's current account status, school status and role
  • After 5 wrong passwords, the account is locked for 15 minutes. Sign-in attempts are also limited per minute from each address
  • Passwords set by a school must be between 8 and 128 characters long
  • Forgotten passwords are reset with a one-time 6-digit code sent on WhatsApp. The code works once, expires after 10 minutes, allows 5 tries, and is stored only in hashed form
  • School codes and campus codes only help users reach the right sign-in page. They are not passwords
  • If a school is suspended, no one in that school can sign in. Deactivated users are blocked
  • ZenCampus staff accounts support two-factor sign-in

2. Role-Based Access Control

Access within ZenCampus is governed by a role-based model. A user holds exactly one role at a time and cannot raise their own role. Staff accounts and role changes can be made only by the school's Super Admin. Parent accounts can also be created by a Principal or Admissions Officer when they add a student. Each role is limited to the work it is meant for. Most staff roles are also scoped to the campuses they are assigned to, so a user with no campus assignment sees no data rather than defaulting to full access. Students are managed as data entities within the system; they do not hold user accounts.

Role Scope
Super Admin Full access across every campus. Manages users, settings, billing, academic years, fee configuration, announcements, and all data.
Principal Full admin access, but limited to the campus or campuses they are assigned to. Blind to other campuses in the same school.
Teacher Works with the classes they are assigned to: marks attendance, enters grades, sets homework, views the timetable and applies for leave.
Admissions Officer Student records (create, edit, archive, graduate, suspend) and the admissions enquiry pipeline, up to an offer. Cannot convert an enquiry into a student account or change seats and quotas.
Finance Officer The finance module - payments, waivers, refunds, reminders, and fee configuration - plus read-only access to the admissions pipeline where fees are collected at intake.
Transport Manager Vehicles, routes, student transport allocations, trips and incidents for the campuses they are assigned to. No access to admissions, fees or staff records.
Parent Sees only their own linked children: attendance, published grades, homework, fees, announcements and the school calendar. Can pay fees, submit homework, book parent-teacher meetings and request certificates for their own children. Cannot change school records.

All schools share one database, and every record carries its school's ID. Every server request is tied to the signed-in user's school, and every query is limited to that school. Database row-level security also blocks direct reads of another school's data.

ZenCampus sets a limit on how many accounts of each role a school can have. The school cannot raise these limits itself. This means a stolen admin login cannot be used to create accounts in bulk: attempts beyond the limit are blocked and reported to us.

Authorised ZenCampus staff can sign in to a school's account, export its data, or reset its Super Admin's password, to provide support or keep the service secure. Each staff sign-in is recorded in our platform log with the staff member and the time.

3. Session Management

A Super Admin can force a user to sign in again. Our servers then refuse that user's earlier sessions.

  • This can be done for any user in the school, for example after a lost phone or a suspected leaked password
  • Sign-in tokens are short-lived and renewed automatically while you use the app
  • Signing out ends the session
  • Every signed-in request is checked against the user's current account status, school status and role

4. Data Encryption

At Rest

All data stored in the ZenCampus database - including student records, attendance data, fee information, academic grades, and personal details - is encrypted at rest using AES-256. This encryption is provided by our database provider, Supabase.

In Transit

All traffic uses HTTPS (encrypted connections).

WhatsApp and Payment Keys

Each school's WhatsApp access token is stored encrypted (AES-256) and is never shown again after it is saved. The same applies to each school's Razorpay key and payment notification (webhook) secrets.

Uploaded Files

Uploaded files are kept in private storage and opened through links that expire after 5 minutes. Each upload's type is checked by its actual content, not just its name. Only images and PDFs are accepted, up to 5-10 MB per file depending on your plan.

5. API Security

All ZenCampus API endpoints are protected by a layered middleware stack that runs before any business logic is executed:

  • Sign-in token check - every signed-in request must carry a valid sign-in token in the Authorization header
  • Role enforcement - endpoints declare the minimum role required; requests from lower-privileged roles are rejected with 403 Forbidden
  • HTTP method validation - endpoints only accept the methods they are designed for; unexpected methods receive 405 Method Not Allowed
  • Account status check - every signed-in request is checked against the user's current account status, school status and role, so a user who was forced to sign in again, deactivated or suspended is refused
  • Private responses - API responses are marked private and are never stored in shared caches
  • Structured error responses - error messages never leak internal stack traces, query details, or sensitive system information
  • Rate limiting - authentication and other sensitive endpoints enforce request limits to protect against brute-force attempts and automated abuse

Database queries pass values as parameters, and search text is cleaned before it is used in a filter.

6. Audit Logging

ZenCampus keeps an audit log of important actions, such as sign-ins, user and role changes, fee payments, refunds and waivers, student record changes, exports, and more. The audit trail is available to Super Admins from the Audit Log section of the dashboard.

Each log entry records:

  • Who did it (the user and their role)
  • What they did
  • Which record was affected
  • When it happened
  • The IP address and the browser or device type

Log entries cannot be edited by users. They are kept for your plan's retention period (up to 1 year on Essential and Plus, up to 2 years on Complete and Enterprise; a Super Admin can choose a shorter period, at least 7 days) and then removed. Super Admins can export the log as a CSV file.

7. Infrastructure & Hosting

The application runs on Cloudflare's network. Data is stored with Supabase.

  • Our database provider takes automatic daily backups
  • The platform targets 99.5% monthly uptime, excluding planned maintenance
  • Planned maintenance is communicated by email at least 48 hours in advance
  • All schools share one database. Every record carries its school's ID, every request is limited to the signed-in user's school, and database row-level security blocks direct reads of another school's data

Data Export and Deletion

Super Admins can download a copy of the school's records. Full archives are available on Plus and above. A request to delete the school's data needs a completed export first, and the deletion is carried out by ZenCampus.

If Something Goes Wrong

We notify affected schools within 72 hours of confirming a breach that affects their data.

ZenCampus does not operate its own physical data centres. All infrastructure security obligations - including physical security, hardware maintenance, and network-level DDoS mitigation - are handled by our hosting and database providers.

8. Payment Security

Online fee payments are processed through Razorpay, an RBI-authorised payment gateway. Each school uses its own Razorpay account, so money goes straight to the school. Card, UPI and bank details are entered on Razorpay's own pages. From each payment we keep the payment reference, status, amount and method type (UPI, card and so on). We never store card numbers, CVV or bank account numbers.

  • Payment notifications from Razorpay have their signature checked (HMAC SHA-256) before they are trusted
  • A check every 10 minutes catches any payment whose notification never arrived
  • Each school's Razorpay key and webhook secrets are stored encrypted (AES-256) and are never shown again after they are saved
  • Payment settings and gateway credentials can only be configured by a school's Super Admin

9. Error Monitoring

ZenCampus uses Sentry to find and fix technical problems. Error reports are scrubbed of names, emails, phone numbers and addresses in labelled fields, and request bodies and cookies are removed. They may include internal account IDs and the school ID. Sentry stores this data in the EU.

10. Communications Security

ZenCampus integrates with the WhatsApp Business API to deliver attendance alerts and school announcements to parents. This integration is built with the following security controls:

  • Each school's WhatsApp access token is stored encrypted (AES-256) and is never shown again after it is saved
  • Only Super Admins can configure or view WhatsApp integration settings
  • Outbound messages are sent through Meta's official Business API - ZenCampus does not relay messages through any third-party proxy
  • Message details are kept so we can send messages, retry failed ones and show delivery history
  • Phone numbers are stored with school-scoped isolation; one school cannot access another school's contact lists

11. Vulnerability Disclosure

We welcome responsible disclosure of security vulnerabilities. If you discover a security issue in ZenCampus, please report it to us before public disclosure so we can investigate and remediate the issue.

How to report

  • Email hello@zencampus.org with a clear description of the vulnerability
  • Include steps to reproduce, affected endpoints or pages, and potential impact
  • Do not access, modify, or exfiltrate data belonging to other users while investigating
  • Do not perform denial-of-service testing or social engineering against our team or users

Our commitment

  • We will acknowledge your report within 2 business days
  • We will provide an update on remediation progress within 10 business days
  • We will not pursue legal action against researchers acting in good faith under these guidelines
  • We will credit researchers in our release notes where appropriate and with their consent

12. Contact

For security-related questions or to report a vulnerability:

Found a security issue?

Report it responsibly and we'll respond within 2 business days.

Report a Vulnerability

Privacy Policy

How we collect, process, and protect your data.

Read Policy

Terms of Service

The rules governing use of the ZenCampus platform.

Read Terms