Skip to content

Privacy

Short, because there is not much to say.

What stays on your device

Your settings and your recent words are stored in your browser's local storage, under the keys pl_prefs_v1 (accent, voice, speed, theme) and pl_history_v1 (the words you looked up). Saved words, practice counts and quiz scores use lp:saved, lp:practice, pl_lists_v1 and pl_quiz_v1, and your answer to the consent banner is kept in pl_cookie_consent. All of it is local storage on your device, not cookies, and the app never sends any of it anywhere. Clear everything in Settings removes it.

Playing a device voice involves no network request at all — your browser speaks it locally.

What is sent to the server

Playing a server voice sends one request containing the word you typed and the voice you chose. That is the whole payload — speed is not sent. It is applied in your browser to the clip that comes back, so all three speeds are the same recording played at different rates.

That endpoint, /api/say, is rate-limited per IP address, purely to stop one client flooding the synthesiser. The count is a best-effort counter in the edge cache, keyed by a truncated hash of your address rather than the address itself, and it is never written to a database or a log.

Analytics, and how to switch it off

We would rather be straight with you than claim a purity we don't have: this site uses two third-party analytics providers — Google Analytics 4 (measurement ID G-3QMNJTBEBD) and Microsoft Clarity (project y7guya9gyu) — to count how many people visit and which pages they read. Both collect through their own scripts, so under the ePrivacy Directive they need your consent — and they get it, together, on one banner.

Neither script is loaded until you press Accept on the banner. Press Decline, or simply ignore the banner, and no request is ever made to Google or Microsoft and no analytics cookie is ever set. Your choice is stored in pl_cookie_consent; clearing your browser storage for this site brings the banner back so you can change it.

If you do accept, one consequence matters here: an analytics provider receives the URL of the page you are on, and a word page's URL contains the word — /word/colonel. So the pages you read can reveal individual words to that provider. Your stored lookup history itself is never sent; the provider sees page URLs as you browse, not the list in pl_history_v1.

Apart from those two providers, nothing else on the page is third-party. There are no advertising, social or fingerprinting scripts, and no data broker gets anything, because nothing is collected to sell.

What is never collected

No accounts
There is nothing to sign in to, and no email is ever asked for
No advertising
No ad network, no retargeting pixel, nothing sold or shared
No cookies of our own
The app itself sets none — only the analytics providers you accept do
No word history collection
The stored list of looked-up words never leaves your browser — see Analytics above for what an accepted provider does receive

Server logs

Whoever operates this instance controls its logs. A standard web server records IP addresses and requested URLs, and a synthesis request has the word in its URL. If you run this yourself, that is yours to configure.