Privacy Policy

TextReadsFast for YouTube — browser extension

Last updated: 20 August 2026

The short version: the extension reads YouTube's own caption tracks and shows them back to you differently. That happens entirely inside your browser.

The one feature that sends anything anywhere is the Read Mode assistant. It is off until you supply your own API key, and it sends to a provider you choose.

There is no server operated by this project. There is no account, no analytics, no telemetry, no advertising, and nothing is sold or shared with anyone.

What the extension stores, and where

Data Where it lives Leaves your device?
Reading settings and profiles chrome.storage.sync Only via Chrome's own account sync, if you have it on
Your AI API key chrome.storage.local Nolocal is never synced
Chosen model, provider URL, summary prompt chrome.storage.local No
Device preferences (stats tracking, export folder…) chrome.storage.local No
Read Mode sessions: notes, summaries, chat history The extension's own IndexedDB No
Study stats: watch time, coverage, rewatch counts The extension's own IndexedDB No

Everything above stays on your computer. Uninstalling the extension removes it.

A note on chrome.storage.sync: this is Chrome's built-in setting-sync mechanism. If you are signed into Chrome with sync enabled, Google replicates those values to your other devices under your own Google account. That is Chrome's feature, not this project's, and it covers only reading settings and profiles — never your API key.

What is sent over the network

By the reader: nothing

The reader obtains captions from YouTube, on pages you have already opened, by two routes: requesting the caption track named in the page's own player response, and observing the caption data the YouTube player fetches for itself.

Both are requests to YouTube, for a video you are already watching. No copy of any transcript is transmitted anywhere else, and no record of what you watch is sent off the device.

By the Read Mode assistant: only after you opt in

The assistant is inert until you enter an API key in the extension's settings. Once you have entered one:

That is the complete list. Your notes are not sent. Your library, stats and settings are not sent. Nothing is sent for videos you do not open Read Mode on.

Requests are made by the extension's service worker directly to your provider. They do not pass through any server belonging to this project, because there isn't one.

Your provider's privacy policy governs what happens to that data once it arrives. If you use OpenRouter, read their privacy policy — and note that OpenRouter in turn routes to whichever model vendor you select. You can point the extension at any OpenAI-compatible endpoint, including one you run yourself, by changing the base URL in settings.

Deleting your API key stops all of this. The assistant returns to doing nothing, and the rest of the extension is unaffected.

Permissions, and why each is needed

Permission Why
storage, unlimitedStorage Save settings, profiles, notes, sessions and stats locally. Transcripts of long videos are sizeable.
downloads Write the Markdown file when you press Export. Used only at that moment.
*://*.youtube.com/* Read captions and place the reader over the player. The extension runs on YouTube and nowhere else.
https://openrouter.ai/* (optional) Talk to the AI provider. Requested when you first save a key, not at install.
https://*/* (optional) Only if you point the assistant at a different OpenAI-compatible provider. Never requested otherwise.

The optional permissions are genuinely optional: Chrome does not grant them at install time, and the extension is fully usable as a reader without ever granting them.

What the extension deliberately does not do

Children

Not directed at children, and it collects nothing from anyone.

Your control

Changes

Material changes will be reflected here with a new date, and noted in the extension's release notes.

Contact

Open an issue at github.com/ravandohq/privacy-policy/issues.