Privacy Policy for Twitch Guardian Chrome Extension Effective Date: March 31, 2025 1. Introduction Thank you for using Twitch Guardian ("the Extension"), developed by Socrates Efstratiou. This Privacy Policy explains what information the Extension collects, how it's used and stored, and your choices regarding your information. This policy applies solely to the information collected and processed by the Extension itself. The Extension's purpose is to monitor Twitch chat channels you are viewing for specific keywords you configure and provide alerts based on those keywords. It also offers optional features like AI-powered chat summary generation and advanced filtering for Pro users. 2. Information We Collect The Extension collects and processes the following types of information: Twitch Authentication Token: When you connect the Extension to Twitch using the "Connect to Twitch" button, we use Chrome's Identity API to obtain an OAuth token from Twitch. This token is required to connect to Twitch's chat servers (IRC) and make limited API calls (like fetching your username). Twitch Username: After successful authentication, we fetch your Twitch username associated with the token. User Configuration Settings: Keywords you add, notification preferences (sound, volume, desktop notification enabled/duration, highlight toggle), filter settings (enabled user roles, start/end times for scheduling), AI feature settings (enabled status, message count for context). Google AI API Key (User-Provided): If you choose to use the AI Explanation feature, you must provide your own API key for the Google AI service (Gemini). The Extension stores this key to make requests to the Google AI API on your behalf. Alert History & Statistics: When a keyword triggers an alert, the Extension stores details about the alert (timestamp, channel, keyword, triggering user, message content, associated Twitch message tags) and aggregates statistics on keyword triggers. Chat Message Context (for AI Feature): If the AI feature is enabled, the Extension temporarily stores recent chat messages (username, message content, timestamp) from the monitored Twitch channels. This context is used solely for generating summaries when an alert occurs or when requested via the options page. Payment Status (via ExtensionPay): The Extension interacts with the ExtensionPay service to determine if you are a Free or Pro user. The Extension stores your payment status (e.g., "paid: true/false") associated with your ExtensionPay account to enable or disable Pro features. We do not collect or store your credit card details or other sensitive payment information directly. This is handled entirely by ExtensionPay. Monitored Channels: The Extension identifies the Twitch channels you currently have open in your browser tabs to know which chats to monitor. This list is processed in real-time and not persistently stored long-term, other than potentially appearing in the Alert History if an alert triggers for that channel. 3. How We Use Your Information We use the collected information solely for the purpose of providing and improving the Extension's functionality: Twitch Token & Username: To authenticate your connection to Twitch chat (IRC) and identify your messages (e.g., prevent self-alerts if configured, though not currently implemented). User Configuration Settings: To customize the Extension's behavior according to your preferences (keywords to monitor, how alerts are delivered, which messages trigger alerts based on filters). Google AI API Key & Chat Message Context: To send relevant recent chat history and your API key to the Google AI API (Gemini) for generating contextual summaries for alerts. Your API key is sent directly to Google; we do not use it for any other purpose. Alert History & Statistics: To provide you with a record of past alerts and usage statistics within the Extension's options page. Payment Status: To enable or disable access to Pro features based on your subscription status managed via ExtensionPay. Monitored Channels: To determine which Twitch IRC channels the Extension should join and monitor. 4. Data Storage and Security Local Storage: All information collected and stored by the Extension (Twitch Token, Twitch Username, Configuration Settings, Google AI API Key, Alert History, Statistics, temporary Chat Message Context, Payment Status) is stored locally on your computer using Chrome's integrated storage mechanisms (chrome.storage.local). This data is sandboxed and not typically accessible by other websites or extensions. Security Measures: We take reasonable precautions to protect the information stored locally. However, no electronic storage method is 100% secure. We cannot guarantee absolute security. You are responsible for the security of your own Google AI API key. Data Retention: Configuration settings, token, API key, and payment status are stored until you change them, disconnect your Twitch account via the options, clear the API key field, or uninstall the Extension. Alert History is stored up to a maximum number of entries (currently 100) and can be cleared manually from the options page. Keyword Statistics are stored until cleared manually from the options page. Chat Message Context for AI is pruned regularly based on your settings (default 50 messages per channel) and is overwritten as new messages arrive. Uninstalling the Extension will typically remove all associated data stored by chrome.storage.local. 5. Third-Party Services The Extension interacts with the following third-party services: Twitch: We interact with Twitch's authentication system (OAuth), chat servers (IRC over WebSocket), and APIs (for username lookup) as necessary for the core functionality. Your interactions with Twitch are subject to Twitch's own Privacy Policy and Terms of Service. Google AI (Gemini API): If you enable the AI feature and provide your API key, the Extension sends recent chat messages and your API key to Google's servers to generate summaries. Your use of the Google AI API is subject to Google's API Terms of Service and Privacy Policy. You are responsible for any costs associated with your Google AI API key usage. ExtensionPay: We use the ExtensionPay service and library to manage Pro subscriptions and determine your payment status. Payment processing and account management occur on ExtensionPay's platform, subject to their Terms of Service and Privacy Policy. The Extension only receives confirmation of your payment status (paid/unpaid). 6. User Rights and Choices You have control over your information within the Extension: Connecting/Disconnecting Twitch: You can connect or disconnect your Twitch account at any time via the "Connect" tab in the Extension's options. Disconnecting removes the stored Twitch token and username. Managing Settings: You can add/remove keywords, change notification/filter settings, enable/disable AI, and update/clear your Google AI API key via the options page. Clearing Data: You can clear your Alert History and Keyword Statistics manually via the "History" tab in the options page. Managing Subscription: You can manage your Pro subscription status via the ExtensionPay service (links provided in the "Pro" tab). Uninstalling: Uninstalling the Extension will remove it and its locally stored data from your browser. 7. Children's Privacy The Extension is not intended for use by children under the age of 13 (or equivalent minimum age depending on jurisdiction). We do not knowingly collect personal information from children under 13. 8. Changes to This Privacy Policy We may update this Privacy Policy from time to time. We will notify you of any significant changes by posting the new Privacy Policy within the Extension listing or options page. You are advised to review this Privacy Policy periodically for any changes. 9. Contact Us If you have any questions about this Privacy Policy, please contact us at: soc.efs@gmail.com