CoursifyYT is a browser extension (and accompanying website) that turns a
YouTube channel into a structured visual course — shown in a panel right on
the YouTube page, as a bar of course chips on your YouTube feed, or in the
extension popup. It also reads a video's own captions on request, for a
readable transcript and for timestamped per-video Overviews. This policy
explains what data the extension handles and how. CoursifyYT has
no accounts and does not sell your data. There are two ways
to use it, and they handle data differently:
With your own AI key (recommended for regular use): the
channel you submit is crawled on our backend (using our YouTube key), and
the AI grouping then runs in your browser using your key. Your key never
leaves your device.
Free tier (no API key): to remove the setup hurdle, you
can run a limited number of courses per day on our keys. In this
mode the channel you submit is processed entirely on the CoursifyYT
backend, and we process your IP address to enforce the rate limit. See
section 4.
No accounts, no sign-up.
Use it free with no key (limited), or add your own AI key for unlimited use.
Your own key always stays on your device.
1. Your API keys
You do not need a YouTube key — CoursifyYT crawls channels
for you using our own YouTube Data API key. You may optionally provide your
own AI provider key (Mistral, OpenAI, or Google Gemini) to
organize the course and to build per-video Overviews, and optionally a
separate Gemini key used only for the Overview fallback
(for videos with no usable captions). When you do, these keys are stored only in your
browser's local extension storage (chrome.storage.local /
localStorage). They are never sent to any server operated by the
developer. They are used solely to make requests directly from your browser
to the respective AI provider on your behalf. If you use the free tier
instead, you provide no keys at all — the requests are made by our backend
using our keys (see section 4).
2. What data is processed
Channel and video data: The channel URL you enter — or
the channel of the YouTube page you're viewing, which the extension can
detect automatically — and the public video metadata (titles and
descriptions) of that channel, are fetched and processed to build your
course. Channel crawling always runs on our backend; the AI grouping runs
in your browser when you use your own key, or on our backend when you use
the free tier (section 4).
On-page panel and feed bar (content script): To show your
course beside the video, the extension runs a content script on
youtube.com pages. It reads the current page's public channel
and video identifiers to know which course and lesson to display, and — on
a watch page — observes the current video's playback position so it can
tick a video off as watched at 80% and, if you leave autoplay on, move to
the next video in your course. On the YouTube home and Subscriptions feeds
it renders a bar of chips for the courses you already have; on the
Subscriptions feed it also reads the channel links already present on that
page to suggest channels you could turn into a course. All of this happens
locally in your browser; the only network requests it triggers are the same
channel-crawl and Overview requests described elsewhere in this policy. It
does not read your history, other tabs, or any page outside YouTube.
Video captions / transcripts: When you click
Transcript on a video (or run a batch for a course), the
extension reads that public video's own caption track from YouTube in your
browser and stores it locally on your device. The Transcript feature uses
no AI, no key and no server — nothing is sent anywhere.
Captions are only transmitted when you separately request an
Overview for that video (next bullet).
Per-video Overviews (optional): When you request an
Overview, the extension first reads that video's captions in your browser
and sends them to an AI provider to be summarized into a timestamped
outline — to your chosen provider directly using your own key, or to the
CoursifyYT backend if you're on the free tier (see section 4). If the
video has no usable caption track, we fall back to asking Google Gemini to
watch that public video's URL instead. Only the video's public captions (or
its public URL) are sent; nothing about you is included.
Generated course: The resulting curriculum, your
watched-video progress, your saved transcripts and Overviews, and your
preferences (theme, autoplay, panel width, pinned course chips) are saved
locally in your browser so they persist between sessions. You can clear
them at any time from the extension.
3. Network requests
When you use your own AI key, the extension makes requests to:
coursifyyt.com — the extension sends the channel's public
identifier to the CoursifyYT backend, which crawls the channel's public
uploads (using our YouTube Data API key) and returns the video list, and
which also serves cached, pre-computed courses as a performance
optimization. Your AI keys are never sent in these requests. On the free
tier, this is also the server that generates your course — see
section 4.
your chosen AI provider — the extension sends video titles
and descriptions directly from your browser (using your key) so the videos
can be grouped and ordered, and — when you request an Overview — that one
video's captions so they can be turned into a timestamped outline.
Depending on which provider you select, this is
api.mistral.ai (Mistral),
api.openai.com (OpenAI), or
generativelanguage.googleapis.com (Google Gemini).
generativelanguage.googleapis.com — for the Overview
fallback (a video with no usable captions), if you have your own Gemini
key, the extension asks Gemini (using your key) to watch that public video
and return a timestamped outline.
youtube.com — reading a video's caption track and the
current page's channel/video identifiers happens against YouTube itself,
from your browser, exactly as the page you are already viewing does. We
never ask you to sign in to YouTube and never read who you are.
Data sent to Google and the AI provider is governed by those services' own
privacy policies.
4. The free tier (running on our keys)
If you choose the free, no-API-key option, your course is generated on the
CoursifyYT backend instead of in your browser. Because there is no account,
we apply usage limits to keep the shared service available and within budget.
In this mode:
What is sent to us: the channel URL/identifier you submit
(and, for a per-video Overview, the video's public ID). Our backend then
fetches that channel's public video metadata (titles and descriptions) and
sends it to a third-party AI provider — using our keys, on our server —
which acts as our sub-processor and is bound by its own privacy policy.
Only public YouTube content is sent — never your IP address, identity, or
anything about you.
Video captions, for Overviews only: because YouTube
restricts programmatic caption access, the captions are read in
your browser and then posted to our backend so our AI key can
summarize them. This happens only when you press Overview on a specific
video, only for that video's public captions, and only on the free tier —
with your own key the same request goes from your browser straight to your
provider and never reaches us. Overviews on our shared keys are capped per
course and per day.
Your IP address: we process your IP address solely to count
your daily usage and enforce the per-IP limits. It is stored only in a
short-lived daily counter that automatically expires (within about two
days). It is not used to build a profile, is not linked to your courses,
and is not shared.
Aggregate analytics: we keep a non-identifying tally of how
often each channel is requested (channel title and a counter) to understand
demand and detect abuse. Where that tally counts distinct requesters, the IP
address is stored only as a one-way salted hash, never in
the clear. This contains no user data.
Generated courses may be cached on the backend by channel
(the same optimization in section 3) so the same channel need not be
re-processed. Cached courses contain only public channel/video data.
Prefer unlimited use? Add your own free AI key and the free tier is bypassed
entirely.
5. Data we do not collect
CoursifyYT has no user accounts and does not collect names, email addresses,
browsing history, health/financial information, authentication credentials,
or precise location data. Aside from the short-lived, rate-limiting use of
your IP address described in section 4, we do not track or profile you.
We do not sell or transfer your data to third parties, or use it for any
purpose unrelated to the extension's single purpose.
6. Permissions the extension requests
youtube.com access — draw the in-page panel and the feed
course bar, read the page's public channel/video identifiers, and read a
video's caption track when you ask for a transcript or an Overview.
storage / unlimitedStorage — keep your courses,
progress, transcripts, Overviews and settings on your device (a large
channel's course can exceed the default quota).
tabs and scripting — read the channel/video ID
from the YouTube page you're on, and read captions from a YouTube tab
(opening a hidden, muted one only when the video isn't already open).
activeTab — prefill the popup from the YouTube channel tab you
currently have open. Prefill only; it never starts a run by itself.
notifications — tell you when a course has finished building.
The AI provider domains and coursifyyt.com — the network
requests described in sections 3 and 4.
There is no analytics SDK, no advertising identifier and no third-party
tracker in the extension.
7. Data retention & deletion
Your API keys, saved courses, transcripts and progress are stored locally —
removing the extension, or clearing its storage, deletes them from your
device. Stored transcripts additionally prune themselves automatically
(oldest first, after 60 days or once they exceed 500 documents or 20 MB).
On the free-tier backend, rate-limit counters (including the IP-based daily
count) expire automatically within about two days; aggregate channel tallies
and cached courses and Overviews contain no personal data. For deletion
questions, contact us below.
8. Voluntary contributions (“Support us”)
CoursifyYT is free. If you choose to support the project, the
“Support us” link opens a payment page hosted by
Razorpay, our third-party payment processor. Any payment
details you enter there are collected and processed by Razorpay under
their privacy policy;
CoursifyYT never sees or stores your card, bank, or other payment
information. Contributions are voluntary, are not required to use any
feature, and unlock no paid functionality.
9. Changes to this policy
We may update this policy from time to time. Material changes will be
reflected by the "Last updated" date above.