chrome.storage.local on your device until you delete them.
- Overview & Contact
- Scope
- Information We Handle
- Chrome Permissions Justification
- How We Use Information
- Data Sharing & Selling
- Third-Party Services (ChatGPT, Gemini, OpenAI)
- Local Storage & Retention
- Data Security
- Your Choices & Rights
- Children's Privacy
- Changes to This Policy
- Compliance & Limited Use Disclosure
1. Overview & Contact
VideoTutor (“we”, “our”, or “the extension”) is a Chrome Extension that helps you learn from YouTube videos by capturing the current video frame on your explicit request and helping you continue learning with AI.
Developer contact: Please use the contact email listed on the Chrome Web Store Developer Dashboard for this item. For privacy inquiries, include “VideoTutor Privacy” in the subject line.
Developer to-do: replace this line with your public support email before publishing, e.g., support@yourdomain.com.
Extension: VideoTutor - YouTube AI Assistant (ID: Chrome Web Store listing 0.1.0)
2. Scope
This policy applies to the VideoTutor Chrome Extension as distributed through the Chrome Web Store. It describes what data the extension accesses, why, and what happens to it. It does not cover the privacy practices of third-party sites you visit (YouTube, ChatGPT) or AI providers you optionally configure.
3. Information We Handle
VideoTutor is designed to handle the minimum data required to provide its single purpose: “Capture video frames on YouTube and continue your learning in ChatGPT with instant visual context.” No account creation is required.
| Category | What it is | When collected | Stored where |
|---|---|---|---|
| Video frame screenshot (Website content) | JPEG data URL of the current <video> frame, downscaled to max 1280px width. No audio is captured. |
Only when you click “Capture” in the side panel/popup or press Alt+Shift+A |
chrome.storage.local on your device; included in prompt only if you send it |
| Video metadata (Website content) | Video title, channel name, playback timestamp, and URL with t=123s timestamp parameter |
Same as above, derived from the YouTube DOM at capture time | Local storage only |
| Study data you create | Prompts, learning mode selection, chat history / sessions, last topic | When you interact with the extension | chrome.storage.local (up to last 100 sessions) |
| Settings & preferences | Provider choice, default mode, theme, timestamp-link preference, custom prompt prefix | When you change settings | chrome.storage.local + userSettings |
| Optional API keys (Credentials) | Google Gemini or OpenAI API key if you choose to use direct API mode | Only if you paste it in Settings | Local storage only; sent directly from your browser to the provider you selected |
We do not collect: browsing history beyond the active YouTube tab at capture time, personally identifiable information (name, email, address, location), financial information, health data, authentication passwords, or analytics.
Key principle: Nothing leaves your browser unless you initiate an action that requires it (e.g., “Send to ChatGPT” or “Ask Gemini”). We have no servers that receive your data.
4. Chrome Permissions Justification
The extension requests the following permissions, each justified by its single purpose under Chrome Web Store policy:
| Permission | Why it is needed |
|---|---|
activeTab | Access the active YouTube tab only when you invoke the extension, to read the video element and page title. |
scripting | Execute a frame-capture function in the YouTube page when CAPTURE_FRAME fallback is needed. |
storage | Save captured frames, sessions, and settings locally so they persist across browser restarts. |
sidePanel | Display the learning side panel next to YouTube. |
commands | Enable the Alt+Shift+A shortcut for quick capture. |
tabs | Find or create your chatgpt.com tab and bring it to the foreground when you choose ChatGPT Web mode. |
host_permissions: https://www.youtube.com/* | Run youtube-inject content script to read video time and capture frames — only on YouTube, only on user action. |
host_permissions: https://chatgpt.com/* | Run chatgpt-inject to deliver your prompt/image into your own ChatGPT session. No data is scraped from ChatGPT. |
We do not use <all_urls> content scripts. The content scripts in the manifest are narrowly scoped to the two hosts above.
5. How We Use Information
- To capture and show you a preview of the current video frame when you request it.
- To build a learning prompt that includes your question, learning mode (Explain, ELI5, Quiz, etc.), and optionally the frame image and timestamp link.
- To send that prompt/image to the destination you selected (your ChatGPT tab via local automation, or directly to Gemini/OpenAI APIs using your key).
- To save your study sessions and settings locally for convenience.
We do not use data for advertising, profiling, attribution, or cross-site tracking.
6. Data Sharing & Selling
- No data sale or rental.
- No cross-site tracking.
- No analytics SDKs or ad networks in the extension.
- We disclose data to third parties only in the two user-initiated flows described in Section 7, and only the prompt/image you chose to send.
7. Third-Party Services (When You Choose Them)
a) ChatGPT Web (default, chatgpt.com)
When you select “ChatGPT Web” and click Send, the extension stores a pendingChatGPTTask object locally and uses chrome.tabs.sendMessage / content script injection to paste your prompt and image into your own ChatGPT tab. This transfer happens entirely between your browser and chatgpt.com under OpenAI’s privacy terms. We do not proxy or log the content.
Relevant policies: OpenAI Privacy Policy
b) Google Gemini API (optional)
If you enter a Gemini API key and choose Gemini mode, the extension calls https://generativelanguage.googleapis.com directly from your browser with the prompt and optional inlineData image. Your API key and content are subject to Google’s terms.
Relevant policies: Google Privacy Policy
c) OpenAI API (optional)
If you enter an OpenAI API key and choose OpenAI mode, the extension calls https://api.openai.com/v1/chat/completions directly from your browser with the prompt and optional image_url (base64). Subject to OpenAI’s terms.
You should review each provider’s data usage before enabling direct API modes. You can use the extension without any API key by using ChatGPT Web mode.
8. Local Storage & Retention
- All data is stored via
chrome.storage.localon your device. We maintain no cloud database. - Captured frames: stored as
capturedFrameDataandcapturedFrame(legacy) until you clear them or capture a new frame. - Chat sessions: up to 100 most recent sessions stored as
chatSessions. - Pending ChatGPT task: a single
pendingChatGPTTaskobject stored temporarily until delivered to ChatGPT, then overwritten.
Deletion: You can delete at any time: (1) Use “Clear” / “Delete session” in the UI, (2) Remove the extension, or (3) Clear extension storage via chrome.storage.local.clear() in developer tools. Uninstalling the extension removes its local storage associated with your browser profile.
9. Data Security
- Data stays within your browser’s sandboxed extension storage.
- Transmission to AI providers occurs over HTTPS directly from your browser.
- We do not have access to decrypt or retrieve your local storage; there is no server-side copy to breach.
- If you store API keys, they are kept in local storage only — do not share your browser profile or export them. Consider using a browser profile password / OS-level encryption.
No method of transmission is 100% secure. While we minimize handling, you are responsible for the confidentiality of API keys you enter.
10. Your Choices & Rights
- Opt-in capture: No capture occurs until you interact (click, shortcut).
- Selective sending: You choose the destination (ChatGPT Web / Gemini / OpenAI) and whether to include the image.
- Access & export: All your data is accessible locally via the extension UI and via
chrome.storage.local.get. - Deletion: As described in Section 8.
- Consent withdrawal: Stop using the extension or remove API keys / uninstall at any time.
Depending on your jurisdiction (e.g., EEA, California), you may have additional rights regarding personal data. Since we do not collect personal data on our servers, requests can be fulfilled by local deletion/uninstall. For provider-held data (ChatGPT/Gemini/OpenAI), please contact the respective provider.
11. Children’s Privacy
The extension is not directed to children under 13, and we do not knowingly collect personal information from children. The extension handles only video frame data you choose to capture. If you believe a child has provided personal data through optional API use, please contact the relevant AI provider and remove the extension data locally.
12. Changes to This Policy
We will update this policy when functionality or data handling changes. The “Effective date” at the top will be revised, and material changes will be noted in the Chrome Web Store listing description / changelog. Continued use after an update constitutes acceptance of the revised policy.
13. Compliance & Limited Use Disclosure
Use of permissions & remote code: The extension does not use remote code and complies with the Chrome Web Store Developer Program Policies and Best Practices.
Limited Use: Any user data accessed (YouTube video content) is used solely to provide the single purpose described and is not used for unrelated purposes, transfer is only to the user-designated AI service to fulfill the user’s immediate learning request, and no human will read the data except as needed to provide the service.
Affirmation: The extension’s handling of user data is accurately described in this policy and in the Chrome Web Store “Privacy practices” disclosure.
Questions? Contact us via the Chrome Web Store support email for VideoTutor. Please include “Privacy Policy” in your subject.