Onlyfy Privacy Policy

Last updated: 10 September 2026 · version 1.4.0

The short version. Onlyfy has no accounts and no passwords, and it never sees your searches, the sites you check, or anything that identifies you. Everything it remembers stays in your browser. The one exception is people who subscribe to Pro: we hold the email address they bought with, to send the receipt and to switch Pro on in a second browser. Nothing else, and never for marketing.

What changed in 1.2.0. Two things now leave your browser that did not before, and both can be switched off in the settings panel. Onlyfy can look a domain up in public DNS when a site refuses to answer it directly, and it sends anonymous usage counts — how many searches, how many ads filtered — tied to a random number that is not you. Earlier versions of this page said Onlyfy had no telemetry “of any kind”. That is no longer true, so the sentence is gone rather than quietly narrowed, and the section below says exactly what is sent.

What Onlyfy reads

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.

What Onlyfy stores, and where

DataWhereWhy
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.

What Onlyfy sends over the network

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:

DNS lookups

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.

What is sent: the bare domain name (for example 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.

When: only after a normal request to that site has already failed or been refused. Domains that answer normally are never looked up.

Switching it off: uncheck DNS lookup under Privacy in the settings panel. Those sites then stay marked “can't check” instead.

The Onlyfy resolver

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.

What is sent: the bare domain name (for example 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.

When: only for a domain that has already come back “couldn't check” after every local test has failed. In ordinary use that is around three domains in every hundred; the other ninety-seven are settled on your machine and never leave it.

What is kept: the domain and its answer, so it need not be worked out again. The server does not record who asked. There is no log tying a domain to an IP address, a browser or a person, and no place in its database that could hold one — the only per-day figures kept are plain counters with no domain names in them.

Switching it off: uncheck Ask the Onlyfy resolver under Privacy in the settings panel. No request is then made at all, and those ads stay marked “couldn't check” as they did before.

A diagnostic tool you will probably never see

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.

Anonymous usage counts

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.

SentNever 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.

Feedback you type

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.

Paying for Onlyfy Pro

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.

What Onlyfy does not do

Permissions, and why each is needed

PermissionReason
storageSave 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.

Children

Onlyfy is a tool for advertisers and e-commerce researchers. It is not directed at children and collects no personal information from anyone.

Changes

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.

Contact

Questions about this policy: onlyfy@ecom.beer