Privacy Policy — AI Context-Aware Subtitle Translator

Last updated: 2026-09-08

The developer does not operate a translation server. Translation and viewing data are not automatically sent to the developer. Processing happens locally or through an AI/translation service you choose and configure, directly or through the optional local helper. If you choose to submit a problem report, the developer receives that report as described below.

What gets sent, and to whom

1. The AI translation service you configure

To generate a translation, the extension sends:

directly from your browser to whichever AI service you have configured in Settings:

In every case, this data goes straight from your browser (or your local helper program) to that service's own servers under that service's own privacy policy and terms. It never passes through, or is retained by, any server operated by this extension's developer — because there isn't one.

2. DeepL (optional machine-translation fill layer)

If you add a DeepL API key in Settings, the extension may also send subtitle text directly to DeepL's API — either as your chosen translation engine, or as a fast fill-in layer that covers upcoming lines while the AI backend catches up. This goes straight from your browser to DeepL under DeepL's own privacy policy and terms. DeepL is only contacted if you configure a key; otherwise this never happens.

3. Audio subtitles / speech-to-text (optional, per tab)

If a video has no usable subtitle track, you can start "audio subtitles" for that tab. Only after you explicitly start it, short chunks of that tab's audio are captured and sent to the speech-to-text endpoint you've configured in Settings — by default OpenAI's hosted Whisper API, or any OpenAI-compatible endpoint you specify, including a self-hosted server. This does not start without your action, and only the tab you selected is captured.

4. Public reference lookups for optional show context

When the extension recognizes a title, it may look up the title only (never your subtitle or dialogue text) on public reference sources — Wikidata, Wikipedia, and TVMaze — to enrich translation context with publicly available cast/character information. These are read-only, public lookups; no subtitle content is ever sent to them.

5. Optional problem reports

The popup's feedback link opens a Google Form with the extension version, translation language, connection/engine type and interface language pre-filled. The current page URL and title are included only if you select the source-page checkbox, which is off by default. Opening the form sends these fields to Google in its URL query. You can edit the form before submitting, but this does not undo the URL data already sent to Google. The developer receives the report when you press Submit; Google's privacy policy applies to the form.

What is stored locally

These records are stored locally in your browser's extension storage. Relevant context and content can be included in the requests described above. API credentials authenticate only their configured endpoint; the pairing token authenticates the local helper. The developer has no automatic access to this storage.

What we don't do

Your controls

Supported sites have the access listed in the manifest. Other sites can be activated individually; the optional automatic-detection setting can request all HTTP/HTTPS sites with your approval through Chrome. Endpoint access follows the configured service. The optional audio feature is started separately per tab.

Contact

Questions about this policy: open an issue at github.com/zephyranthes03/ai-context-aware-subtitle-translator/issues.