Privacy policy

Last updated 15 November 2026

tendi is a free listening-practice app at tendi.club. It has no accounts, no ads and no analytics. This page explains the little data it does handle.

Who runs tendi

tendi (tendi.club) is a small independent project. It decides how the data described on this page is handled. To ask a question or use any of your rights, use the feedback form. Choose "other" and say what you need. The form is anonymous, so if you want a reply, include a way to reach you in your message.

What stays on your device

Your streak, XP, daily progress and settings (interface language, language you practise, difficulty, theme) are stored in your browser, using one cookie, IndexedDB and localStorage. We never receive this data and cannot see it. Clearing your browser data deletes it. See the cookie notice for details.

What we process on our servers

  • Translation checks. If you take the bonus round, the text you type and the clip it relates to are sent to our server and then to an AI model that grades it. The verdict is cached for up to a week so the same answer to the same clip is not graded twice. The cache is keyed by a one-way hash of the clip and the answer and is not linked to you. Please don't type personal details into the answer box.
  • Feedback. If you send feedback, the message and the category you chose are forwarded to a private chat channel the owner reads. The form has no name or email field. Please don't put personal details in it. We keep the message for as long as it is useful for improving the app, and delete it on request if you tell us roughly what and when you sent it.
  • Usage limits and abuse protection. To stop bots and keep the free AI allowance from running out, we count translation checks and feedback messages per visitor per day. The count is keyed by a one-way hash of your IP address mixed with a random secret, not the address itself. A new secret is made each day (UTC), and the old one is deleted together with that day's counts shortly after the day ends, after which the counts cannot be linked to an address by anyone. Until then the hash is pseudonymous personal data, not anonymous data: it singles out one address for the day. The server also uses your IP address, country and network in the moment to rate-limit and block abusive traffic. This is not stored by us.
  • Standard server logs. Our hosting provider, Cloudflare, handles every request and keeps operational logs (such as IP address, time, and page requested) for security and troubleshooting, under its own retention rules.

Why we do this (legal bases)

If you are in the UK or EU/EEA, the legal bases are:

  • Providing the service you asked for (contract): translation checks.
  • Legitimate interests: abuse prevention, rate limiting, security, and reading feedback to improve the app. We keep this to the minimum needed.
  • Your device storage: the cookie and local storage hold only what the app needs to remember your progress and preferences, which you requested by using it. We use no tracking or advertising cookies of our own.

Who else handles data

  • Cloudflare hosts the site, runs the server code and the AI model (Workers AI), and stores the short-lived usage counters. Data can be processed in Cloudflare's global network, including outside the UK and EU/EEA, under Cloudflare's data processing terms and standard contractual clauses.
  • YouTube (Google) provides the audio. Clips play through YouTube's embedded player, which loads when you open a practice screen. We use YouTube's privacy-enhanced mode (youtube-nocookie.com), in which YouTube says it sets no cookies and does not use your viewing to personalise your YouTube account. YouTube still receives your IP address and device information, and may keep data in your browser's storage once a clip plays, under Google's privacy policy. We do not control that data.
  • A chat service (Discord or Slack) receives feedback messages.

We do not sell your data and we do not use it for advertising or profiling.

How long we keep things

  • Translation text: not stored. Cached verdicts: up to a week, not linked to you.
  • Usage counters: until shortly after the UTC day ends.
  • Feedback: until it is no longer useful, or until you ask us to delete it.
  • Cloudflare logs: per Cloudflare's own retention.
  • Progress and settings on your device: until you clear them. The cookie lasts up to 400 days and renews each time you practise.

Your rights

Depending on where you live (for example under the UK GDPR, EU GDPR, Brazil's LGPD or California's CCPA/CPRA), you may have the right to access, correct, delete or restrict the data we hold about you, to object to processing, and to complain to your data protection authority. Because we hold almost nothing that identifies you, we often cannot find your data unless you tell us what you sent and when. You can delete everything stored on your device at any time by clearing this site's data in your browser. In the UK, you can complain to the Information Commissioner's Office (ico.org.uk).

Children

tendi is meant for people aged 16 and over. We do not knowingly collect data from younger children. If you think a child has sent us something, tell us and we will delete it.

Security

The site is served only over HTTPS and uses standard protections against abuse. No system is perfectly secure. If you find a security problem, please report it through the feedback form.

Changes

If we change what we collect, we will update this page and its date before the change goes live.

Back to tendi

Level 1

Fresh Ears

0 XP

100 XP to level 2

0 day streak

How you earn XP

  • 10 XP for every word you hear correctly
  • Words in a row raise a multiplier, up to ×5
  • Up to 50 XP for translating a clip
  • 100 XP for finishing the bonus round