Grow Creator
Privacy Policy — Outlier Lens
Privacy policy for the Outlier Lens Chrome extension. It makes no network requests: this page lists exactly what it reads, what it keeps on your own computer, and how to delete it.
This policy covers the Outlier Lens Chrome extension by Grow Creator, and only that extension. The Grow Creator web app has its own separate privacy policy, which describes accounts and server-side processing that do not exist here.
Outlier Lens makes no network requests. Nothing you view is sent anywhere, because nothing is sent anywhere at all. This page says exactly what it reads, exactly what it keeps on your own computer, and how to delete all of it. Effective and last updated 14 August 2026.
The short version
- Nothing leaves your browser. The extension makes no network requests of any kind — no analytics, no telemetry, no error reporting, no remote configuration.
- No account, ever. There is no sign-up, no login, no API key and no payment. Nothing is gated.
- Everything stays on your computer, in Chrome’s local extension storage. It is never synced to another device and never transmitted.
- You can erase all of it in one click, from the extension’s popup.
- No remote code. Every line the extension runs ships inside the package and can be read in chrome://extensions.
1. What Outlier Lens reads
It reads information that a page you opened yourself has already rendered on screen. It never fetches a page, opens a page, or reads a page you did not navigate to, and it never intercepts network traffic.
- On youtube.com, on a channel’s Videos or Shorts tab: each tile’s view count and its upload age as the page prints them, the video’s id, and the markers the page shows on a tile (pinned, live now, upcoming, members-only, and — on your own channel — private, unlisted, draft or scheduled).
- The channel’s own public identifier and public @handle as the page shows them, which is how a stored figure is filed and found again.
- On a YouTube video page: only that video’s own view count and its owner’s public handle, so it can look up a typical-post figure your own earlier visit to that channel’s Videos tab already stored on this computer. Nothing is fetched to fill a gap.
- On every other YouTube path it reads nothing from the page and produces nothing.
- On instagram.com, on a profile grid or a profile’s Reels tab: each tile’s view count as the page prints it, and each post’s id from the link the page already shows. The post’s approximate date is worked out from that id — no request is made to get it — and is used only to leave posts that are still gaining views out of the typical figure, and to work out views per day.
- The post total the profile header itself displays, to know whether the grid has reached its end; and, if you open a post over the grid, the exact date that post shows, to replace the estimate for that one post.
- All of this is processed on your device, in the page’s own tab. The result is a median and a set of counts. Nothing read from a page is transmitted anywhere.
The page-data reader on youtube.com
One file in the package, main/yt-main-reader.js, is declared in manifest.json with "world": "MAIN". That means Chrome runs it in the YouTube page’s own JavaScript context rather than in the extension’s separate one, and you should know that before you read the code and find it there. It exists to read data YouTube has already put on the page itself, in window.ytInitialData — the same information section 1 describes, read from the page’s own data instead of from the rendered markup, because YouTube states it there more reliably.
- It makes no network request, like the rest of the package.
- It adds nothing to the page and changes nothing on it, beyond registering three listeners on the document: YouTube’s own yt-navigate-finish and yt-page-data-updated navigation events, and — only when it is evaluated while the page is still parsing — a one-shot DOMContentLoaded.
- It replaces no part of the page: no wrapper around fetch, XMLHttpRequest or JSON.parse, no getter on ytInitialData, nothing hooked, patched or overridden.
- It reads no cookies and no storage, and it cannot: extension storage is not reachable from the page’s own context.
- It takes no instructions. It listens for no incoming message, so nothing on the page can ask it to do anything.
- It hands over one message per page, addressed to the page’s own origin, and the extension re-checks every field of it before believing any of it.
- The extension works without it: with the file absent or its message rejected, exactly the same badges are produced from the rendered page alone.
- You can switch it off in the popup. What the switch cannot do is stop Chrome loading the file, because a script running in the page’s own context cannot read extension settings — the same reason it accepts no incoming message.
2. What is stored on your computer
| Record | What it holds | How long |
|---|---|---|
| gcol.v1.settings | Your own switches: the view floor (default 1,000), the recency window (default 7 days), the two per-site on/off switches, the "Remember baselines" switch, whether the one-time introduction has been dismissed, and whether payloads from the page-data reader are used. | Until you change or clear them |
| gcol.v1.baselines | For up to 50 account-and-tab combinations you have already opened: a typical-post number and the sample behind it — the median, how many posts it is a median of, the oldest and newest dates in that sample, the counts of posts left out and why, the date the figure was worked out, that account’s own public @handle, and a version number for the record. | Deleted after 90 days |
| gcol.v1.last | The single status sentence the popup last showed, and the date it was shown. | Deleted after 90 days |
Storage uses Chrome’s chrome.storage.local API, which is local to your browser profile on this device. There are exactly three records, and each is built from a fixed list of fields in the code, so the table above is what the extension is able to write — not a description of what it usually writes. No titles. No links. No thumbnails. No page contents. No browsing history. The only accounts that appear are ones whose page you opened and asked the extension to measure.
Expiry is checked on every read and every write, so it is deletion, not hiding. The list is capped at 50 entries, and when it is full the least-recently-captured entry is dropped to make room. With "Remember baselines" switched off, nothing is written at all — not hidden, not written.
3. What is never transmitted
Nothing. The extension contains no code that can make a network request. It does not use fetch, XMLHttpRequest, WebSocket, EventSource or navigator.sendBeacon; it loads no external script, stylesheet, font or image; it has no background service worker; and it contains no eval, no new Function and no dynamic import. This is enforced mechanically by a check that runs against the shipped package and fails the build if any of those appear. Concretely, there is:
- No analytics of any kind, first-party or third-party.
- No identifiers — no user id, device id, install id or advertising id is created, stored or derived.
- No accounts and no authentication.
- No sharing with third parties, because there is nothing to share and no channel to share it over.
- No sale of personal information, under any definition, at any time.
- No sync — chrome.storage.local is not chrome.storage.sync; the data does not leave this browser profile on this device.
- No remote code and no remote configuration — the extension deliberately has no "kill switch" or config file it fetches, so that this claim stays absolute.
4. Permissions, and why each one exists
| Permission | Why | Scope |
|---|---|---|
| storage | To keep your settings and those typical-post numbers on this computer, as listed in section 2. | Local only, never synced |
| https://www.youtube.com/* | The badges have to appear on the page you already opened, and YouTube changes pages without reloading, so the script must be present from the start. It checks the path itself and reads nothing outside a channel’s Videos or Shorts tab and a video page. | Also covers the page-context file described above, gated on those same paths |
| https://www.instagram.com/* | The same, for a profile grid and a profile’s Reels tab. Instagram is also a single-page app, so the script is registered on the site and gated on the path. | No background requests, no enumeration of other accounts, no export |
5. Your control over the data
That permission table is the complete list. The extension requests no tabs permission, no activeTab, no cookies, no history, no webRequest, no host_permissions and no web_accessible_resources, and it ships no background service worker. You can confirm this yourself in chrome://extensions with Developer mode on.
- Delete everything now: open the popup and use "Delete stored baselines". It shows a live count of what it is about to delete, asks for a second click, and removes every stored figure and the stored status sentence.
- Store nothing at all: switch "Remember baselines" off in the popup. From that point nothing is written.
- Switch off a site: the popup’s "Show on" switches turn the lens off for YouTube or for Instagram — no badges, no strip, no tiles read from the page, and no figure stored for anything you open there.
- Stop using the page-data reader: the popup’s "Read YouTube’s page data" switch makes the extension ignore that file’s message and work from the rendered page alone. Chrome still loads the file either way, and we would rather say so than have you find it — nothing on our side uses, displays or stores what it sends.
- Remove the extension: uninstalling it from chrome://extensions deletes its local storage with it.
- Because nothing is ever transmitted, there is no server-side copy of anything, no account to close, and no request for us to fulfil — the delete button in the popup is the complete erasure mechanism.
6. Children
Outlier Lens is a tool for people who publish videos and reels. It is not directed at children, and because it collects nothing and transmits nothing, it holds no information about anyone — including children — anywhere but on the user’s own device.
7. Limited Use
The use of information received from Google APIs will adhere to the Chrome Web Store User Data Policy, including the Limited Use requirements.
In practice the limit is absolute for this extension: information read from a page is used only to compute and display the comparison described in the extension’s single purpose, on the same page and in the same session, and is never transferred, sold, or used for advertising, credit assessment, or any purpose unrelated to that function.
8. Changes to this policy, and how to reach us
If the extension ever changes what it reads or what it keeps, this page is updated in the same release, and the effective date at the top changes with it. Because the Chrome Web Store requires an item’s data disclosure and its privacy policy to match, the two are always edited together. Material changes will also be described in the extension’s Chrome Web Store listing.
Questions about this policy, or about anything the extension does, go to hello@growcreator.pro. We answer privacy questions from anyone, whether or not they use the extension.
Leumos Private Limited · hello@growcreator.pro
Featured on AI Toolz Dir · TheSaaSDir
Canonical: https://growcreator.pro/extension-privacy