LingoBinge

Privacy

What data LingoBinge collects, where it lives, and how to delete it.

Last updated: 28 June 2026

LingoBinge is a language-learning tool: a web app plus a Chrome extension that mixes target-language words into the subtitles you read while watching streaming video. This page covers everything both of them do with your data. The short version: by default everything stays on your device, and the only thing that ever leaves it is the subtitle line being translated.

What stays on your device

Your entire learning history lives in your browser's local storage (IndexedDB):

  • Vocabulary cards you've mined (word, translation, sentence, source)
  • Spaced-repetition state (FSRS-5 stability, difficulty, due dates)
  • Watch sessions (duration, cue counts, last position)
  • Settings (font size, density, playback speed, etc.)

If you never sign in, none of this is synced anywhere. Clearing your browser data deletes it permanently, so export to Anki regularly if you want a backup.

What gets sent to LingoBinge's servers

When you watch a subtitled video (in the player or via the extension), LingoBinge sends the English subtitle line to our API on Cloudflare Workers. The API translates the line with Cloudflare Workers AI (Meta's M2M-100 model) and uses Anthropic's Claude to align the translated words to your level; both receive the subtitle text solely to return the graded cue. We don't log the subtitle text or your watch history. To prevent abuse, the API counts each day's requests against a one-way hash of your IP (the raw address is never stored by us). Cloudflare's edge also keeps short-lived request logs (method, URL, and status code only). Translations (keyed by a one-way hash of the English line, not the text itself) are cached on Cloudflare for up to 90 days so repeated lines return instantly.

If you are signed in (see below), the request also includes a compact list of which words you already know, just a set of [word, level] pairs for the target language, so the grader can skip words you've mastered. It contains no sentences, no personal data, and no identifiers beyond the word list itself.

Signing in (optional) and cloud sync

The current Chrome extension is fully anonymous: it requires no account, requests no cookie access, and grades subtitles without you ever signing in. Sign-in is an optional web-app feature that adds cross-device sync; the extension will be able to share that sign-in in a future version. When you choose to sign in on the web app:

  • Authentication is handled by Clerk. Clerk stores your email address (and, if you use a social login, the basic profile your provider returns) and manages your session. Clerk's handling is governed by their policy: clerk.com/legal/privacy.
  • Your mined flashcards, word-knowledge state, and settings are synced to our Neon Postgres database so they follow you across devices. This is the same data already on your device, encrypted in transit (TLS) and at rest.

What goes to third parties

  • Cloudflare Workers AI (Meta's M2M-100 model) receives the subtitle line to translate it, processed solely to return the translation (cloudflare.com/privacypolicy).
  • Anthropic (the LLM provider) receives the subtitle line and its translation to align the words to your level (anthropic.com/legal/privacy).
  • Clerk โ€” authentication for the optional web-app sign-in only (email + session); not used by the anonymous extension.
  • Cloudflare, Neon, and Vercel host the API, database, and web app; they see standard access logs (IP, request method, URL) needed to serve traffic.
  • Sentry โ€” crash + error monitoring with masked session replay on errors (details below).
  • No analytics, no tracking pixels, no advertising, and no selling of data. LingoBinge does not use your information for anything other than running the features above.

Limited use

LingoBinge's use of data received from the extension adheres to the Chrome Web Store User Data Policy, including its Limited Use requirements. We only use the data described above to provide and improve LingoBinge's features, never to sell or transfer it for unrelated purposes, for advertising, or to determine creditworthiness.

Error monitoring

To find and fix crashes we use Sentry. When something errors, Sentry records the error and a short replay of the session around it so we can reproduce the bug. All text and media in those replays are masked, so your mined words, translations, and learning progress are never readable in a replay. We do not record normal, error-free sessions. Error events and replays are retained by Sentry for 30 days. The Chrome extension also sends anonymous breakage beacons (for example, "subtitle container not found") that contain no personal data. Sentry stays off entirely unless error monitoring is configured.

How to delete your data

On-device: open Chrome DevTools โ†’ Application โ†’ IndexedDB โ†’ delete the echo database, or clear your browser data for the LingoBinge domain. If you signed in, open Settings โ†’ Danger zoneand choose "Delete account & data" to erase everything instantly: your synced flashcards, word progress, and settings are removed from our database and your Clerk sign-in account is deleted. You can also email the address below and we'll do it for you.

Contact

Questions, requests, concerns: email lachlan.mcritchie@gmail.com.

LingoBinge is an independent project and is not affiliated with, endorsed by, or sponsored by Netflix or any other streaming service. "Netflix" is a trademark of Netflix, Inc., used here only to describe where the extension works.