Privacy
Last updated 15 September 2026.
This page describes what Pollyglot actually stores and who else can see it. It is an engineering description, not a legal notice, and it has not been reviewed by a lawyer.
What we store
- Your account. Email address and password, held by our authentication provider (Supabase). We never see or store your password — not as text, not as a hash. It lives in the auth provider's own system and we cannot read it.
- Your profile. The display name you chose, your native language, the language you are learning, your level, and the goals you picked during onboarding.
- Your learning. Every answer you submit, the verdict, which objectives it was evidence for, and the mastery estimate derived from it. This is the product: without it there is no progress and no next lesson.
- Your tutor conversations. The messages in a tutor session, yours and the tutor's, capped at 2,000 characters each.
- Your speaking practice. When you record yourself in a speaking exercise, the recording is sent to our speech provider to work out what you said, and then deleted. What we keep is the text of what you said, so we can show you your mark and explain it. In a speaking exercise the microphone is used only while you are recording. Live matches use it too, as described below.
- Live matches. Live matches are for people 18 and over, and you confirm that before your first one. During a match your camera and microphone are on, and your video and voice go to the other player through LiveKit, a realtime video provider. Nothing is recorded. We keep the match itself: who played, the moves, the result and any rating change.
- Reports and blocks. If you report a player, we store the report, the match it came from and anything you wrote. Moderators can see who filed it; the player you reported is never told. If you block someone, we store that so you are never matched again, and they are not told either.
- Operational records of AI calls. Which feature ran, which model, how long it took, how many tokens, and whether it failed. We do not store the prompt or the model's raw response — those columns do not exist in our database.
Product analytics and error reports
Two services receive records about how the app is used. What they receive is deliberately narrow.
- PostHog receives a fixed list of named events — that a lesson was started, that a screen failed, that an account was opened — keyed to your account id. It receives no automatic page views, no clicks, no session recording and no form contents: all four are switched off in code, and the list of events is fixed at build time, so nothing can be recorded that was not deliberately added to it.
- Sentry receives errors — a message and a stack trace — when something breaks. It is configured not to attach request bodies, headers or cookies, and it does no performance tracing. A report carries your account id (not your name or email) so we can tell whether a bug hit one person or many.
Neither receives your name, your email address, your answers, anything you said out loud, or anything you typed. Neither is used for advertising, and neither is required for the app to work — a deployment configured without them sends nothing at all.
What we do not store
- No advertising, no tracking pixels, no third-party cookies. The only cookies we set are the ones that keep you signed in.
- No session recording. Nothing replays your screen, your typing or your mouse. Recording a learner's screen on a product where the screen contains their own attempts at a new language is not a trade we are willing to make.
- No IP address log tied to your account. Addresses are used only to count requests against abuse limits, and only after being hashed with a server-side secret. Those counters expire within the hour and no address is written to durable storage by us. Our hosting and database providers keep their own infrastructure logs.
- No location or contacts access. The apps request neither. The camera and microphone are used during a live match, and the microphone during a speaking exercise while you are recording. Neither runs in the background.
- No stored voice recordings. A recording exists only long enough to be transcribed — a matter of seconds — and is then deleted. We keep the text, not the audio.
Who else sees it
- Supabase — our database and authentication provider. Everything above, except what we never collect, is stored there.
- Vercel — hosts the web app and serves the API.
- OpenAI receives your voice recording when you submit a speaking exercise, so it can work out what you said, and the text of a free-text answer or tutor message at the moment an AI feature runs, along with the lesson context needed to respond. It is never sent your name, your email address or your account id. If no AI feature is used, nothing is sent. If the AI provider is unavailable, lessons and marking still work: the deterministic engine is what grades you.
- LiveKit carries the video and voice of a live match between you and the other player. It is not recorded.
- Other players see your display name, the avatar you built and, only if you marked it public, your country, on the leaderboard and in match results. They never see your email address.
- PostHog — receives the named product events described above, and nothing else.
- Sentry — receives errors, tagged with your account id but not your name or email address.
- Upstash — holds the short-lived abuse counters described above, which contain hashes rather than addresses or identities.
We do not sell personal data, and we do not share it with anyone other than the providers above.
What we can tell about your speaking
We can tell whether you said the right words, whether you said anything at all, whether you used the right language, and how clearly it came across. We can sometimes point out a specific word that did not come through.
We cannot score your accent or your pronunciation, and we do not claim to. When we say a recording was clear, that means our speech recogniser was confident about what it heard — not that you sounded like a native speaker. If your microphone fails, or we cannot make out what you said, that is recorded as a technical problem and does not count against your progress.
Children
Pollyglot is not directed at children under 13, and we do not knowingly create accounts for them. We do not attempt to infer anyone's age. Live matches, where you meet other players on camera, are for people 18 and over, and you confirm that before your first match.
Deleting your account
You can delete your account and everything attached to it from your account page, or from the Account screen in the mobile app. Deletion is immediate and permanent: profile, progress, answers, results and tutor conversations are all removed.
We keep one record of the deletion itself — a timestamp, a status, and a one-way hash of your email address that cannot be turned back into it. It exists so that we can answer “was this account deleted, and when?” without keeping the account. Our database provider's backups roll off on their own retention schedule; they are not used to restore individual accounts.
Full detail, including what to do if you can no longer sign in, is on the account deletion page.
Contact
Questions about any of this, or a request for a copy of your data, can be sent to the address in the app listing.