1 Who we are
Klasgemak is an AI-powered teaching assistant that helps educators record and track classroom observations.
The service is operated by an independent developer based in Europe.
Contact: admin@klasgemak.nl
Data deletion requests: Delete account
2 What data we collect
We collect only what is necessary to provide the service:
- Account data — name, email address, role (teacher / manager), school, profile photo (if you add one, or taken from your Google account if you sign in with Google) and your last sign-in time
- Sign-in data — you sign in with a Google account or with a one-time code we email you; there are no passwords. Our sign-in provider Auth0 keeps your email address (and, for Google sign-in, your name and profile photo URL), the one-time codes it sends, and a log of sign-in attempts with their time, IP address and user agent
- Pupil records — the pupils, classes and staff your school enters
- Observations and reports — notes you record about pupils, linked to your school and class, including drafts the AI assistant creates that are waiting for review, and progress reports the assistant generates
- Chat history — your conversations with the AI assistant, the summaries and titles the AI creates, and your projects, stored per account
- Class tasks — to-dos for a class, with a title, notes, a due date, whether they are done, and who created, completed and last edited them. A task can name pupils or be linked to them, for example when the AI assistant suggests a follow-up task from your observations
- Usage data — tokens, requests and uploads counted per account and per school to enforce fair-use limits (no browsing data)
- Voice input — the recording is uploaded, transcribed by the AI service and then deleted; if a transcription fails, the recording is deleted after about 7 days. The transcript is kept as text in your chat or observation
- Files (only if your school has switched on file attachments) — PDFs and photos that staff attach. We treat every file as pupil data
- Moderation records — when a file is rejected or blocked: account id, school id, a hash and signals, never the file or its name; kept 12 months
- Invitations — email address, role, school and the name of the person who invited you
We do not collect sensitive personal data about students beyond what you type, speak or upload. Student names in observations are entered by you.
3 How we use your data
- To provide the Klasgemak service
- To generate AI-assisted observation summaries and reports
- To power the AI chat assistant, transcribe voice input and prepare parent meetings
- To suggest a follow-up task for a class from your observations. The AI never adds a task itself: you decide whether to add it, and you choose the date
- To read files you attach (if your school has switched this on) and to screen uploads for explicit content
- To enforce usage limits per user and per school
- To allow school managers to oversee their team's observations
We do not use your data for advertising, profiling, or any commercial purpose beyond operating the service.
4 Where your data is stored
Most processing is set up in the European Union: our application servers run in Google Cloud europe-west1,
AI processing uses Google's EU endpoint, search embeddings are computed in europe-west4, file screening uses the EU endpoint of Google Cloud Vision, and error reports go to Sentry's EU server.
The database (Cloud Firestore) is set up in the EU multi-region eur3 (Belgium and the Netherlands, with a witness replica in Finland), and files, audio and profile photos are stored in Cloud Storage in the EU multi-region.
Sign-in runs through Auth0 in an EU region, with one exception. Once you have signed in, the app keeps your session in Firebase Authentication, which Google runs only from data centers in the United States. It holds only a pseudonymous account number, the IP address and the user agent of session requests: no email address, name, profile photo or password. Auth0 is a service of Okta, Inc., a US company; Auth0 stores your sign-in data in the EU and does not move it to another region, but Okta staff can reach it from other locations when that is needed for support. Server logs are stored in Google Cloud Logging in europe-west1 (Belgium). Only Google Cloud's own admin audit logs, which record changes to the project's configuration and not app data, are kept by Google in a location called "global". Among others Google and Sentry are US-based companies; the location of Expo's update servers has not been established.
Google Analytics is used on our public homepage only after you consent, and that part of the website contains no app data.
Server logs are kept 30 days.
5 Data sharing
We do not sell or rent your personal data, and we share it only with the service providers listed below and, on the public homepage after you accept analytics cookies, Google Analytics (see section 8).
Limited sharing occurs only to operate the service:
- Auth0 (Okta, Inc.) — sign-in with Google or a one-time email code, in an EU region
- Google — Firebase (sign-in sessions, database, hosting), Cloud Storage, Cloud Functions, Cloud Scheduler and Cloud Logging; Vertex AI (Gemini and embeddings); and Cloud Vision for screening attached files
- Google Vertex AI (Gemini) — AI processing of your chat messages, notes, voice recordings and attached files, via Google's EU endpoint. Under Google Cloud's terms your content is not used to train its models.
- Brevo — transactional email, including the emails with your one-time sign-in code, and newsletter sign-ups (servers in the EU according to Brevo)
- Sentry — error reports from the app. They include your pseudonymous account number, the type of the error, its technical stack trace and technical device data. The text of error messages is replaced by a fixed text (only a technical error code, such as an access-denied code, is kept), and request data, extra data and breadcrumb text (except navigation and app lifecycle events) are filtered out
- Expo — delivery of app updates to devices (update requests include, among other things, the IP address and platform)
Your school's manager can view observations created within their school. Teachers can too: school-wide or only for their own pupils, depending on the school's setting. Individual chat history is private to each user in the app. When a staff member is removed from a school, their chat conversations and projects at that school are deleted; those at any other school they belong to stay.
6 Data retention
- Account data — kept while your account is active; deleted straight away when you delete your account in the app, or on request
- Pupils — until 60 months after archiving (your school can set a different period); removed by a daily job
- Observations — of archived pupils, 24 months after archiving (your school can change this); of active pupils, not deleted automatically. The author can delete an observation in the app (while the class is not closed), and a manager can too
- Reports — of archived pupils, 24 months after archiving (your school can change this); of active pupils, not deleted automatically. Reports cannot be deleted in the app; we delete them by hand on request
- Chat messages — for your school's chat retention period, as set when the school signed up or later in the school settings (24 months if none was set), or sooner if you delete them, or when you are removed from the school they belong to. A chat whose messages and summary have both passed the retention period is deleted completely, including its title
- Projects — a project with no chats left is deleted once it is older than your school's chat retention period; otherwise until you delete it
- Files (optional) — for your school's chat retention period, counted from upload; the owner can always delete a file, and files are also deleted when the account or the school membership is deleted
- Class tasks — kept while the class is active, however old. Once the class is closed, its tasks are deleted after your school's retention period for observations (24 months unless your school changed it), counted from the closing, whether open or done. They are also deleted when the class is deleted, and together with an archived pupil they refer to when that pupil's record is deleted. Teachers of the class and managers can delete a task earlier; in a closed class, only managers
- Voice recordings — deleted after a successful transcription; if the transcription fails, after about 7 days
- Usage data — daily counters 90 days and rate-limit counters 24 hours, then they expire automatically; school totals have no automatic deletion
- Sign-in data at Auth0 — your Auth0 sign-in account is deleted when you delete your account in the app. Auth0's own log of sign-in attempts is kept for the period Auth0 applies to our plan, which we cannot change
- Moderation records — 12 months, then they expire automatically
- Invitations — deleted 30 days after they were used, revoked or expired
- Backups — the database is copied to backups in the same EU location (eur3): a daily backup kept for 30 days, and a copy from which any moment of the last 7 days can be restored. Deleted data therefore remains in a backup for up to 30 days and then expires automatically; if a backup is ever restored, deletions made after it are carried out again. Deleted files can be restored for 7 days, then they are gone
- Server logs — 30 days, in europe-west1; Google Cloud admin audit logs 400 days. Logs contain account ids, school ids, storage paths and error messages. For security, they also record which account read or changed which records in the database, with the IP address and user agent of the request, so that after an incident we can establish whose data was accessed; they do not record the content of those records. The application does not intentionally write note or file content to them
When you delete your account in the app, your account, profile, chat history, files, audio and usage counters are removed straight away; copies in backups expire within 30 days.
Observations and reports you wrote stay with your school, without your name, and class tasks you created or completed stay with the class without your name as creator or completer.
A few internal references to your account number can remain, as can the moderation records (12 months).
Your name on invitations you sent is removed when you delete your account.
7 Your rights under GDPR
As a data subject under GDPR you have the following rights:
Right of access
Request a copy of all personal data we hold about you
Right to erasure
Delete your account and associated data (see section 6)
Right to rectification
Correct inaccurate personal data held about you
Right to portability
Receive your data in a structured, machine-readable format
Right to restrict
Request that we limit processing of your data
Right to object
Object to processing of your data in certain circumstances
You can delete your account and correct your name and profile photo yourself in the app (if you sign in with Google, they are taken from your Google account).
We handle requests for access, portability, restriction and objection by hand, by email at admin@klasgemak.nl; the app has no automated data export.
We will respond within 30 days. You also have the right to lodge a complaint with your national data protection authority.
8 Cookies & tracking
Klasgemak does not use advertising cookies or cross-site tracking.
The sign-in session is kept in your browser's local storage (web) or on your device (app), not in a cookie. Your language preference is stored locally.
With your consent, we use Google Analytics 4 (analytics cookies: _ga, _ga_*)
to understand how visitors use our public homepage. IP addresses are anonymised.
You can withdraw consent at any time by clearing your browser's local storage for klasgemak.nl.
9 Changes to this policy
If we make material changes to this policy we will notify users via the app and update the date below.
The app will ask you to review and accept the updated policy.
Continued use of the service after changes constitutes acceptance of the updated policy.
Last updated: October 2026 (class task retention, database access logs, class tasks, EU-only logs, backups)