Last updated: 10 September 2026 · version 1.4.0
Onlyfy runs only on Facebook Ad Library pages
(facebook.com/ads/library). On those pages it reads the ad cards
that are already displayed to you, in order to extract the destination link of
each ad. It does not read any other page, and it does not read your Facebook
account, profile, messages, feed or activity.
| Data | Where | Why |
|---|---|---|
| Your settings (filter on/off, grouping mode, strict mode, deep check, highlight) | chrome.storage.sync |
So your preferences persist. Because this uses Chrome's sync storage, Chrome copies these settings between your own signed-in Chrome installations via your Google account. That transfer is performed by Chrome, not by Onlyfy. Signing out of Chrome sync keeps them local. |
| A cache of website hostnames, whether each looked like Shopify, and which signal decided it | chrome.storage.local |
So each website is checked at most once instead of on every search. Local to your device only, never synced, never transmitted. Clear it any time with Clear cache in the Onlyfy popup. |
| The date you installed Onlyfy and the version you installed | chrome.storage.sync |
So early users can be recognised if Onlyfy ever offers paid features. Not transmitted anywhere. |
| Usage counters: how many searches you have run this month and in total, how many ads have been filtered, how many Shopify stores have been found, and which calendar dates you used Onlyfy on | chrome.storage.sync |
So the free tier can be metered, and so the popup can show you what Onlyfy has done for you. Counts and dates only — never what you searched for, and never which sites were checked. |
| A random identifier for this installation | chrome.storage.local |
Attached to the anonymous usage counts described below, so repeat use from one browser is not counted as many different people. It is generated on your device, is not derived from anything about you or your hardware, and is not synced between your devices. Turning off Share anonymous usage stops it being sent; clearing the extension's data discards it. |
| A count of how many separate days Onlyfy found at least one Shopify store, your star rating, and whether you have answered the review prompt | chrome.storage.sync |
So the popup can ask for a Web Store review once — after Onlyfy has actually been useful — and never ask again. A count of days and a yes/no, nothing about what you searched for or which sites you visited. Not transmitted anywhere. |
Uninstalling Onlyfy removes all of it.
To decide whether an ad's destination runs on Shopify, Onlyfy loads that website's home page and inspects the response — the same thing your browser would do if you clicked the ad. These requests go directly from your browser to the advertiser's website. They do not pass through any server of ours, with one narrow exception described under The Onlyfy resolver below.
Two things follow from this, and you should know both:
credentials: 'omit'), so they carry no login state and cannot
identify you to the advertiser by account.
Some websites refuse to respond to Onlyfy at all, answering every request with a bot check. For those, and only those, Onlyfy asks a public DNS resolver where the domain points — a Shopify store's address records are distinctive enough to identify it without ever loading the site.
example.com),
to Cloudflare's
public resolver, falling back to Google Public DNS if Cloudflare cannot be
reached. Nothing else — not the ad, not your search, not who you are.
A small number of websites cannot be read from a browser at all. Every request is refused, the DNS lookup above sees only the security service sitting in front of the site, and there is nothing further your browser can try. Those ads would otherwise stay marked “couldn't check” forever.
For those domains, and only those, Onlyfy asks a server we operate. It answers from sources a browser cannot reach — public web archives holding a copy of the page from when it was last crawled, and public scanning services that fetch with their own browsers. It answers the same question once for everybody, so a domain that stumped one person is already settled for the next.
example.com)
and the extension's version number. Nothing else — no identifier, no
cookies, no search terms, nothing about the ad and nothing about you.
Onlyfy carries a hidden diagnostics panel, used for debugging. It is not shown
in the interface and only appears after a deliberate sequence of clicks. One
of its checks confirms that Onlyfy's own requests are being sent correctly, by
sending a request to a public header-echo service —
httpbin.org, falling back to postman-echo.com —
and reading back what arrived.
Nothing about you is included: the request carries no identifier, no domain and no page content, and it is only ever made when that button is pressed. It is listed here because this page aims to name every destination Onlyfy can contact, including the ones almost nobody will reach.
Onlyfy sends anonymous counts to Google Analytics so we can see how many people use it and how heavily. This is on by default and can be switched off with Share anonymous usage under Privacy in the settings panel — off means no request is made at all, not one that is discarded on arrival.
| Sent | Never sent |
|---|---|
|
A random installation id Extension version That a search happened, and how many you have run this month That an install, update or review prompt occurred Whether a DNS lookup helped, as a one-word outcome Only the star rating Which setting you changed, and to which of its fixed options How many ads were on a page, and how many of them were Shopify, could not be checked, or were filtered — counts only, never which ads or which sites That Onlyfy could not read a page, or fell behind on one |
Your search terms The domains or websites being checked Ad content, page content or screenshots Your Facebook account, name, email or IP-derived identity Your browsing history Anything at all when the setting is off |
The boundary is enforced in code, not only by intention: every value is checked against a short allow-list before it is queued, and anything longer than 36 characters is discarded rather than truncated, specifically so that a domain name cannot end up in a payload by mistake.
If you rate Onlyfy below five stars, a box appears asking what would make it better. Nothing is sent unless you type something and press Send. What you write goes to a form the developer owns, along with your star rating and the extension version — and nothing else. No identifier, no domain, no search, nothing linking it to you or to the anonymous usage counts above.
A copy is kept on your device so that a failed send does not lose what you wrote. Clearing the extension's data removes it.
Onlyfy Pro is optional. If you never subscribe, nothing in this section happens — there is no account, and the free extension never contacts the licence server at all.
There is no account and no password. Onlyfy does not ask you to register, does not issue you a password, and keeps no profile of you. Buying Pro opens a checkout page in an ordinary tab; when the payment clears, Pro switches on in that browser, with nothing to type afterwards.
Payment is taken by Whop, who are the Merchant of Record for every Onlyfy order. Onlyfy never sees your card number, and no payment details pass through the extension. The name and address you give Whop stay with Whop, under their privacy policy; we can see the email address on the order and whether the subscription is active, which is what tells us to keep Pro switched on.
The email address you buy with. Whop collects it to send your receipt, and we use it for exactly one further thing: turning Pro on in a second browser. In the extension you type the address on your receipt, and we email you a link plus a six-digit code. Clicking the link or typing the code turns Pro on in the browser that asked. Either one expires in fifteen minutes and works once, and neither creates an account. The email is sent through Brevo, our email provider, who process it on our behalf and do not use it for anything else. We do not add you to a mailing list, and we do not send marketing to it.
What is stored on your device afterwards: a token that identifies your
subscription to the licence server, and a signed statement that this
installation is on the Pro plan until a given date. Roughly once a week, and
only while you are subscribed, the extension asks
licence.ecom.beer whether the subscription is still active. That
request contains the token, a random identifier for this installation, and
nothing else — no searches, no domains, no browsing data. The random
installation identifier is separate from the one used for anonymous usage
counts above, and the two are never joined.
Uninstalling removes both tokens from your device. To have the email address itself deleted, cancel and email onlyfy@ecom.beer — the record of the order is held by Whop, who keep it for as long as tax law requires them to.
| Permission | Reason |
|---|---|
storage | Save your settings, the local hostname cache and your usage counters. |
declarativeNetRequestWithHostAccess |
Set ordinary browser headers on Onlyfy's own outgoing checks, so a site treats them like a normal visit rather than blocking them as a robot. It is scoped to requests Onlyfy itself makes in the background and cannot match a request from any page or tab, so nothing you browse is altered, read, redirected or blocked by it. |
| Access to all websites | An ad can point anywhere, so the destination to be checked cannot be known in advance and cannot be limited to a fixed list of domains. This access is used solely to load the destination of an ad you are already viewing. Onlyfy injects no code into those sites and reads no personal data from them. |
Runs on facebook.com/ads/library |
The only page Onlyfy modifies, in order to hide or highlight ad cards. |
Onlyfy is a tool for advertisers and e-commerce researchers. It is not directed at children and collects no personal information from anyone.
Version 1.2.0 added DNS lookups and anonymous usage counts, both described above and both switchable off.
Version 1.4.0 added the optional Onlyfy Pro subscription, described under “Paying for Onlyfy Pro” above. The previous version of this page promised that change would be written down here before it shipped, and this is that entry. It brings one genuinely new thing: for the first time Onlyfy can hold an email address — only for people who subscribe, only the one they bought with, and only to send a receipt and restore Pro on another browser. Nothing about the free extension changed: it still has no account, asks for no address, and still never contacts the licence server.
If Onlyfy gains a further feature that changes any of this, this page and the Chrome Web Store data disclosures will both be updated before that feature ships.
Questions about this policy: onlyfy@ecom.beer