Privacy

Privacy Policy

This policy explains what information Examiniser collects — including account data, organisation and classroom data, student accounts, and homework submissions — how it is used to run the site and the Dashboard, and how to contact the site owner about privacy questions.

Who operates this site

Examiniser is operated by an independent developer and educational publisher. If you need to contact the site owner about privacy matters, email examiniser@gmail.com. For student personal data created by a teacher or school within an organisation/classroom, that teacher/organisation is the data controller for the student records and Examiniser acts as a data processor on their instructions.

What information may be collected

  • Basic technical information such as browser type, device type, referring page, approximate region, and site usage events through analytics tools.
  • Messages that you voluntarily send by email, including your email address and the contents of your message.
  • Account information if you sign in with Google or Microsoft, such as your name, email address, and profile picture. This data is handled by Firebase Authentication.
  • Organisation and membership information when you create or join an organisation (workspace) — such as organisation name, slug, your role (owner, admin, member, viewer), invites, and permission settings.
  • Classroom information you create as a teacher — such as classroom name, education stage (primary, secondary, sixth-form), badge text and colour, and the list of enrolled students.
  • Student account information you create as a teacher for learners in your organisation — such as username (with an organisation suffix, e.g. jsmith01@your-org), display name / full name, exam board, classroom assignment, encrypted password, creation date, and last-online date. Student passwords are stored only as a one-way hash and cannot be read back.
  • Homework, assignment and learning data — such as homework titles, topics and subtopics, due dates, generated questions (and snapshots of them), student attempts, answers, scores, per-topic results, completion status, time spent, streaks and rankings.
  • Site usage and content you create in the Editor — such as exam paper titles, descriptions, tags, questions, layout and styling choices.

Organisations and workspaces

Organisations are shared workspaces where teachers collaborate. When you create an organisation, Examiniser stores its name, a URL-safe slug derived from the name, who created it, and billing linkage (Stripe customer ID).

When you invite or add members, Examiniser stores their Firebase UID, email, display name and photo URL (from Firebase Authentication), their role, and what they are allowed to do (for example manage classrooms, manage students, assign homework, manage billing). Invites store the invited email, requested role, who created the invite, and expiry/usage timestamps.

Your active organisation is remembered locally (localStorage key activeOrgId and the X-Organisation-Id header) and sent with Dashboard API requests so the correct workspace is used. Switching organisations clears student-scoped caches to avoid leaking data between workspaces.

Classrooms and student accounts

Classrooms live inside an organisation. A classroom record includes its name, stage, badge appearance, creation time and a count of enrolled students. The teacher who creates a classroom controls the roster.

Student accounts are created and managed by teachers within an organisation — not by students self-registering. For each student, Examiniser stores a unique username (lower-cased, unique per organisation; the part before @ is chosen by the teacher and the @org-slug suffix is added automatically), a display name, optional exam board, classroom membership, and a hashed password. Plain-text passwords are never stored.

Students sign in separately from teachers using their username and password. Authentication uses an HttpOnly, Secure cookie (JWT, typically valid for 7 days) set by the API; it is not accessible to JavaScript. The browser also keeps a minimal display copy in sessionStorage (id, username, full_name) for the UI and a localStorage flag (studentSession) plus a per-student last-online date flag.

Teachers are responsible for creating accurate student records, choosing appropriate usernames, securely sharing initial passwords with learners, and only creating student accounts where they have lawful basis to do so — for example, as a school or tutor with parental or institutional consent for children in their care. If you are a school, you confirm you have obtained any required parental consent before creating accounts for children under your local age of digital consent.

  • Last-online tracking: the student app calls POST /api/students/me/touch at most once per UTC day and stores the UTC date (YYYY-MM-DD) in localStorage (keys studentLastOnline:<id> and studentLastOnlineDate). This avoids writing on every page view and is used for 'last online' in the Dashboard.
  • Username checks: typing a username can call GET /api/students/check-username to test availability within your organisation before creation.

Homework, submissions and learning analytics

When a teacher creates homework, Examiniser stores the classroom, title, selected topics and subtopics, level and configuration (pass percentage, question count, progression, timing, attempts), an optional due date, who created it, and a snapshot of the generated questions (LaTeX, answer, options, marks and metadata) plus a generation seed so the same set can be reproduced.

When a student attempts homework (or Daily / Practice questions), Examiniser stores question attempts (topic index, question index, whether correct, number of attempts, whether skipped, time taken), per-topic results (questions answered, correct answers, passed flag, streak and time remaining), completion status, when it was completed, and total time spent. Results are visible to teachers in the Dashboard via homework results and ranking endpoints.

Rankings and streaks aggregate these results per classroom — for example completion counts, average accuracy, current daily streak, longest streak and last streak date — to help teachers track progress. The Dashboard may also cache homework and daily data in the browser for up to 30 seconds to reduce repeated requests.

Analytics

Examiniser uses Google Analytics to understand traffic and improve the site experience. This covers marketing and landing pages as well as general product usage; it does not replace the in-product learning analytics described above.

Users may learn more about how Google uses information by visiting Google's privacy documentation.

Cookies and similar technologies

Examiniser uses cookies and similar technologies to enable authentication, process payments, remember your preferences, and understand site usage. Below is a summary of the cookies and technologies used:

  • examiniser-consent (localStorage) - stores your cookie preference choices. Necessary.
  • __session (Firebase) - used for teacher authentication and session management. Necessary.
  • student session cookie (HttpOnly, Secure) - used for student sign-in to the Student portal. Necessary. Also sessionStorage studentUser and localStorage studentSession / studentLastOnline for display and once-per-day touch.
  • activeOrgId (localStorage) and X-Organisation-Id header - remembers your active organisation/workspace across Dashboard requests. Necessary for workspace routing.
  • Stripe cookies - used on the subscription and billing pages for processing payments. Necessary.
  • _ga, _gid, _gat (Google Analytics) - used to track page usage and improve the site. Analytics (optional).
  • Module-level caches for classrooms, students, homework and daily data (in-memory with 30–60s TTL) - used to avoid refetching when you switch tabs. Not persistent after reload.

Legal basis for processing

Examiniser processes personal data under the following lawful bases:

  • Consent - for analytics cookies and certain non-essential data processing. You may withdraw consent at any time via the banner or browser settings. For student accounts created by a school/teacher, consent for children is obtained by that school/teacher as the controller.
  • Contract - for processing necessary to provide the service, including teacher account management, organisation/classroom/student administration, homework creation and submission, and storing exam papers.
  • Legitimate interests - for improving the service, ensuring security, preventing abuse, and providing learning analytics and rankings to teachers.
  • Legal obligation - where required by applicable law (for example, tax and accounting for Stripe invoices).

How information is used

  • To operate, maintain, and improve Examiniser, including the Dashboard, Editor, and Student portal.
  • To provide organisation, classroom, student and homework features — creating rosters, assigning and marking homework, tracking last-online, streaks and rankings, and showing analytics to teachers.
  • To manage teacher accounts, authenticate both teacher (Firebase) and student (cookie) sign-ins, and enforce role-based permissions within organisations.
  • To respond to messages, bug reports, translation requests, or support questions.
  • To measure performance, understand usage patterns, protect the site from misuse, and enforce billing and rate limits.
  • To process organisation billing and subscription payments via Stripe and enforce payment-method requirements (for example, blocking new student creation or student login when no payment method is on file, as configured).

Third-party services

Examiniser uses the following third-party services:

Firebase (Google) for teacher authentication, including sign-in with Google and Microsoft accounts.

Neon (PostgreSQL) for storing user accounts, organisations, classrooms, student records, homework and exam paper data.

Stripe for processing organisation subscription and usage-based billing (payment methods, customers and invoices).

AWS Lambda for running the API and backend processing.

Google Analytics for understanding traffic and improving the site experience.

Website hosting, CDN delivery, and other technical infrastructure providers. Those services may process technical data according to their own privacy policies.

No third-party service is given student plain-text passwords — only the hashed form is stored in our database.

International data transfers

Examiniser uses third-party services that may process data in countries outside the UK and European Economic Area (EEA), including the United States. These transfers are governed by appropriate safeguards, including Standard Contractual Clauses (SCCs) approved by the European Commission, or reliance on adequacy decisions where applicable.

The services that involve international data transfers include: Firebase (Google), Neon (PostgreSQL), AWS, Stripe, and Google Analytics. This applies equally to organisation, classroom, student and homework data.

Children's data

Examiniser is an educational service that is often used with children in schools and tutoring contexts. Student accounts are teacher-managed: learners do not self-register. The teacher, school or organisation that creates a student account is responsible for ensuring it has a lawful basis to provide that child's data (such as parental consent or the school's legal mandate) under its local laws and for informing parents/guardians about how Examiniser processes the data on its behalf.

If you are under the age of 16 (or the age of digital consent in your country), you must obtain parental or guardian consent before using the service or before a teacher creates an account for you. Where a school has created your account, your school acts as the data controller for that record.

We do not knowingly collect personal data from children under 13 without verified parental consent (provided via the responsible teacher/organisation). If you believe a child has been added or has provided data without appropriate consent, please contact us at examiniser@gmail.com so we can delete it. Teachers should delete student records promptly when a learner leaves or consent is withdrawn.

Your data protection rights

Depending on your jurisdiction, you may have the following rights regarding your personal data:

To exercise any of these rights, contact examiniser@gmail.com or, for student data, contact your teacher/organisation first as the data controller. We will respond within the timeframes required by applicable law.

  • Right of access - you can request a copy of the personal data we hold about you, including organisation membership and, for students, your submissions and results.
  • Right to rectification - you can ask us to correct inaccurate or incomplete data (teachers can also edit student names, usernames, exam boards and classroom assignments directly in the Dashboard).
  • Right to erasure - you can request deletion of your personal data, subject to certain exceptions. Teachers can delete student accounts; organisation owners can delete organisations and classrooms (empty classrooms only).
  • Right to restrict processing - you can ask us to limit how we use your data.
  • Right to data portability - you can request a copy of your data in a structured, machine-readable format.
  • Right to object - you can object to processing based on legitimate interests, including analytics and profiling. This does not remove the need for learning analytics that are essential to the homework service.

Your choices

  • You can contact examiniser@gmail.com to ask privacy-related questions or exercise your data protection rights. For student records, please also contact the teacher or school that created the account.
  • You can request deletion of your teacher account and associated data by contacting examiniser@gmail.com. Student records can be deleted by an organisation member with permission to manage students.
  • You can manage cookies through the cookie consent banner on this site or via your browser settings. Blocking necessary cookies (Firebase __session or the student session cookie) will prevent sign-in.
  • You can switch or leave organisations, transfer students between classrooms, or delete empty classrooms at any time from the Dashboard.
  • California residents: Examiniser does not sell your personal information, so there is nothing to opt out of. If this changes in the future, we will update this policy and provide a clear opt-out mechanism.

Data retention and deletion

Examiniser retains personal data only for as long as necessary to fulfil the purposes described in this policy:

When you delete an organisation, classroom (when empty), student account, homework assignment or exam paper, the associated data is permanently erased from the primary store. Due to database redundancy and backups, complete purging across all redundant storage may take up to 6 hours to fully propagate. Billing invoices that have already been issued are retained as legal records.

  • Teacher account data (name, email, profile picture via Firebase) - retained until you delete your account.
  • Organisation data (name, slug, members, invites) - retained until the organisation is deleted by its owner. Leaving an organisation removes your membership; deleting removes the workspace for all members.
  • Classroom data (name, stage, badge, student roster) - retained until the classroom is deleted (only empty classrooms can be deleted) or its organisation is deleted.
  • Student account data (username, display name, hashed password, exam board, classroom assignment, last online, creation date) - retained until a teacher with permission deletes the student or the organisation is deleted. Bulk CSV imports that fail validation create no records.
  • Homework, submissions and analytics (assignments, question snapshots, attempts, scores, streaks, rankings) - retained until the homework is deleted by a teacher or the classroom/organisation is deleted. Deleting a student also removes their submissions and derived ranking entries.
  • Exam papers and editor content - retained until you delete them or your account.
  • Analytics data (Google Analytics) - retained for up to 26 months.
  • Email correspondence - retained for up to 12 months after the last contact.
  • Payment and billing records (Stripe, invoices, usage snapshots) - retained for up to 7 years to comply with tax and legal obligations.

Data breach notification

In the event of a data breach that poses a risk to your rights and freedoms, Examiniser will notify the relevant supervisory authority within 72 hours of becoming aware of the breach, in accordance with applicable law.

If the breach is likely to result in a high risk to your rights and freedoms — including for student accounts managed by schools — we will also notify affected users and, where applicable, the responsible organisation owner/admin without undue delay.

California privacy rights (CCPA)

If you are a California resident, the California Consumer Privacy Act (CCPA) grants you the following additional rights:

Examiniser does not sell your personal information — including student, classroom or homework data — so there is no opt-out process needed. If our data-sharing practices change in the future, we will update this policy and provide a clear opt-out mechanism.

  • The right to know what personal information is collected, used, shared, or sold.
  • The right to delete personal information held by Examiniser.
  • The right to opt out of the sale of personal information.
  • The right to non-discrimination for exercising your CCPA rights.

Policy updates

This policy may be updated as Examiniser changes — for example when Dashboard, classroom or student features evolve. Material updates will be reflected on this page and, where appropriate, notified to users via email or an in-product notice.

Last updated: 17 September 2026.

Privacy Policy | Terms of Use | Copyright & DMCA | © 2025-2026 Examiniser. All rights reserved