Keepframe is a Chrome browser extension that works as a YouTube learning companion: a pre-watch check before you
commit your time, Live Frames beside the player, transcript access, and AI-generated study materials
(Brief, Study Notes, Full Summary) shown alongside the video you are watching. The service is provided by Keepframe (keepframe.one), which
acts as the data controller for the processing described in this policy. This policy explains what data
Keepframe processes, why, and who processes it on our behalf.
We designed Keepframe to work without accounts. We do not ask for your name, email
address, or any profile information to use the product.
1. What We Process
Random installation identifier — when you first use Keepframe, the extension generates a random identifier (a UUID) and stores it locally in your browser; it is sent with requests to our backend. It lets us apply your plan limits and, if you subscribe, associate your subscription with your installation. On its own it does not tell us who you are. Because it is stable and tied to your use of the service, we treat it as pseudonymous data rather than anonymous data. If you subscribe, it is linked to your subscription: Stripe holds the email address you give at checkout, and we store Stripe’s customer reference together with your installation identifier (see "Payments").
Usage metering — we record how many analyses your installation identifier has run (to enforce the monthly allowance on the Free and Pro plans, and the daily safeguards that apply on every plan, including Power) and basic usage events, tied to your installation identifier, used to monitor service health, detect abuse and understand how Keepframe is used — for example, which language you use it in (the language of your results, of the Keepframe interface and of your browser). For videos you choose to analyze, we also record the video’s YouTube category (for example, “Education”). To understand whether Keepframe helps with the videos you watch, the extension counts on your device how many longer, non-music videos you open in a week and on how many of them you used Keepframe. Only these two numbers are sent to us, once a week, with your installation identifier. These counts never include video IDs, titles, links or a list of what you watched. When you open a YouTube video, the extension may ask our server whether a transcript of that video is already cached; that request contains the video’s ID but no identifier of you or your installation. Keepframe does not track your general browsing or watch history.
The video you choose to analyze — when you run an analysis, the extension sends your installation identifier and the text of the YouTube video you are currently watching — its transcript, together with the title, channel name, chapter list and the creator's description — to our backend, which forwards that text to our AI provider to generate cards, briefs, notes, and summaries. The video's public comments are not part of an analysis; they are sent only by the pre-watch check described below. We only process the text of the specific video you actively choose to analyze — Keepframe does not track your general browsing or watch history.
Transcript cache — to reduce cost and load, a transcript fetched for a public YouTube video may be stored in a shared cache keyed by the video ID and language, so it can serve other users who later analyze the same public video. The cache holds transcript text taken from the public video and is not keyed to you or to your installation identifier. A transcript can nevertheless contain personal data about the people speaking in the video, so we keep these entries no longer than we need to: they expire automatically (currently after 90 days).
Failed analyses — If an analysis fails, the extension may send the YouTube video ID, caption language and failure reason — with no account or device identifier — so we can fix videos that don't work. These records are deleted after 90 days.
Local extension storage — your settings and the content you save yourself — your Kept Frames, your own notes and any Snapshots you capture from a video — are stored in your browser's local extension storage on your device. We do not copy them to our servers. Snapshots are images of what was on your screen; they stay on your device and are never sent to us or to any third party. What does leave your device is only what the other bullets in this section describe: your installation identifier, usage metering, the text (transcript and description) of a video you choose to analyze, and the pre-watch input.
The pre-watch check (“Should you watch this?”) — what it sends — it runs only when you press Run on that section of the panel; it never starts on its own. When you press Run, the extension sends your installation identifier, the video’s ID, and one block of text built from what the YouTube page already shows: the video title; the channel name, its category and whether it is verified; the video length; the number of caption tracks the page lists; the chapter list; the creator’s description with boilerplate removed; up to 20 of the video’s public top comments, each shortened to about 500 characters and carrying its like count and any “pinned” or “by creator” marker; and the output language you have selected. Our backend forwards that block to our AI provider, which returns the two views and the points viewers raise.
The pre-watch check — what it does not send, and how the answer is kept — it does not send the transcript, your watch history, or anything from your Google or YouTube account. The answer is held in a short-lived cache on our server, keyed to your installation identifier, the video and the exact input, so pressing Run again for the same video does not call the model a second time. The pre-watch check never uses one of your video analyses.
2. Legal Basis
We process data to provide the service you ask for — analyses, documents, plan limits and subscriptions (Art. 6(1)(b) GDPR). We process usage events, the weekly counts above, failed-analysis records and security logs on the basis of our legitimate interest in running, securing and improving Keepframe (Art. 6(1)(f) GDPR). Website analytics run only with your consent (Art. 6(1)(a) GDPR), which you can withdraw at any time.
3. What We Do NOT Collect
Your name, or your Google or YouTube account information, as part of normal use of the extension. Your email address only if you choose to give it (payment, the feedback form or the partnership form), as described below
Your Google or YouTube account information
Your browsing history or YouTube watch history
Your OpenAI API key (if you previously used an older version — keys were only ever stored locally in your browser and never transmitted)
Any data from YouTube pages you visit without opening Keepframe, apart from the two weekly counts described in Section 1, which contain no video IDs, titles or links, and the transcript-cache check described there, which contains the video’s ID but no identifier of you or your installation
Feedback form. If you write to us from the goodbye page, we receive your message and — only
if you choose to give it — your email address, so we can reply. We do not link it to your
installation identifier. We keep it only as long as needed to answer you.
If you answer the short question shown after you uninstall the extension, we receive only what you type and the version you had installed. That page uses no cookies or third-party scripts.
Partnership inquiries. If you contact us through the partnership form in the “Our mission”
section of keepframe.one, or by email from that section, we receive what you choose to share: your name,
email address and message, and — if you add them — which of our offers interest you, your organization,
where your learners are based, the approximate size of your group and how you heard about us. We use this only
to reply to you and to discuss a possible collaboration. We do not add you to a mailing list and do not link
your inquiry to any installation identifier. Please do not include personal details about individual learners.
4. Payments
Paid plans (Pro, Power) are processed by Stripe. When you subscribe, you provide payment
details directly to Stripe; Keepframe does not receive or store your card number. Stripe processes your
payment information under its own privacy terms. We receive from Stripe only what we need to activate and
manage your subscription against your installation identifier (for example, subscription status).
5. Third-Party Services (Sub-processors)
We use the following providers to operate Keepframe. Each processes data only to provide their service to us:
OpenAI — processes the video text you submit (transcript, title, channel name, chapter list and description), and the pre-watch input described in Section 1, to generate Live Frames, briefs, notes, summaries and the pre-watch views. OpenAI Privacy Policy →
Netlify — hosts the keepframe.one website and receives submissions of the partnership form. Netlify Privacy Policy →
Google Workspace — hosts our email, where partnership form submissions and messages to us are delivered. Google Privacy Policy →
Google Analytics — measures visits to keepframe.one and campaign attribution only after you accept optional analytics and ad measurement. If you accept, Google may also store advertising data solely to measure whether a visit that came from our Google ads led to the Chrome Web Store. Advertising personalization and Google signals remain disabled. Google Privacy Policy →
We do not sell your data, and we never use it to target or personalize ads.
6. Data Storage & Security
Your settings and everything you save yourself — Kept Frames, notes and Snapshots — are stored locally in Chrome's extension storage on your device and never on our servers. Your installation identifier is stored on your device too, but it is also sent with requests and held with your usage counters as described in Section 1.
Usage data (installation identifier + analysis counters) is stored in a secured database (Supabase) hosted in the EU (West Europe).
All communication between the extension and our servers uses HTTPS encryption.
Transcript text you submit is processed to build your materials; a copy of a public video's transcript may be retained in the shared cache described in Section 1 (expiring automatically), and is not linked to your identity.
7. Data Retention
Installation identifier and usage counters — retained while your installation identifier is active, so we can apply plan limits; monthly analysis counters reset each billing period.
Payment records — retained by Stripe under its terms and as required for accounting and tax obligations.
Service/usage events — retained only as long as needed for service health, security, and abuse prevention.
Partnership inquiries — kept only as long as needed to reply and to follow up on a possible collaboration. You can ask us to delete them at any time.
Website analytics — user- and event-level data is retained for up to 14 months in Google Analytics; aggregated reports may remain available longer.
If you uninstall Keepframe, your local data is deleted automatically by the browser. You may request deletion of your server-side data at any time by contacting us.
8. Cookies and Local Storage
The Keepframe extension does not use advertising or tracking cookies. It uses Chrome's local extension
storage to keep your installation identifier and settings on your device.
The keepframe.one website stores your analytics choice locally. It also keeps the campaign parameters
already present in the page address for the duration of the browser tab so the same source can be attached to an
outbound Chrome Web Store link. This first-party session storage does not contact Google or another provider.
Google Analytics and ad measurement are optional and use basic Consent Mode: the Google tag does not load and no
analytics or advertising data is sent before you accept. If you accept, Google Analytics may use first-party
analytics cookies to distinguish visits, and advertising storage is enabled solely to measure whether a visit that
came from our Google ads led to the Chrome Web Store.
You can change or withdraw your choice at any time using the Privacy choices button on the website.
We do not enable advertising personalization or Google signals.
9. Your Rights
Depending on where you live (including under the GDPR and CCPA), you may have the right to access, correct,
or delete personal data we hold about you, and to object to or restrict certain processing. Because
Keepframe operates on a random installation identifier with no account, the most direct way to remove your association with
our service is to clear the extension's local data or uninstall it, which disconnects your device from your
installation identifier. For requests relating to payment data, contact Stripe or reach us and we will coordinate.
10. Children's Privacy
Keepframe is not directed to children and is not intended for use by anyone under the age required to
consent to data processing in their country (for example, 16 under the GDPR, 13 in the United States).
We do not knowingly collect personal data from children.
11. Chrome Web Store Limited Use
Keepframe's use of information received from Google APIs and the Chrome Web Store adheres to the
Chrome Web Store User Data Policy,
including its Limited Use requirements. We use the data described above only to provide and improve the
product's user-facing features, and we do not transfer or sell it for unrelated purposes.
12. Changes to This Policy
We may update this Privacy Policy from time to time. The "Last updated" date above reflects the current
version. We will note material changes here, and we will publish them before they take effect. Where applicable law
requires consent or a separate notice before a change applies to you, we will obtain or provide it.