Contextual Anchor Privacy Policy
Last updated: 22 October 2026
Applies to: Contextual Anchor Chrome extension, version 1.0.0
Public URL: https://contextual-anchor-privacy.pages.dev/
Contextual Anchor (“CA”, “the extension”) helps you save text from Gemini pages as anchors, inject anchors into Gemini prompts, organize anchors, and optionally use an AI assistant that runs against a model server you configure.
This policy describes the data the extension handles, where it goes, and how you can control or delete it. The extension is designed to work locally. The developer does not operate a server that receives your extension data.
1. Data the extension handles
Anchors, templates, bundles, and settings
CA stores the content you create or edit, including:
- anchor text and the Gemini page URL where it was created;
- tags, descriptions, turn counts, TTL settings, and usage history;
- templates and bundles;
- extension settings, such as injection mode and AI preferences;
- daily usage counts used by the timeline and heatmap.
This data is stored in chrome.storage.local in your browser profile.
Clipboard content
CA reads your clipboard only when you explicitly invoke Create anchor from clipboard (for example, the Alt+A command). The clipboard text is shown in a confirmation prompt before it is saved as an anchor.
CA writes to your clipboard only when you choose a copy action, such as copying an anchor, URL, or transcript.
CA does not read your clipboard in the background.
Gemini page content
On https://gemini.google.com/*, the extension reads page content needed for its features:
- prompts and responses displayed in the page;
- selected text and message structure;
- Gemini page URLs and conversation identifiers;
- page state used to place highlights, overlays, and controls.
This content is processed in your browser. Anchor text and metadata are stored locally. When you inject an anchor into Gemini, that text becomes part of the prompt you submit to Gemini, and Google processes it under Google’s terms.
The extension’s page-world network interceptor observes when a Gemini streaming request starts and ends so the interface can show streaming state. It does not read or store the request or response bodies.
Local AI assistant
The optional AI assistant sends the following to the model server you configure:
- your messages in the AI conversation;
- bounded context from active anchors, templates, bundles, and up to eight note excerpts;
- the selected persona/system prompt;
- the model name and request parameters.
The transport is restricted by code to loopback addresses (127.0.0.1, localhost, ::1), RFC1918 private ranges, and link-local addresses. The extension does not send these requests to a developer-operated server.
If you configure a server on another device on your private network, or a local server that forwards requests to a cloud provider, your data leaves this computer and is handled by that server or provider under its own terms. CA cannot control that server.
AI conversations, including messages and model replies, are stored locally in chrome.storage.local. You can export or delete them.
CA does not store a third-party AI API key. The AI transport is designed for local or private model servers.
Notes and vaults
If you connect a local folder, CA uses Chrome’s File System Access API to read Markdown (.md) files from only the folder you choose. Access is read-only.
- The folder handle is stored in extension-origin IndexedDB.
- CA builds a local index containing note titles, paths, tags, and short excerpts (up to 160 characters).
- A full note is read only when you explicitly promote it to an anchor.
- Note files are not uploaded, sold, or shared. Disconnecting a vault revokes CA’s stored handle and removes its index from CA. The files on disk are not deleted.
Voice input
If you use the microphone button, Chrome’s Web Speech API transcribes your speech. Chrome’s speech recognition is provided by Google and is not processed locally. CA asks for consent before enabling the microphone.
CA does not store audio. The resulting transcript is inserted into the AI input field and may become part of a saved AI conversation.
Remote configuration
CA fetches a configuration file from https://raw.githubusercontent.com/felixfab/ca-config/.... The request retrieves selector strings and feature toggles. It does not send your anchors, clipboard, prompts, notes, or AI conversation.
The fetched config is cached in the Gemini page’s sessionStorage for up to one hour. A bundled fallback is used if the fetch fails.
Chrome Sync (optional)
The current build defaults heatmap sync to off. If it is enabled in your settings, CA stores daily usage counts in chrome.storage.sync, which uses your Google account’s Chrome Sync. The synced value contains counts by date, not anchor text, prompts, clipboard content, notes, or AI conversations.
If it has been enabled, you can remove synced data through Chrome’s sync controls. The extension does not sync anchors, prompts, notes, or AI conversations.
2. What CA does not collect
CA does not:
- create an account or collect your name, email address, or other account identity;
- sell or rent your data;
- use your data for advertising or ad targeting;
- use analytics or telemetry SDKs;
- collect health, financial, payment, authentication, or precise location data;
- read cookies, passwords, or your general browsing history;
- track mouse movement, keystrokes, or clicks outside the features you invoke;
- read or modify pages other than
gemini.google.com; - load remote executable code.
The extension does handle website content, chat content, clipboard text you choose to use, and local note excerpts. Those are described above.
3. Sharing and third parties
CA does not share data with the developer or with third parties for the developer’s purposes.
The following third parties may process data only when you use the relevant feature:
| Third party | When | Data |
|---|---|---|
| Google Gemini | You use Gemini or inject anchors | Prompts and conversation content you submit to Gemini |
| Google Web Speech | You use voice input | Audio sent by Chrome’s speech recognition |
| Google Chrome Sync | You enable heatmap sync | Daily usage counts |
| GitHub raw content | Extension loads its config | No user content; a standard HTTP request |
| Your configured model server | You use the AI assistant | Messages, bounded anchor/template/bundle/note context, system prompt |
If you use a private-network model server or a server that forwards to another provider, that server’s operator and provider determine what happens to the data.
CA does not sell data, does not transfer it for advertising, and does not use it to determine creditworthiness or lending eligibility.
4. Storage, retention, and deletion
- Anchors, templates, bundles, settings, AI sessions, note indexes, and related data are stored in your browser profile.
- Deleted anchors, templates, and bundles remain in the local trash for up to 7 days before cleanup.
- Deleted AI conversations remain in the AI trash until you empty it or delete them permanently.
- Disconnecting a vault removes CA’s stored folder handle and note index; the original files remain on disk.
- Export All Data creates a local JSON file containing the extension’s data.
- Reset All Data removes CA’s local data and clears its note index and vault connection.
- Uninstalling the extension removes its extension storage from that browser profile. Data stored in Chrome Sync may remain until you clear it in Chrome’s sync settings.
The developer cannot access or delete data stored only in your browser because the developer never receives it.
5. Security
- All executable code is bundled with the extension. CA does not use
eval,new Function, remote scripts, or remotely hosted code. - Extension UI is isolated from the host page with Shadow DOM where required.
- Clipboard reads require an explicit user action.
- AI transport is restricted to loopback, private, and link-local addresses by code.
- AI-driven changes to anchors use explicit permissions, destructive-action confirmations, and per-action confirmation.
- The extension does not transmit data to a developer-operated server.
No method of local storage is perfectly secure. Anyone with access to your browser profile may be able to access extension data. Protect your device and browser profile accordingly.
6. Your choices
You can:
- disable or revoke the microphone consent;
- disconnect a notes vault;
- disable heatmap sync;
- delete individual anchors, templates, bundles, and AI conversations;
- empty trash;
- export all data;
- reset all data;
- remove the extension and its clipboard/host permissions from Chrome.
7. Children
CA is not directed to children and does not knowingly collect personal information from children.
8. Changes
If the extension’s data handling changes, this policy will be updated and the “Last updated” date revised. Material changes will be disclosed in the extension or its store listing before the changed handling takes effect.
9. Contact
Questions about this policy or the extension’s data handling:
felix.fabricius@gmail.com
Chrome Web Store Limited Use statement
CA uses user data only to provide or improve its single purpose and user-facing features: saving and injecting anchors, organizing anchors, reading an explicitly connected local notes folder, providing a user-configured local AI assistant, and enabling optional voice input.
CA does not sell user data, does not transfer it for advertising, does not use it for creditworthiness or lending, and does not allow humans to read it except when you explicitly request support and consent to sharing the relevant content.