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.

NamePurposeLifetime
__Host-px_sessionKeeps you signed in. Holds your sign-in tokens from Supabase Auth.Up to 30 days
__Host-px_inviteCarries an invitation to an organisation across the sign-in, if you opened an invite link while signed out.1 hour
__Host-px_addCarries 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_nextAfter 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

CategoryName and sourcePurposeLifetime
Necessarycc_cookie (pixelxray.com)Remembers your banner choice. Only set where the banner shows.About 6 months
AnalyticsNonePage 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 domainsTells Google Ads that a visit or sign-up came from a Google ad.About 90 days
Marketingli_fat_id (LinkedIn Insight Tag), plus bcookie, bscookie, lidc, UserMatchHistory and AnalyticsSyncHistory on linkedin.comTells 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

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.

NamePurposeCategory
pixelxray:attributionKeeps 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:handoffPasses the scanned domain from a report to the next form, so it is not in the address bar.Functional
px:pending-scanCounts a finished scan once in our own analytics.Analytics
px:regionRemembers whether this tab got the banner, so the page does not ask again.Necessary
pixelxray:clickidsKeeps 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.