PolyTubePolyTube
Back to home

Privacy Policy

Last updated: 2026-06-15

PolyTube is a browser extension that translates YouTube captions in real time. It runs in one of two modes, and what data leaves your device depends on which mode you choose. This policy explains exactly what each mode does.

The two modes

You can switch modes at any time in the Options page.

  • Shared mode (default): translation is performed by the PolyTube backend (https://tox1ng4u.polytube.biz). The backend holds the LLM API key, keeps a shared cache of captions/translations, and enforces a free-trial quota. In this mode caption text IS sent to the PolyTube backend.
  • Bring-your-own (BYO) mode: you configure your own LLM provider and API key. Translation requests go directly from your browser to that provider; they do not pass through the PolyTube backend.

What the PolyTube backend receives and stores (Shared mode)

When you translate in Shared mode, requests are sent to the PolyTube backend. It stores:

  • An anonymous device id — generated once on install (a random UUID), stored on your device, sent with every request to enforce the free-trial quota. It contains no personal information and is reset by reinstalling.
  • Free-trial usage — one record per (device, video) you translate, used to count distinct videos against the trial limit. Re-translating the same video is free and adds no record.
  • Caption text and translations — the original captions for a video and their translations are cached server-side, keyed by video id and target language, so later users can skip re-fetching and re-translating. This cache is shared and is not tied to your identity.
  • Usage logs — each translation call is logged with: device id, user id (if signed in), video id, target language, segment count, success/error status, and the request IP address. These power the free-trial/abuse guardrails and the maintainer dashboard.

What we store if you sign in (optional)

Signing in is optional and only used to lift the anonymous free-trial limit. Sign-in uses Google OAuth (chrome.identity) with the “openid email profile” scope. From Google we receive and store your Google account identifier (sub), email address, and display name. We never receive or store your Google password. You can sign out at any time, which clears the session token from your device.

What we store if you send feedback (optional)

If you use the in-app feedback form, we store what you submit: an optional rating, category, optional contact email, your message text, and automatically collected context (extension version, target language, mode, browser user-agent, and the current video id). This is used solely to respond to your feedback.

What stays on your device

The extension uses chrome.storage.local (per-profile, per-machine) for:

  • LLM provider configuration (preset choice, API key, base URL) — BYO mode.
  • Target language and subtitle appearance settings (font size, color, position, opacity).
  • Glossary entries you add in Options.
  • The anonymous device id and, if signed in, your session token and profile.
  • Whether you have dismissed the one-time hotkey tip.

On-device cache (IndexedDB)

The extension uses IndexedDB to cache fetched captions and translations so re-opening a video does not re-fetch or re-translate. You can wipe all local data from the “Cache & backup” section of the Options page.

What the extension sends over the network

  • In Shared mode: caption text and the request metadata above are sent to the PolyTube backend over HTTPS for translation.
  • In BYO mode: caption text and your API key are sent directly to the LLM provider you configured (Anthropic, OpenRouter, DeepSeek, Groq, or a custom HTTPS endpoint). In this mode the PolyTube backend is not used for translation and never sees your provider key.
  • YouTube caption files — when not already cached, fetched over HTTPS from YouTube for the video you are watching.
  • All endpoints are restricted to HTTPS by the extension manifest. There is no fallback to plain HTTP.

What the extension does NOT do

  • Does not read or modify pages other than YouTube watch pages.
  • Does not collect browser fingerprints or advertising identifiers.
  • Does not embed third-party analytics, ad SDKs, or trackers.
  • In BYO mode, does not transmit your API key anywhere except the LLM endpoint you selected.
  • Does not sell your data or share it with third parties for advertising.

Third-party providers (BYO mode)

When you configure your own provider, your translation traffic is governed by that provider's privacy policy (Anthropic, OpenRouter, DeepSeek, Groq…). PolyTube cannot influence what those providers retain. Review their policies before sharing sensitive content.

Exporting and importing settings

The Options page can export your settings to JSON for backup. The export always strips API keys — you must re-paste the key after importing on a new machine. This prevents accidentally sharing the key by sending a settings file.

Children's data

PolyTube is not directed to children and does not knowingly collect data from them.

Data retention and deletion

You can clear all local data from the Options page at any time. Reinstalling the extension resets your anonymous device id. To request deletion of server-side data associated with your account or device, contact us using the details below.

Changes to this policy

Material changes will be announced in the GitHub release notes and via a banner in the Options page. The “Last updated” date above always reflects the version included with the extension you are running.

Contact

For any questions, please email support@polytube.app.