Privacy policy
Effective August 21, 2026 · applies to the peeq Chrome extension v0.7
The short version: the peeq extension makes zero network requests. Nothing you do with peeq is collected, transmitted, sold, or shared — with us or with anyone. Inside the extension there are no accounts, no analytics, and no trackers. (This website is a separate matter — see About this website.)
What peeq accesses
When you click the peeq icon, the extension reads the current page's DOM to extract schema.org structured data (JSON-LD and Microdata), then checks it for errors. This happens locally, in your browser, only on the tab you clicked. The extracted data is shown to you and discarded when the popup closes. It is never sent anywhere.
Validation is entirely local too. peeq does not send your markup to Google's Rich Results Test or to any other checker — the rules live inside the extension.
The side panel, and letting peeq follow you
peeq v0.6 adds a side panel you can leave open while you audit a site. It has two modes, and the difference between them is a real trade you get to make:
- One page at a time (the default). You click “Scan this page”. This works exactly like the popup —
activeTabonly, nothing new, no extra permission. - Follow me as I browse (off unless you turn it on). peeq re-checks each page automatically as you navigate. To do that it needs to see the addresses of the tabs you visit and to read pages without waiting for a click. Those two permissions are optional: Chrome asks you at the moment you tick the box, not at install, and you can revoke them any time from
chrome://extensions.
Even with follow mode on, nothing is transmitted. peeq still makes no network requests — the extra access is used to read pages locally, not to send anything anywhere.
The audit session (memory only)
While the panel is open, peeq holds the structured data it found on each page so it can show you a running tally and build a report at the end. This lives in chrome.storage.session, which means:
- Memory only. It is never written to disk.
- It ends when your browser does. Close Chrome and the session is gone — there is nothing to delete afterwards.
- Grouped per site, and you can clear any site's session from the panel at once.
- Bounded. There is a hard ceiling; if a session exceeds it, peeq drops the largest pages and tells you it did rather than quietly truncating.
Exporting
From the panel you can export the current session as a JSON file, or open a printable report and save it as a PDF through your browser's own print dialog. This is the only way data from peeq ever reaches a file, it happens only when you ask for it, and the file is written by your browser to your machine — it is not uploaded anywhere. The report is generated locally; no PDF service is involved.
Local history (optional)
peeq keeps an optional history of pages you've audited, stored only on your device via chrome.storage.local. It is designed around data minimization:
- Summaries only. Each entry stores a sanitized URL, timestamp, schema count, source counts, the list of
@types, and — new in v0.6 — how many blocks were valid, had warnings, or had errors. Never the schema contents themselves. - Sanitized before saving. Credentials, hashes, sensitive query parameters (tokens, sessions, emails, …) and tracking parameters (
utm_*,gclid, …) are stripped or redacted. - Never recorded: incognito tabs, private and internal hosts (localhost, loopback, private IP ranges,
.local), and non-http(s) pages. - Capped at 300 entries (raised from 50 in v0.6, so auditing a whole site does not silently discard the start of it). Oldest entries drop off first.
- Encrypted at rest with AES-GCM. Only ciphertext is written to disk.
- You are in control. Pause recording, remove single entries, or clear everything, at any time, from the history view.
History never leaves your device. It is not synced, backed up, or transmitted.
Incognito
peeq does not audit private windows at all. Nothing from an incognito tab is written to history, and nothing is held in the audit session either — not even in memory. Open the panel in a private window and it will tell you so rather than quietly collecting nothing. This is unconditional, and we would rather lose the feature there than qualify the sentence.
Permissions
These are granted at install and peeq cannot work without them:
| Permission | Why peeq needs it |
|---|---|
| activeTab | Read the current page's DOM when you click the icon — and only then. |
| scripting | Inject the extraction script into the active tab on click. No persistent content scripts. |
| storage | Store your theme preference, the optional encrypted history, and the memory-only audit session. |
| sidePanel | Show the audit panel next to the page. It grants no access to data of any kind. |
Optional permissions
These are not granted at install. Chrome asks only if you turn on “Follow me as I browse”, and you can take them back at any time from chrome://extensions. Declining them costs you the follow mode and nothing else.
| Permission | What it allows | Why |
|---|---|---|
| tabs | Seeing the address and title of tabs you have open. Chrome describes this as “read your browsing history”. | To know you navigated to a new page, and which site it belongs to, so the tally stays per-site. |
| Access to websites | Reading page content without waiting for you to click the icon. | activeTab only grants access after a click; auditing page after page as you browse is impossible without this. |
peeq uses this access to read markup locally and nothing else. It still makes no network requests with follow mode on, and it still records nothing from private windows.
The two moments peeq opens a page on this site
Starting with v0.7, the extension can point your browser at peeq.ing in exactly two situations. In both, opening the page is all that happens — the extension transmits nothing of its own:
- After an update with visible news. peeq opens the changelog once, so the release can introduce itself. Only for feature releases, never for bug-fix updates — and you can turn it off in the extension's options.
- When you uninstall. Chrome opens a goodbye page with a one-question survey you are free to ignore. Its address carries exactly two things: the version number you removed and your interface language. No identifier of any kind — the zero-tracking promise holds on the way out too. If you do answer, the survey stores only what you chose to say, anonymously.
What peeq never does
- No network requests of any kind — no servers, no APIs, no CDNs. The two page-openings above are ordinary visits to this website, nothing more.
- No analytics, telemetry, fingerprinting, or ads.
- No selling, sharing, or transferring of any data — there is nothing to sell.
- No remote code. Everything ships inside the extension package.
About this website
Everything above describes the extension. This website (peeq.ing) is a separate thing, and we'd rather tell you than have you find out: it uses Vercel Web Analytics, which counts page views and basic details like country and device type. It sets no cookies, does not track you across other sites, and does not build a profile of you. We see aggregate numbers, never individuals.
Nothing on this site is connected to your use of the extension — the extension never contacts peeq.ing, or any other server, at all. Reading this page tells us a page was read; using peeq tells us nothing.
Changes
If a future version changes any of this — for example, optional paid features that call AI APIs — this policy will be updated first, the change will be prominently disclosed in the extension, and the free, offline core will keep working exactly as described here.
Terms of use
How you may use peeq, and what it does and does not promise, live in the terms of use. This policy forms part of them.
Contact
Questions or concerns? Email support@peeq.ing.