Cookies and storage
Draft, not in force. The seller and controller details are placeholders, and the owner has not reviewed the text yet.
When you sign in
Signing in sets a few first-party cookies. They are necessary to run your account, so they are not behind the banner. They are HttpOnly (page scripts cannot read them), SameSite=Lax, and on https their names start with __Host-, which ties them to this exact site. No ad tag or analytics script runs on the sign-in and app pages.
| Name | Purpose | Lifetime |
|---|---|---|
__Host-px_session | Keeps you signed in. Holds your sign-in tokens from Supabase Auth. | Up to 30 days |
__Host-px_invite | Carries an invitation to an organisation across the sign-in, if you opened an invite link while signed out. | 1 hour |
__Host-px_add | Carries the site you chose to monitor from a report ("monitor link") across the sign-in, so it is added to your account. | 1 hour |
__Host-px_next | After your first sign-in only: remembers the page you were going to while you answer the two optional questions that follow. | 1 hour |
The invite and monitor-link cookies are deleted once the sign-in finishes, and the next-page cookie once you have answered the questions. Without https, for example in local development, the same cookies are set without the prefix.
Who sees the banner
Visitors from the EEA, the UK, Switzerland, Brazil and Canada see a banner with "Accept all" and "Reject all" side by side. Elsewhere there is no banner and the ad tags below load by default. If your browser sends Global Privacy Control, they stay off everywhere. We pick the banner by country, using the country Cloudflare reports for your request. We do not store it.
Cookies by category
| Category | Name and source | Purpose | Lifetime |
|---|---|---|---|
| Necessary | cc_cookie (pixelxray.com) | Remembers your banner choice. Only set where the banner shows. | About 6 months |
| Analytics | None | Page statistics come from Umami Cloud, which sets no cookies and runs whether this category is on or off. | Not applicable |
| Marketing | _fbp, _fbc (Meta Pixel) | Tells Meta that a visit or sign-up came from a Meta ad. | About 90 days |
| Marketing | _gcl_au, _gcl_aw (Google Ads), plus cookies Google sets on its own domains | Tells Google Ads that a visit or sign-up came from a Google ad. | About 90 days |
| Marketing | li_fat_id (LinkedIn Insight Tag), plus bcookie, bscookie, lidc, UserMatchHistory and AnalyticsSyncHistory on linkedin.com | Tells LinkedIn that a visit or sign-up came from a LinkedIn ad. | 24 hours to 1 year |
Marketing cookies are only set after you accept (in banner regions) or by default (elsewhere, without Global Privacy Control). Rejecting, or changing your choice with "Cookie settings" in the footer, deletes the ones on our domain. Lifetimes are the vendors' own figures and can change.
Ad tags
- Meta Pixel, Google Ads tag and LinkedIn Insight Tag. A tag loads only if we have set it up and you have not opted out.
- Google Consent Mode v2 starts with everything denied and is updated from your choice.
- The tags get the page path and the sign-up or payment event. They never get a site domain, a scan ID or a report link. They are not loaded on report, unsubscribe, watch, sign-in or app pages, with two exceptions that carry no site, scan or link in their address: the page that answers the two questions after your first sign-in, and the billing page after a successful checkout. The email confirmation page loads them only after replacing the page address, so the secret link stays out.
- When you confirm your email or answer the questions after your first sign-in, and when you first pay for a plan, we also send that event to Meta from our server, with a hashed email address, only if you tick the separate, optional box for it on the confirmation page or the questions page. That box, not your region or Global Privacy Control, decides whether server events are sent, and product-update emails do not depend on it.
Payment page
Stripe sets its own cookies on its checkout and billing portal pages. They are Stripe's, not ours.
Session storage
These items live in your browser tab only and are gone when you close it. They are never sent to analytics or ad platforms.
| Name | Purpose | Category |
|---|---|---|
pixelxray:attribution | Keeps the campaign values from the link you arrived by (angle, variant, utm values, first page) so a form later in the visit can send them to us. | Functional |
pixelxray:handoff | Passes the scanned domain from a report to the next form, so it is not in the address bar. | Functional |
px:pending-scan | Counts a finished scan once in our own analytics. | Analytics |
px:region | Remembers whether this tab got the banner, so the page does not ask again. | Necessary |
pixelxray:clickids | Keeps the ad click ids (gclid, fbclid, li_fat_id) from your link so the sign-up and sign-in forms can send them to us. Only stored while marketing is allowed, and cleared on reject. | Marketing |
px:fired:* | Stops an ad-tag sign-up or payment event from being sent twice if you reload the page. | Marketing |
px:umami:* | Stops a sign-up from being counted twice in our own analytics if you reload the page. | Analytics |
Analytics
We use Umami Cloud, which sets no cookies. See privacy for what it receives.