Privacy Policy — ContextSnap

Last updated: September 20, 2026

ContextSnap is a Chrome extension that explains or translates a piece of content you are looking at, in place, on the page you are already on. This policy describes exactly what leaves your computer, where it goes, and what is kept. It is written to be specific rather than reassuring.

Operated by Pham To Linh, Vietnam. Contact: thetristanlinh@gmail.com

1. The short version

2. Two modes, and what changes between them

ContextSnap can run in one of two modes. You choose which in Settings.

Default mode (our server). Your request goes to our own server, which adds an API key and forwards the request to Google's Gemini API. The answer comes back the same way. We run this server so that the API key is never shipped inside the extension, and so that daily limits can be enforced.

Bring-your-own-key mode. You enter your own Google API key. Requests go directly from your browser to Google. Our server is not involved at all and sees nothing.

Everything below marked (default mode only) does not apply if you use your own key.

3. Screen capture — read this part carefully

This is the most sensitive thing the extension does, so here is precisely how it works.

When you start a capture (via the right-click menu or a keyboard shortcut):

  1. The extension asks Chrome for a picture of the visible area of the tab you are currently on. It uses the activeTab permission, which Chrome only grants after you explicitly invoke the extension on that tab.
  2. That full picture exists in your browser's memory for a moment so the extension can freeze the page and let you drag a box over it.
  3. Only the region you drew is cropped, downscaled and sent for explanation. The rest of the picture is discarded and never leaves your computer.
  4. Nothing is written to disk. Nothing is written to extension storage. Nothing is uploaded anywhere except the cropped region.

What this means in practice: if you have a banking page or an inbox open in that tab, a picture of it briefly exists in memory. It is not stored, not transmitted, and not accessible to the web page. Only the region you deliberately selected is ever sent.

What the extension cannot do: it cannot capture your screen outside the browser, it cannot capture other tabs, it cannot capture a tab you have not invoked it on, and it cannot capture anything in the background. It uses chrome.tabs.captureVisibleTab only, never desktop or tab-stream capture.

Before your first capture, the extension shows you a one-time notice explaining where the image goes and whether it is stored.

4. What is sent for processing, and to whom

When — and only when — you ask for an explanation, the following is sent to Google's Gemini API (generativelanguage.googleapis.com):

WhatWhen
The text you selected, plus up to about 500 characters of surrounding text from the page, used as contextWhen you click Explain on a selection
The cropped image region you drewWhen you use a capture shortcut or menu item
Both cropped regionsWhen you use two-image mode (one image as context, one as the question)
The contents of your clipboardOnly when you press the clipboard shortcut, and only if you granted the optional clipboard permission
Your follow-up questions, plus the earlier turns of that same conversationWhen you keep chatting in the answer panel
A fixed instruction telling the model how to answer, and your chosen answer languageEvery request

If you turn on web search (off by default, and a paid feature), Google may additionally run a Google Search to check its answer. In that case your question text reaches Google Search. This is why it is off unless you turn it on.

What is never sent: the address (URL) of the page you are on, the page title, your browsing history, other tabs, cookies, form data you did not select, your name, your email, or any identifier tied to you as a person.

Your content is handled by Google under Google's own terms for the Gemini API. See Google's privacy documentation for how they process API data.

5. What is stored on your computer

StoredWhereWhy
Your settings — answer language, model, display currency, whether web search is onChrome extension storage, synced by Chrome across your own Chrome profilesSo the extension behaves the same on your machines
Your own Google API key, if you use bring-your-own-key modeChrome extension storage, synced by Chrome across your own Chrome profilesSo you do not have to paste it again. Note: because this is Chrome's synced storage, the key travels through your own Google account's Chrome sync. It is never sent to us.
A per-day count of how much you have used and roughly what it costLocal extension storage on this device onlySo you can see your usage in Settings
A random, anonymous device identifier (default mode only)Local extension storage on this device onlySo the server can count your daily quota without knowing who you are

Not stored anywhere, by design: your conversations, the text you selected, the images you captured, your clipboard contents. Closing the answer panel discards the conversation. There is no history feature at the time of writing; if one is added, this policy will be updated before it ships.

6. What our server stores (default mode only)

Our server exists for two reasons: to hold the API key, and to count requests.

StoredFor how long
Your anonymous device identifier, with a count of requests made todayUntil the counter resets, at most a few days
Whether that identifier has an active paid plan, and when it expiresWhile the plan is active

Our server never stores, and is written not to log: the text you selected, the images you captured, your questions, the answers, your IP address, or your device identifier in any log file.

When a request to Google fails, our server writes one line, and only this:

{"evt":"upstream_error","status":429,"model":"...","plan":"free"}

That line tells us an error is happening. It contains none of your content.

About IP addresses, stated plainly. We do not log your IP address. But your requests do travel over the internet, so your IP is necessarily visible to our hosting provider (Cloudflare) and to Google as a matter of how networks work, in the same way it is visible to any website you open. We do not collect it, store it, or use it.

7. Payments

ContextSnap does not currently sell anything. There is no paid plan, no checkout, and no payment processor connected to the extension at this time. If a paid plan is introduced, this section will be replaced — before that plan ships — with the name of the payment processor used, exactly how it handles your card details, and what it sends us to activate a licence.

8. Third parties we rely on

WhoWhat they doWhat they see
Google (Gemini API)Generates the explanationsThe content you asked about, for that request
Google SearchVerifies answers, only if you turn web search onYour question text, for that request
CloudflareHosts our server (default mode only)Network-level traffic, as any host would

We do not use analytics services, advertising networks, trackers, session recorders, or any third-party script inside the extension. The extension contains no remote code: everything it runs ships inside the package.

9. Limited Use disclosure

ContextSnap's use of information received from Google APIs will adhere to the Chrome Web Store User Data Policy, including the Limited Use requirements.

Specifically: we use the data described above only to provide the user-facing feature you invoked; we do not transfer it to others except as needed to provide that feature, to comply with applicable law, or as part of a merger or acquisition; we do not use or transfer it for serving advertising of any kind, including personalised, retargeted or interest-based advertising; and we do not allow humans to read it, except with your explicit consent, for security purposes, to comply with applicable law, or where the data has been aggregated and anonymised.

10. Your choices and your rights

11. Children

ContextSnap is not directed to children under 13, and we do not knowingly collect information from them.

12. Changes to this policy

If we change what leaves your computer, we will update this page and change the date at the top before the new version of the extension ships.

13. Contact

thetristanlinh@gmail.com — a person reads this and replies.

Pham To Linh, Vietnam