Blip — Privacy Policy
1. Who we are
Blip is a Chrome extension created by an independent developer. Contact: exergyoflife@gmail.com.
2. Data stored on your device
All data Blip stores lives in chrome.storage.local on your device only.
It is never synced to your Google account and never uploaded anywhere.
| What | Why | How long |
|---|---|---|
| AI provider API key(s) | Required to make AI requests on your behalf | Until you clear it in Settings |
| Blip settings and preferences | Remembers your selected provider, model, enabled state, web-search setting, reply length, page extraction depth, and collapsed icon size | Until you change them |
| Chat bubble position and appearance | Remembers where you dragged the Blip bubble on the page and whether you chose the small, medium, or large collapsed icon | Until you move it again or uninstall the extension |
| Video transcript / extracted page text (cache) | Avoids re-fetching or re-reading the same video or page when you reopen the chat | Evicted automatically as new pages/videos are added |
| AI-generated summaries and section summaries (up to 20) | Avoids re-running summarisation on the same video or page | Evicted automatically as new entries are added |
| Chat history (up to 30 conversations) | Restores your conversation when you reopen a video, page, or streaming platform | Evicted oldest-first; cleared with the clear-chat button |
| Internal debug log (up to 300 entries) | Internal diagnostics used while developing Blip; entries may include timestamps, event names, error messages, and redacted diagnostic details (not surfaced in the user interface) | Oldest entries dropped automatically; fully removed when you uninstall |
| Model capability flags (which models support web search or image input) | Avoids retrying a feature a model has already rejected and prevents screenshot requests to text-only models | Web-search flags expire after 24 hours; image-input flags expire after 7 days |
| Model context-window sizes (detected or manually set) | Remembers how much text a model accepts, to fit requests | Auto-detected values expire after 30 days; a value you set manually persists until you change it |
Some locally stored items may contain personal information if it appears in your API key, your questions, chat history, debug details, or the video content you choose to process. None of this leaves your device except as described below.
3. Data transmitted to third-party AI providers
When you ask Blip to summarise or answer a question, Blip sends the following to your selected AI provider using your own API key:
- The cleaned transcript of the current YouTube video, or the readable text content of the current web page
- The current video or page title
- A screenshot of the visible tab, only when you click "Give me an eye" or ask a follow-up in that eye tab
- Your question (for Q&A requests)
- Recent chat history turns (to give the model conversation context)
- Your API key (in the
Authorization/x-goog-api-keyrequest header)
If web search is enabled for a supported model, or if you explicitly ask Blip for current or web information, Blip may attach that provider's web-search tool/options to the AI request. Any search, grounding, retrieval, or related data handling is performed by the selected AI provider, not by a Blip server.
This transmission happens directly from your browser to the provider — Blip has no server of its own. The provider you choose and their data-handling practices apply:
- Google Gemini (AI Studio) — Google Privacy Policy
- OpenAI — OpenAI Privacy Policy
- OpenRouter — OpenRouter Privacy Policy
- NVIDIA NIM — NVIDIA Privacy Policy
4. Page, YouTube caption, and screenshot data
On an ordinary web page, Blip reads the page's own readable content (headings, paragraphs, lists, tables, code, diagrams/charts, and definition lists) directly from the page you already have open, using the browser's DOM. This happens locally, only when you open the chat and ask for a summary or answer, and involves no third-party request.
On YouTube, to build a transcript Blip reads YouTube's own caption data from the page you are already viewing.
It calls YouTube's public InnerTube API endpoint (youtube.com/youtubei/v1/player)
using YouTube's own public API key (embedded in every YouTube page) and your existing YouTube session cookies —
exactly the same request YouTube's own player makes. No additional YouTube account credentials are collected or stored.
When you click "Give me an eye", Blip captures the currently visible area of the active tab using Chrome's
captureVisibleTab API. Blip hides its own widget before capture and restores it immediately after, so
its UI does not cover the content you asked about. The screenshot is not stored by Blip; it is sent directly to your
selected AI provider for that request only, and only when the selected model supports image input. Follow-up questions
in the eye tab capture a fresh screenshot.
When you select OpenRouter as your provider, Blip fetches the live model list from
openrouter.ai/api/v1/models to show up-to-date model suggestions and to read a model's
context-window size. For the same context-window purpose, Blip may make one small model-metadata request to
your selected provider when you use a model it does not already know
(Gemini models.get or NVIDIA v1/models). These requests carry no transcript or
question; ordinary network metadata such as your IP address and user agent may be visible to the provider.
5. What Blip does NOT do
- Blip does not have a backend server or database.
- Blip does not collect analytics, crash reports, or usage telemetry.
- Blip does not create or require a user account.
- Blip does not sell, share, or monetise any data.
- Blip does not use
chrome.storage.sync— your API keys are never pushed to your Google account or any other device. - Blip does not inject advertising and does not track, log, or report your browsing.
- Blip reads a page's content only when you open the chat and ask for a summary or answer — it does not read or transmit page content in the background.
- Blip captures a screenshot only when you click "Give me an eye" or ask a follow-up in the eye tab.
6. Permissions and why they are needed
- storage — to save your settings and the cached data listed in section 2 on your device.
- scripting — to add Blip's chat panel to the current page and read the content needed to answer about it: a web page's readable text, or a YouTube video's public caption data, and (only when you click a timestamp in a YouTube answer) seek the player to that moment. It is also used to hide and restore Blip's own widget around a user-triggered screenshot.
- Access to web pages (https) and youtube.com — to show the chat on whichever page you are viewing and to read that page's content when you ask for a summary or answer. Page content is read only at that moment, never in the background.
- Access to all URLs — required by Chrome for
captureVisibleTabfrom Blip's in-page "Give me an eye" button. The screenshot is captured only after your click or eye-tab follow-up. - Access to the AI provider hosts (Google, OpenAI, OpenRouter, NVIDIA) — to send your request directly from your browser to whichever provider you selected with your own API key.
Blip requests no other permissions, and none are used outside the purposes above.
7. Your controls
- Delete API keys — Open Blip Settings, clear the key field, and save.
- Change preferences — Open Blip Settings to change provider/model, web search, reply length, page extraction depth, context-window overrides, or collapsed icon size.
- Clear the current chat history — Use the clear-chat button in the chat panel, or uninstall the extension to remove all extension data.
- Remove all extension data — Uninstall Blip. Chrome removes all
chrome.storage.localdata on uninstall.
8. Children
Blip is not directed at children under 13. It does not knowingly collect data from children.
9. Changes to this policy
If this policy changes materially, the effective date at the top of this page will be updated. Continued use of the extension after a change constitutes acceptance of the revised policy.
10. Contact
Questions or requests: exergyoflife@gmail.com