1. Who runs this site
Speak Polski is an independent project built and run by Deniz Eren since 2026. It is not a company and there is no team behind it. All questions about this policy, and any request relating to your data, should go to hello@speakpolski.com.
2. Contact
Email: hello@speakpolski.com. The contact page includes an on-device message builder, but it does not submit or upload what you type. You choose whether to copy it, pass it to your device's share menu, or open your email app. Messages sent by email arrive in an ordinary mailbox.
3. What data is involved
It helps to separate three different things.
- Learning/account data Speak Polski stores if you do not sign in: none. No database row, no tracking pixel, no analytics tool of any kind. Technical request data handled by the host and limited external services is described separately below.
- If you create an account: an email address, a nickname you choose, an optional country, whether you asked for email updates, a copy of your synced progress, and your game scores. Nothing more. Detailed in sections 7 and 15.
- Data stored on your own device: your lesson progress, streak, personal vocabulary and game best scores. Described in section 15, with a column saying which of it syncs.
- Data third parties receive: when your browser loads an external resource — such as a font or the home-page weather request — it makes a request to that company's servers. Donation and share services are contacted only after you click their links. Those requests necessarily include your IP address and browser details, and can include the referring page depending on browser policy. Described in section 16.
4. Why each thing happens
| Activity | Purpose |
|---|---|
| Web fonts (Google Fonts) | To render the site's typography |
| Warsaw clock & weather (Open-Meteo) | A decorative feature on the home page showing the current time and weather in Warsaw |
| Donation link (Buy Me a Coffee) | To let readers contribute if they choose to. It is an ordinary link — nothing is loaded from their servers unless you click it. |
| Speech recognition | To let you practise saying Polish phrases on the pronunciation page |
| Speech synthesis | To read Polish words and sentences aloud |
| Optional account (Supabase) | To sync your progress across browsers and devices, and to show a nickname on the leaderboard — only if you sign up |
| Local storage | To remember your progress between visits, on your device only |
| Hosting (Vercel) | To serve the website and keep it secure and available |
5. Legal basis
Where data-protection law such as the GDPR or UK GDPR applies:
- Consent is the basis for email updates: opt-in only, recorded with a date, and withdrawable in one click.
- Performing a service you asked for is the basis for an account: you create one specifically so your progress syncs, and deleting the account ends the processing.
- Legitimate interests is the basis for the technical logs a hosting provider keeps in order to serve pages, prevent abuse and keep the site available.
- The storage on your own device (section 15) is strictly necessary for the site's core function — remembering where you got to — and is never read by anyone but your own browser.
This site is run by an individual, not a legal department. If you need a formal statement of controller identity and jurisdiction for a specific legal purpose, email hello@speakpolski.com.
6. Cookies and local storage
If you are not signed in, this site sets no cookies. Not one. There is no cookie banner because there is nothing to ask you about — no advertising, no analytics, no tracking of any kind.
If you choose to create an account, your browser stores a login token so you are not asked to sign in on every page. It is strictly necessary for the feature you asked for, it identifies your session and nothing else, and signing out removes it.
Your progress is kept in local storage instead, which stays in your browser and is never attached to a request the way a cookie is. It is listed key by key in section 15.
The installable/offline version uses a browser service-worker cache for public site files such as pages, styles and scripts. It does not copy your progress, account token, contact draft or personal vocabulary into that cache. Unsubscribe links and URLs containing a token are explicitly excluded. You can remove the cached public files at any time by clearing this site's data in your browser.
The support page used to be an exception, because it embedded a Buy Me a Coffee widget that could set its own cookies. It no longer does. The contribute button there is a plain link drawn by this site, so Buy Me a Coffee is contacted only if you actually click it and go to their site — where their policy, not this one, applies.
You can block or delete site data in your browser at any time. Nothing on this site will break — although clearing everything also erases your saved progress, so export it first if you want to keep it (section 15).
7. Accounts and sync
An account is optional and adds nothing but sync. Every lesson, game, quiz and tool works identically whether you are signed in or not. Nothing is locked, rate-limited or degraded without one.
It exists for one reason. Progress has always lived in your browser's local storage, which means it does not follow you to a different browser or a different computer. Learners told us they were losing their place. An account is the honest fix for that.
What is stored if you sign up
| Item | Where | Who can see it |
|---|---|---|
| Your email address | The authentication system | Only the site operator. It is not stored in any table other users can read, and it never appears on the leaderboard. |
| Password | The authentication system, hashed | Nobody. It is never stored in a readable form. If you sign in with Google there is no password at all. |
| Your progress | A private row keyed to your account | Only you. Database rules make it unreadable by any other signed-in user. |
| Email-updates preference | Your account row | Only the site operator. A true/false flag plus the date you switched it on. |
| Nickname | Your public profile | Anyone, on the leaderboard. You choose it and can change it. |
| Country | Your public profile | Anyone, as a flag. Entirely optional, chosen from a list — never guessed from your IP address. |
| Word Arena best score | Your public score row | Anyone, on the leaderboard. |
The synced progress is exactly the same data described in section 15 — completed lessons, streak, personal vocabulary and game best. Nothing new is collected because you signed up. There is no profile questionnaire, no age, no real name, no location beyond a country you pick yourself. The one optional extra is the email-updates checkbox in section 10, which is off unless you turn it on.
Signing in with Google
If you use "Continue with Google", Google confirms your identity and passes back your email address. Google will know you signed in to this site. If you would rather not use Google for authentication, use the email and password option instead. The site's Google Fonts request is separate and is described in section 16.
Where the data lives
Accounts and synced progress are handled by Supabase, which hosts the authentication service and the database. They process this data on the operator's behalf as a service provider.
Deleting your account
There is a Delete my account button on the account page. It removes your login, your synced progress, your nickname and your leaderboard entry from the server permanently — not a soft delete, not a flag, an actual deletion. Your progress on the device you are using is left alone, so you can carry on offline exactly as before.
You can also simply sign out and never come back; but if you want the data gone, use the button, or email hello@speakpolski.com and it will be done by hand.
The leaderboard
The Word Arena leaderboard shows a nickname, an optional country flag, a best score and a wave number. That is the complete list. Taking part is optional — you can play the game signed out forever and never appear.
8. Advertising
There is no advertising on this site.
There used to be. It has been removed entirely — the ad code, the ad slots and the publisher file are all gone. Nothing on Speak Polski is an ad, nothing is sponsored, and no advertising network is contacted when you load a page.
This is why there are no advertising cookies or advertising consent flow. The strictly necessary sign-in token is described in section 6.
9. Analytics
There is no analytics on this site. No Google Analytics, no Plausible, no Fathom, no Matomo, no heatmaps, no session recording, no A/B testing. Nothing counts your visit or follows you between pages.
An earlier version of this page said that "basic analytics may also be used". That was inaccurate, and it has been corrected.
10. Email updates
Off by default. Creating an account does not subscribe you to anything.
If you have an account, the account page has a single checkbox for occasional email about Speak Polski — new lessons, corrections to material you may have studied, and notes about what has changed. It is unticked until you tick it, it is never bundled into signing up, and there is no other way to end up on the list.
What you would get. A few messages a year at most. No weekly newsletter, no automated sequence, no promotional email for anything that is not this site.
Stopping. Untick the same box and it stops immediately — no confirmation step, no "we're sorry to see you go" flow. Every email also carries an unsubscribe link, which works without signing in.
What is stored. Only a true/false preference against your account, plus the date you switched it on, so there is a record of when consent was given. Your address itself is not copied into a marketing table; it stays in the authentication system where it already was.
Your address is never sold, never shared, and never shown to other users.
Historical note: an earlier version of the grammar quiz asked for an email address before showing your result. That was removed. Your quiz result now appears immediately and no address is requested anywhere except the optional box described above.
11. Messages you send
If you email hello@speakpolski.com — including through a "Report a mistake" link — your message and your email address arrive in an ordinary mailbox and are used only to reply to you and to fix what you reported. They are not added to any list, and they are not shared with anyone. The "Report a mistake" links prefill the page title and address so you don't have to describe where the problem is; you can delete anything from the message before sending it, and nothing is sent until you press send in your own email program.
The contact-page builder keeps what you type in the page only. If you arrived from a Report a mistake link, a draft is passed between those two pages in temporary session storage and removed as soon as the contact page reads it. Copying uses your browser clipboard; choosing an app uses the browser or operating-system share menu. Speak Polski receives nothing until you deliberately send a message through the app you chose.
12. Donations
Contributions are handled entirely by Buy Me a Coffee, on their own site, under their own terms and privacy policy. Speak Polski never sees your name, your email address or your card details unless you choose to include a message with your contribution.
The support page loads nothing from Buy Me a Coffee. Their floating widget used to run on 32 pages, then on one, and now on none; the button you see there is drawn by this site and is an ordinary link. Your browser contacts them only after you click it.
13. Speech recognition
The pronunciation practice page uses your browser's built-in speech recognition. Your browser will ask permission before using your microphone, and you can refuse or withdraw that permission at any time.
Speech recognition is handled by your browser. Depending on your browser and device, audio may be processed by the browser provider's online speech service. Speak Polski does not intentionally store your audio.
In practice, the browsers that support this feature — mainly Chrome and Edge — normally send the audio to their own speech service in order to transcribe it. That transfer is between you and your browser vendor; Speak Polski is not part of it and receives no audio at any point. What Speak Polski does receive is the resulting text, in the page, in memory. It is compared to the target phrase and then discarded. It is never uploaded, never stored and never logged.
A previous version of that page claimed "nothing is recorded or sent anywhere — it's all on your device". That claim could not be supported, and it has been replaced with the accurate description above.
14. Speech synthesis
The speaker buttons across the site use your browser's built-in text-to-speech to read Polish words aloud. The text sent to it is always fixed vocabulary from the site — never anything you have typed. On some platforms the browser or operating system fetches voices online, which means that fixed text may reach your browser or OS vendor.
Where a Speak Polski recording is available, it is served as an ordinary static audio file from this site's host instead. A recording is enabled only after its redistribution rights and Polish pronunciation review are recorded. The public site does not record or upload audio to create these clips.
15. Progress stored in your browser
Your progress is kept in your browser's local storage under these keys. The last column says whether that key is copied to the server when you have an account — without an account, nothing in this table ever leaves your device.
| Key | What it holds | Synced to your account? |
|---|---|---|
spk_done | Which lessons you have marked complete | Yes |
spk_last | The last lesson you opened | Yes |
spk_streak | Your current daily streak | Yes |
spk_streak_best | Your best streak | Yes |
spk_srs | Your personal vocabulary — saved mistakes and whether you marked each word as learned | Yes |
spk_arena_best | Your best ranked Word Arena score | Yes |
spk_topics | How many exercises you have answered per lesson topic, and how many you got right — used to suggest what to practise. No individual answers, no timestamps beyond a date. | No |
spk_run | Your Verb Run best score, total gates cleared and number of runs | No — see below |
spk_schema | The version of the progress format, so old data keeps working | No |
spk_seen_welcome | That you have already seen the welcome box, so it is not shown again | No |
spk_nudge | How many times the optional "create an account" suggestion has been shown, and whether you switched it off | No |
spk_accents | That you hid the Polish letter bar, so it stays hidden | No |
spk_voice | Which Polish voice you picked for read-aloud, if you changed it | No |
spk_rate | How fast you asked read-aloud to be | No |
spk_last_sync | When your progress last synced, if you have an account | No |
None of this contains your name, your email address, your IP address or anything you have typed as free text.
What the two games send, exactly
The games are the one place where something is sent to the server outside the progress sync above, so it is worth being precise.
- Word Arena. Your best ranked score is part of the synced progress (
spk_arena_best) and is submitted to the leaderboard at the end of a ranked run. - Verb Run. The
spk_runcounters on your device are not synced and are never restored on another device — clear your browser and they are gone. Separately, at the end of a ranked run only (Normal mode, while signed in), the run submits three numbers: the score, the wave reached and the gates cleared. Relaxed runs are never submitted. Nothing is sent while you are signed out.
On the server, both games write to the same table. From it, the leaderboard makes public only: your nickname, your country flag if you chose one, your best score, the wave you reached and your total words or gates, for the top hundred players of each game. Everything else is private to you: how many games you have played, your synced lesson progress, your streak, your personal vocabulary, your email address and your email-updates preference. No other user can read any of it.
Because local storage lives in one browser, clearing your browsing data, switching browser or switching device will lose anything marked "No" above. The progress page lets you export the synced keys to a file and import them again elsewhere, and lets you delete them whenever you like.
16. Third parties your browser contacts
| Service | Where | What it receives |
|---|---|---|
| Google Fonts | All pages | IP address, browser details |
| Open-Meteo | Home page — the Warsaw clock and weather | IP address, browser details |
| Buy Me a Coffee | Only after you click the contribute link — no page loads anything from them | IP address, browser details; payment data only if you choose to contribute |
| Your browser's speech services | Pronunciation page (recognition), speaker buttons (synthesis) | Microphone audio / text to speak — see sections 13 and 14 |
| Supabase | Only if you create an account | Email address, password hash, your synced progress, nickname, chosen country |
| Vercel | All pages — hosting | IP address, browser details, page address, timestamp |
| X, Facebook, WhatsApp | Share links on the support page | Nothing unless you click a share link |
That is the complete list. There are no other embeds, iframes, pixels or trackers anywhere on this site.
17. International transfers
The companies in section 16 are global services and may process requests on servers outside your country, including in the United States. Each publishes its own transfer safeguards.
If you create an account, the account data described in section 7 is stored by Supabase in the region the project was created in, and may be accessed from outside your country. Without an account, no learning progress or account profile is transferred to Supabase; the ordinary hosting and external-resource requests listed in section 16 still occur.
18. How long things are kept
- Progress in your browser: until you delete it. It has no expiry date and nothing removes it automatically.
- Account data (Supabase): your email address, nickname, optional country, email-updates preference, synced progress and leaderboard scores are kept until you delete the account. There is no automatic expiry and no separate archive. Delete my account on the account page removes all of it — login, synced progress, nickname and every leaderboard entry — in one action, permanently and immediately.
- Leaderboard entries: deleted together with the account. They are not retained separately or anonymised and kept.
- Emails you send: kept while they are useful for replying to you or fixing what you reported, then deleted.
- Third-party data: retention is set by each company in section 16, under their own policies. Speak Polski has no control over it and cannot delete it on your behalf.
- Hosting logs: kept by Vercel according to their retention schedule.
19. Your rights
Depending on where you live you may have the right to access, correct, delete, restrict or object to the processing of your personal data, and to data portability.
If you have never created an account, Speak Polski holds nothing to which those rights could attach. If you have, it processes a limited amount of account data through Supabase, listed in section 7, and the rights below apply to it. Specifically:
- Access and portability: everything the site knows about your use of it is on the progress page, and you can export it as a file yourself, immediately. With an account, the synced copy holds the same data and nothing more.
- Deletion: the progress page erases your local progress and personal vocabulary. If you have an account, Delete my account on the account page removes your login, synced progress and leaderboard entry from the server permanently.
- Correction: your progress is yours to edit or reset at any time. Nickname, country and the email-updates preference can be changed on the account page.
- Objection and restriction: the only optional processing is email updates, which you can switch off in one click. Everything else exists solely to deliver the account you asked for; deleting the account ends it.
- Emails: ask at hello@speakpolski.com and any correspondence will be deleted.
20. Consent
Without an account there is nothing to consent to: no cookies, no advertising, no analytics. The only thing stored is your own progress, in your own browser, which you control from the progress page.
With an account there is exactly one thing you are asked to consent to, and it is email updates. It is off by default, never pre-ticked, never bundled into signing up, and switched off again in one click on the account page. The date you turned it on is recorded, so the consent can be evidenced and withdrawn cleanly. Creating the account itself is not consent-based — it is what you need for the service you asked for, and it ends when you delete the account.
21. Complaints
If you are unhappy with how your data has been handled, please email hello@speakpolski.com first — most things can be sorted out directly.
If you are in the EEA, the UK or another jurisdiction with a data-protection authority, you also have the right to complain to your national supervisory authority. Your own country's authority is normally the right one to approach.
22. Children
Speak Polski is a general-audience learning site and is not directed at children. Everything on it can be used without an account, and used that way it creates no profile or uploaded progress record.
Creating an account requires an email address, so it is not intended for children. There is no age verification. If you are a parent or guardian and believe a child has created an account, email hello@speakpolski.com and it will be deleted along with everything attached to it. A nickname is chosen by the user and shown publicly on the leaderboard — that is the only thing an account makes visible to others, and it does not have to be a real name.
23. Security
The site is served over HTTPS. Files you import on the progress page are read entirely inside your own browser, validated, and never executed or uploaded.
Accounts run on Supabase, which handles authentication and password storage. Every table has row-level security enabled, written so a signed-in user can only ever read and write their own row. The single exception is the leaderboard, which by design exposes nickname, country and score — and nothing else — for the top hundred players of each game. Your email address is never stored in any table this site can read; it lives only in Supabase's own authentication store and is not visible to other users.
This is a project run by one person. It follows sensible practice, but it is not audited, and no website can promise perfect security.
24. Changes to this policy
If services change, this page changes with them. The "last updated" date at the top always reflects the current version. Material changes will also be noted on the home page.
25. Questions
Anything at all about this policy: hello@speakpolski.com. A real person reads it.