Privacy Policy
Last updated: 2026-11-08 · 日本語
0. Summary
- TagLens never sends the data it reads to detect tags off your browser. Every scan runs locally.
- The extension talks to the network in exactly two cases, both Pro features and both triggered by you: (1) validating a license key against the payment provider Polar.sh, (2) posting a scan result to a Slack / Webhook URL that you configured.
- No usage analytics, no error reporting, no advertising identifiers.
- No
host_permissions(always-on site access) are requested at install time.
1. What is read when you scan
When you click the TagLens icon (or "Rescan"), the following is read from the tab you are looking at and processed in memory:
- Page URL and title, and tracking query parameters in the URL (
utm_*,gclid, …) <head>metadata: canonical,og:*, hreflang, robots, JSON-LD@type<script src>URLs and tag IDs found in inline scripts (GTM-xxxx,G-xxxx, Meta Pixel IDs, … extracted with regular expressions)window.dataLayerevent names and length, and whether tracking globals such asgtag/fbq/ttqexist
Form values, cookies, localStorage and browsing history are not read. While the side panel is open, the active tab is re-scanned whenever you switch tabs or a page finishes loading. The processing is the same.
2. What is stored in your browser (chrome.storage)
| Area | Data | How to remove |
|---|---|---|
storage.sync | The selected checklist preset ID | Uninstall the extension |
storage.local | Scan history: the latest 1 scan on Free, the latest 30 on Pro. Each entry holds the URL, title, preset and full scan result | Clear history in Options, or uninstall |
storage.local | Pro license key and its validation result (status, expiry, last verified) | Sign out in Options, or uninstall |
storage.local | The Slack / Webhook destination URL | Save an empty URL in Options, or uninstall |
storage.sync data is synchronised by Chrome to other Chrome installs signed in to your Google account, under Google's privacy policy.
3. Outbound requests (Pro only, on your action)
3.1 License key validation
When you enter a license key in Options and validate it, the key and TagLens' public Organization ID are POSTed to
https://api.polar.sh/v1/customer-portal/license-keys/validate, which returns validity and expiry.
At that moment Chrome asks you to allow access to api.polar.sh (an optional_host_permissions grant).
The result is stored locally; once the expiry returned by Polar passes, TagLens falls back to Free automatically. There is no periodic re-validation traffic.
Payment and license issuance are handled by Polar Software Inc. (Polar.sh) as Merchant of Record. Information you give Polar at checkout (email, payment details) is governed by Polar's privacy policy. The developer can see purchasers' email addresses and subscription status in Polar's dashboard; scan contents are never part of that. The developer runs no server of their own for license validation.
3.2 Slack / Webhook notifications
When you save a destination URL in Options, Chrome asks you to allow access to that URL's origin. Afterwards, only when you press
"Send webhook" in the popup, the scan result (URL, title, preset name, checklist results, detected tags and IDs, warnings) is POSTed to that URL.
Destinations on hooks.slack.com receive Slack-formatted messages; any other destination receives plain JSON.
Nothing is sent anywhere but the URL you configured.
3.3 What is never sent
- Usage analytics, crash or error reports
- Advertising identifiers, browsing history
- Scan results (except when you send them yourself under 3.2)
4. Permissions
| Permission | Purpose |
|---|---|
activeTab | Temporary access to the tab you are viewing, only when you click the icon |
scripting | Run the tag-detection script in the tab granted by activeTab |
storage | Persist the settings and history listed in section 2 |
sidePanel | Show the same UI as the popup in Chrome's side panel |
optional_host_permissions(declared as <all_urls>) | Never requested at install. As described in section 3, TagLens requests exactly one origin at a time, at the moment you act: Polar's API, or the origin of the webhook URL you saved. You can revoke either at any time from chrome://extensions |
TagLens does not request host_permissions (always-on site access) and cannot read other tabs or sites in the background.
5. Limited Use
TagLens' use of information received from Chrome APIs adheres to the Chrome Web Store User Data Policy, including the Limited Use requirements. The information is used only for the single purpose described in this policy: detecting marketing tags on the page you are viewing and running pre-launch checks against them. It is not sold or transferred to third parties and not used for advertising or creditworthiness purposes.
6. Retention
- Local settings and history: until you uninstall or clear them in Options
- License validation result: until you sign out or uninstall (treated as Free once expired)
- Purchase data held by Polar: per Polar's policy
- The developer operates no server and keeps no access logs
7. Children's privacy
TagLens is not directed at children under 13.
8. Changes
Changes are reflected on this page and in the Chrome Web Store listing. If data handling changes, TagLens will tell you inside the extension on update. Pro users are also contacted at the email address registered with Polar.