This policy explains exactly what data IntentGuard collects, how it is stored, and what it is used for. We believe in complete transparency โ especially because this extension operates on websites you visit.
IntentGuard is a Chrome browser extension built to help users stay intentional when visiting social media websites. Before entering a monitored site, the extension prompts you to define your purpose. A small widget reminds you of that intention throughout your session.
IntentGuard is an independent extension and is not affiliated with, endorsed by, or connected to Google LLC, Meta, X Corp, TikTok, YouTube, Reddit, LinkedIn, or any other social media platform.
IntentGuard stores a minimal set of data exclusively in your browser's local storage (chrome.storage.local). This storage is sandboxed to your device and your Chrome profile. It is never synced to Google's servers and never transmitted anywhere.
The following table lists every data field the extension stores:
| Storage Key | What It Contains | Why It's Stored | Retention |
|---|---|---|---|
| monitoredDomains | A list of website domains you have chosen to monitor (e.g. instagram.com). Defaults to a preset list of common social media sites. | To know which websites should trigger the intention prompt. | Persists until you remove a domain in Settings or uninstall the extension. |
| activeSessions | Per-tab session data: the domain name, the intention text you typed, and the session start timestamp. | To display the floating reminder widget and track elapsed time during an active session. | Deleted automatically when the session ends (tab closed, site navigated away from, or you click Mark Done). |
| history | Completed session records: domain name, intention text, start time, end time, and duration in seconds. | To display your 7-day session history in the extension popup. | Auto-purged after 7 days or when the 100-entry limit is reached (oldest entries removed first). You can clear all history manually at any time. |
| glowEnabled | A boolean (true or false) indicating whether the alert glow feature is active. | To remember your alert glow preference across browser sessions. | Persists until changed in Settings or extension is uninstalled. |
| glowMinutes | A number (5, 10, or 15) representing your chosen alert glow interval in minutes. | To remember your alert glow timing preference. | Persists until changed in Settings or extension is uninstalled. |
To be explicit, IntentGuard does not collect or have access to any of the following:
| Data Type | Collected? | Notes |
|---|---|---|
| Page content / DOM | No | The content script injects UI only. It does not read, parse, or transmit any page content. |
| Full URLs / URL paths | No | Only the base domain (e.g. instagram.com) is extracted and used. Full URLs are discarded immediately. |
| Keystrokes / form inputs | No | Only the intention text you type into IntentGuard's own input field is stored. No other keystrokes are monitored. |
| Cookies / authentication | No | The extension does not request or access cookie data. |
| Personal identity (name, email, IP) | No | No account is required. No identity data is requested or stored. |
| Device information | No | No hardware identifiers, OS version, or browser fingerprint data is collected. |
| Usage analytics / telemetry | No | There is no analytics SDK, crash reporter, or telemetry of any kind in this extension. |
| Cross-site browsing history | No | The extension is only active on domains you have explicitly configured. All other sites are ignored entirely. |
IntentGuard requests the following Chrome permissions. Each permission is used only for its stated purpose:
| Permission | Why It Is Required | What It Does NOT Allow |
|---|---|---|
| storage | Reads and writes session data, history, domain list, and settings to chrome.storage.local on your device. | Does not allow access to any other extension's storage or any remote storage. |
| tabs | Reads the URL of the active tab to determine if it matches a monitored domain. Sends messages between the background service worker and content scripts within the same tab. | Does not allow reading tab content, browsing history, or tab data from other Chrome profiles. |
| webNavigation | Detects when you navigate away from a monitored site so the active session can be automatically completed and saved to history. | Does not allow blocking, modifying, or redirecting any web requests. |
| host_permissions: *://*/* | Required because users can add any custom domain to their monitored list in Settings. The extension cannot know at install time which domains a user will add, so broad host access is necessary to inject the intention prompt UI on user-specified sites. | Does not allow reading page content, intercepting network traffic, or modifying requests on any site. The content script only injects a UI overlay and only activates when the current domain matches a domain in the user's configured list. |
IntentGuard makes exactly one type of outbound network request: loading website favicons to display recognizable icons in the popup and overlay UI. This is done using Google's public favicon service:
This request sends only the domain name (e.g. instagram.com) to Google's servers to retrieve a small icon image. No personal data, session data, or user-generated content is included in this request. This is the same favicon loading mechanism used by most browsers and bookmark managers.
No other network requests of any kind are made by IntentGuard. There are no remote APIs, no analytics endpoints, no cloud sync, and no external servers operated by IntentGuard.
All data stored by IntentGuard uses Chrome's chrome.storage.local API. This means:
Local only. Data is stored in your browser's local profile directory on your computer. It is not uploaded to Google's sync servers, even if you have Chrome Sync enabled for other extensions.
Profile-isolated. Data stored by IntentGuard is only accessible to the IntentGuard extension within your specific Chrome profile. Other extensions, websites, and applications cannot access it.
No encryption applied by us. The data is stored as plaintext JSON by Chrome's storage API. The security of this data depends on the security of your device and your Chrome profile. We recommend standard device security practices (screen lock, disk encryption) if you consider your intention notes sensitive.
Automatic deletion. History entries older than 7 days are automatically deleted when a new session completes. The maximum history size is 100 entries. Active session data is deleted immediately when a session ends.
Because all data is stored locally on your device, you have complete control at all times:
Clear history. Open the IntentGuard popup, go to the History tab, and click "Clear history" to delete all session history immediately.
Manage monitored sites. Open Settings in the popup to add or remove any domain from your monitored list at any time.
Disable the extension. You can disable IntentGuard at any time from chrome://extensions without losing your stored data.
Delete all data. Uninstalling the extension from chrome://extensions permanently deletes all data stored by IntentGuard from your device. This action is irreversible.
Manual deletion. Advanced users can also clear IntentGuard's storage directly from Chrome DevTools by navigating to Application โ Storage โ Local Storage.
IntentGuard does not knowingly collect any information from anyone, including children under the age of 13 (or the applicable age of digital consent in your jurisdiction). Since the extension collects no personal information whatsoever and stores data only locally on the user's device, it does not present privacy risks specific to minors beyond those inherent to browser usage generally.
IntentGuard is not directed at children and is designed as a productivity tool for general audiences.
IntentGuard does not integrate with, depend on, or send data to any third-party services, SDKs, or APIs โ with the single exception noted in Section 5 (Google's public favicon service, which receives only a domain name for icon loading purposes).
There are no advertising networks, analytics providers, crash reporting services, A/B testing platforms, or any other third-party code embedded in IntentGuard.
If this privacy policy is updated in a future version of IntentGuard, the "Last Updated" date at the top of this document will reflect the change. For significant changes that affect how data is handled, we will update the version notes in the Chrome Web Store listing.
Continued use of IntentGuard after a policy update constitutes acceptance of the updated policy. We commit to never introducing data collection practices that contradict the core principles stated in this document โ specifically, that all data remains local and is never transmitted to any server.
We encourage users to inspect the extension's source code to verify the claims made in this privacy policy. The extension can be examined at any time by loading it as an unpacked extension in Chrome Developer Mode and reviewing the source files: background.js, content.js, popup.js, and manifest.json.
Key verifiable facts from the source code: there are no fetch() or XMLHttpRequest calls except for favicon loading; all storage operations use chrome.storage.local; the content script contains an early-exit check that prevents any action on non-monitored domains.
If you have any questions, concerns, or requests regarding this privacy policy or IntentGuard's data practices, please reach out via the Chrome Web Store support tab on the IntentGuard extension listing.
We aim to respond to all privacy-related inquiries within 5 business days.