S
School Desk
privacy policy

Privacy Policy

How School Desk collects, uses, and protects the personal data of admins, teachers, students, parents/guardians, and accountants.

Last updated: [date] · Data controller: [School / Organization legal name, address, contact email]

Template — not legal advice. This page is a starting draft generated from a review of the School Desk codebase. Before real-world use — especially with children's data — have it reviewed by a lawyer familiar with your jurisdiction's education/privacy law (e.g. FERPA/COPPA in the US, UK/EU GDPR, PDPO, or local equivalents). Fill in every bracketed [like this] placeholder before publishing.
1.1 Who this applies to 1.2 Data we collect 1.3 Why we process it 1.4 Children's data 1.5 Who we share with 1.6 Retention & deletion 1.7 Your rights 1.8 Security 1.9 Cookies & storage 1.10 International transfers 1.11 Changes 1.12 Contact

1.1 Who this applies to

Admins, teachers, students, parents/guardians, and accountants using the School Desk portal (“the Service”), whether via web browser or as an installed PWA.

1.2 Data we collect

a) Account & identity data

  • Full name, email address, role (admin/teacher/student/parent/accountant), class/section
  • Parent–student relationship links
  • Password (stored as a salted hash — never stored or logged in plaintext by the system after initial creation)

b) Academic data

  • Attendance records (present/absent/late/leave, by date and class)
  • Homework assignments and submissions (including any uploaded files/text)
  • Exam and test results

c) Financial data

  • Fee schedules, amounts due, payment records, outstanding balances

d) Communications

  • Announcements/notices sent by the school
  • Push-notification subscription details (device endpoint + encryption keys), used to deliver alerts such as absence or homework-due reminders

e) Files

  • Any document or image uploaded through the Service (e.g. homework attachments)

f) Technical data

  • Session/auth tokens, basic request metadata, and locally cached data via the browser's service worker (for offline/PWA support)

1.3 Why we process this data (purpose & legal basis)

PurposeLegal basis (adapt to your jurisdiction)
Provide the core school-portal service (login, attendance, homework, exams)Performance of a contract with the school / legitimate educational interest
Send absence, homework, or fee alertsLegitimate interest / consent (push notifications require explicit browser permission)
Process and record fee paymentsLegal obligation (financial record-keeping) / contract
Administer accounts, reset passwords, manage rolesLegitimate interest in operating the Service securely
Year-end data reset/archivalLegal obligation / legitimate interest in records retention

1.4 Children's data

Student accounts may belong to minors. We rely on the school, as the responsible educational institution, to:

  • Have appropriate authority/consent (parental or otherwise, per local law) to enroll a student and create their account, and
  • Act as intermediary for parental rights requests where a parent cannot act directly.

We do not knowingly permit students to self-register; accounts are created by administrators. [If your jurisdiction requires direct verifiable parental consent (e.g. COPPA in the US for under-13s), state how that consent is obtained here.]

1.5 Who we share data with

  • No sale of personal data.
  • Data is shared internally only as needed by role (e.g. a teacher sees their class's attendance; a parent sees only their own child's records — enforced by the app's ownership/authorization checks).
  • Third-party processors used to run the Service, e.g. hosting/compute [Cloudflare Pages/Workers], database [Cloudflare D1], file storage [e.g. Cloudflare R2 / object storage backing /api/files], and push notifications [Web Push service provider]. Each should be listed with a link to its own privacy/data-processing terms and bound by a data-processing agreement where required.
  • Disclosure to authorities where required by law.

1.6 Data retention & deletion

  • Academic records are generally retained for [X years / per local education record-keeping law].
  • The year-reset admin function archives or clears certain academic-year data — [describe exactly what it deletes vs. archives, and where archived data lives. In the current build it snapshots attendance/homework/exams/tests/fees/notices to the year_archive table and clears those tables; accounts, classes and subjects are untouched.]
  • Users may request deletion or export of their personal data, subject to the school's record-keeping obligations (see Section 1.7).
  • Financial/fee records are retained per applicable tax/accounting law ([X years]).

1.7 Your rights

Depending on jurisdiction, users (or a parent/guardian on behalf of a minor) may have the right to:

  • Access the personal data held about them
  • Correct inaccurate data
  • Request deletion (“right to be forgotten”), subject to legal retention obligations
  • Object to or restrict certain processing
  • Data portability
  • Withdraw consent for optional features (e.g. push notifications) at any time via browser settings

Requests can be made to [contact email]. We aim to respond within [X days, e.g. 30].

1.8 Security

  • Passwords are hashed before storage; plaintext passwords generated at account creation are shown once and not retained.
  • Access to student/financial data is restricted by role-based authorization checks in the API.
  • [Describe transport security (HTTPS), token expiry, backup practices, breach-notification process.]

1.9 Cookies & local storage

The app uses browser storage (session tokens, and a service worker for offline PWA functionality) rather than third-party ad-tracking cookies. [Confirm and detail exact mechanisms used, e.g. localStorage, IndexedDB.]

1.10 International transfers

[State where data is hosted/processed and, if data leaves the user's country/region, what safeguards apply, e.g. Standard Contractual Clauses.]

1.11 Changes to this policy

We may update this policy; material changes will be communicated via an in-app announcement or email.

1.12 Contact

[Data controller name / DPO email / postal address]

Legal & policy Back to sign in