# Privacy Policy — Explain This _Last updated: 2026-07-12 · Version 0.1.0_ Explain This is a Chrome extension that processes text **you explicitly select** on a webpage and returns a concise AI-generated result. This document explains exactly what data is handled and how. > This document describes the product's design and data practices. It is not > legal advice and does not claim complete regulatory compliance. Have a > qualified professional review it before publishing a production service. ## What the extension accesses - **Only the text you select.** A request is made solely when you choose an action from the "Explain This" right-click menu on a highlighted selection. - The extension does **not** read entire pages, monitor your browsing, collect your history, read your cookies, or access your clipboard for reading. ## What is sent, and to whom When you trigger an action, the following is sent over HTTPS to the Explain This backend (a Cloudflare Worker), which forwards the text to an AI provider for processing: - The selected text. - The chosen action (e.g. Summarize) and, for Translate, your target language. - An anonymous installation identifier (see below). The AI provider processes the text to generate the result and returns it. The result is displayed in a small panel on the page. ## What is stored - **Preferences** (translation language, theme, font size, enabled actions) are stored in `chrome.storage.sync` so they follow your signed-in browser. - A **"welcome completed" flag** and an **anonymous installation identifier** are stored in `chrome.storage.local` on your device. - **Selected text and generated results are not stored** by the extension or persisted by the backend. They are not written to logs. ## Anonymous installation identifier On first use, the extension generates a random UUID and stores it locally. It is sent with each request **only** to enforce anonymous usage limits (a daily free quota and short-window rate limiting). It is: - **Not** derived from browser or device fingerprinting. - **Not** linked to your identity, account, or browsing. Clearing the extension's local data removes this identifier; a new random one is generated on next use. This anonymous limit is not represented as fraud-proof. ## Network-level abuse control To cap automated abuse of the free service, the backend also enforces a daily request limit per originating network. The client's IP address is **hashed** (SHA-256) and only the hash is used as a short-lived counter key; the raw IP address is **never stored or logged**. This is a standard abuse control, not fingerprinting: the hash is not linked to your identity, is not combined with other signals to track you, and each counter expires automatically within about two days. ## Operational logging The backend records only non-sensitive operational metadata to keep the service healthy: a per-request identifier, the action type, the outcome (success or an error code), and an HTTP status. It **never** logs the selected text, the generated result, full URLs, page titles, or any personal data. ## What is never collected - Selected text or generated results (beyond in-memory processing of a request) - Clipboard contents - Browsing history - Full-page content - Personal or account identity - Data sold to third parties ## Data-protection principles The design follows data-minimization and purpose-limitation principles: the minimum data needed to perform the requested action is processed, used only for that purpose, retained only for the lifetime of the request, and disclosed here transparently. Requests are sent over HTTPS and provider credentials never leave the backend. ## Your controls - Change or disable actions and preferences on the options page. - Clear the extension's local data to reset the anonymous identifier. - Uninstall the extension to stop all processing. ## Contact Support contact: `TODO@example.com` _(placeholder — replace before release)._ Privacy questions can be directed to the same address.