Privacy & data use
2026-09-24This notice covers the LingoEcho browser extension and the website and API services it uses. Review these data uses before choosing whether to enable the learning tools.
- Read the current YouTube video URL, title, channel, playback position and subtitles for the learning tools; send the video identifier to LingoEcho when backend subtitles are needed.
- Use your website sign-in session to load your account, membership and language settings; sync folders, saved items and settings when you use those controls.
- Send relevant text, subtitle context, language settings and speech to LingoEcho and the AI services listed below when you use translation, explanations, audio or chat.
- Use the microphone only after you start recording or voice chat. Shadowing uploads audio for transcription and scoring and automatically saves practice results and recordings (see storage details below).
- Ordinary webpages are identified locally in the current tab by default. Data is sent only when you explicitly use an online learning feature, save the article, or choose the Supadata fallback.
- Google Meet caption capture stays local by default. Only after you separately turn on translation are new stable caption fragments and the target language sent to LingoEcho and its AI translation provider; speaker names, avatars, meeting links and microphone audio are not sent.
- Meeting cues are off by default. After you separately enable them, new short caption fragments and up to three recent fragments are sent through LingoEcho to TypeSafe Jev to identify possible invitations, decisions or commitments; speaker names, avatars, meeting links and microphone audio are excluded.
AI processors: Google, Microsoft Azure Speech, Groq, OpenAI and TypeSafe Jev (depending on the feature).
Recording storage: saved audio can be accessed by link. Automatic expiry and self-service deletion of individual recordings are not yet available. Avoid sensitive content and contact LingoEcho for deletion requests.
Data and purposes
Video URLs, titles, channels, subtitles and timestamps connect the player, display subtitles and generate learning content. Account identifiers, email, membership and language settings support sign-in, quota checks and synchronization. Submitted text, speech, transcriptions, scores, conversation context, saved items and practice records support the learning features you use and your learning history. Service requests also produce operational logs such as IP addresses, request times, statuses and errors for operation and troubleshooting.
Third-party processing
Depending on the feature and availability, LingoEcho uses Google (Gemini / Cloud TTS for translation, explanations, feedback and speech), Microsoft Azure Speech (pronunciation assessment), Groq (transcription and text AI), and OpenAI (voice chat, transcription or speech). Website/API hosting providers, including Fly.io and Vercel, process requests and stored data; saved recordings use Vercel Blob. YouTube supplies the original video and native captions. Not every request goes to every provider: the selected processing path receives the data needed for that feature. Provider retention depends on their service terms and LingoEcho account configuration; this notice does not promise zero retention or exclusion from model training by providers.
Local storage, session and permissions
Chrome local storage keeps theme and subtitle preferences and the version and time of your consent. Subtitles and generated audio may also be held in memory or browser caches. Website session cookies accompany requests to LingoEcho; the extension does not separately store sign-in tokens in Chrome extension storage. sidePanel displays the sidebar; storage remembers local preferences. scripting connects to the YouTube player and captions. On ordinary webpages, activeTab and scripting run only after you open the sidebar or trigger webpage learning, and temporarily read the DOM in the current tab for local article identification. The script is not persistent, the manifest does not request <all_urls>, locally identified article text is not uploaded automatically, and browsing history is not recorded.
Storage and deletion
Folders, saved items, language settings and practice results are stored with your LingoEcho account and are not removed by closing the sidebar or uninstalling the extension. Shadowing currently saves recordings using publicly accessible links with randomized filenames; anyone with a recording link may be able to play it. There is currently no automatic recording expiry or self-service deletion of individual shadowing recordings. Account deletion removes associated database records but does not guarantee deletion of separate audio files. Use the contact link below to request deletion of cloud data or recordings. Service logs, backups and provider retention are separate from account deletion and require confirmation; immediate erasure is not promised.
Your choices
You can decline to enable the extension or withdraw consent through Privacy in Settings. Withdrawal stops subsequent learning processing in this extension; it does not undo completed requests or delete previously saved cloud data. You can revoke microphone permission in Chrome and your operating system. No recording starts until you use a recording feature; the initial browser permission check only checks access and does not save or upload that check’s audio. Changes to data use require an updated notice and renewed consent.
Read this page
When you open the sidebar or trigger webpage learning, the extension uses activeTab and scripting to temporarily read and identify the ordinary webpage DOM locally in the current tab. The script is not persistent, the manifest does not request <all_urls>, and local identification does not upload the article text. Text or speech required for a feature is sent to LingoEcho and the relevant processors only when you explicitly use translation, dictionary lookup, TTS, shadowing, voice chat, or saving. If local identification fails, you may explicitly choose the Supadata fallback; it sends only the public webpage URL and no browser cookies. You can save an article to an account folder and associate learning records with that article.
Google Meet live captions
Opening the meeting side panel does not start reading captions. After you select Start capture, activeTab and scripting temporarily read the meeting’s caption DOM and display a live transcript and available speaker avatars in browser memory. Initials replace unavailable avatars. Caption capture itself does not use the microphone, record audio, upload captions or save the transcript to your account. Translation is off by default. Only after you separately select Turn on translation are new stable caption fragments and your target language sent through your sign-in session to LingoEcho and its AI translation provider; this feature requires Basic or Premium membership. Translation requests do not include speaker names, avatars or the meeting link; captions captured before translation was enabled are not automatically sent. Turning off translation, stopping capture or closing the side panel stops future requests and cancels in-flight browser requests, but cannot undo requests already processed by the service. The extension displays transcripts and translations in memory rather than saving them as account meeting records; service logs and provider retention follow the other parts of this notice. Stopping capture or closing the panel stops reading new captions. Local transcripts disappear when the meeting tab closes.
Google Meet meeting cues
Meeting cues require Basic or Premium membership. Only new stable captions produced after you separately enable Meeting cues are sent; earlier captions are not uploaded automatically. A request contains a short current fragment and up to three recent post-opt-in fragments, without speaker names, avatars, meeting links or microphone audio. The LingoEcho backend submits this text to TypeSafe Jev for typed judgments; the extension does not hold the Jev API key. Cues first appear as possible and may be confirmed or disappear as evidence changes. They can be wrong; check the original speech before relying on an important decision. Turning cues off, stopping capture or closing the panel stops future requests and cancels in-flight browser requests, but cannot undo requests already processed. The extension displays cues in memory instead of saving them as account meeting records; operational logs and provider retention follow the rest of this notice.
Website analytics
We use Google Analytics 4 to understand visits, registration, onboarding and use of learning features. After sign-in, a randomly generated account analytics ID links these events. This is a pseudonymous identifier, not fully anonymous data. These events do not include email, name, learning text, answers, recordings or original content URLs. Google Analytics uses browser identifiers and cookies for measurement. Signing out clears the account analytics ID for subsequent events. The website respects browser Do Not Track and Global Privacy Control signals.
