ListingGuessr

Privacy

ListingGuessr has no sign-up. One anonymous id in a signed cookie is your entire account, an email is optional and unused unless you type one in, and there is no analytics or advertising code anywhere on the site.

Last updated July 27, 2026

The cookie is the account

The first time you load the site we generate a random id — 12 bytes from the system random source, tied to no other identifier — and store it in a cookie called sg_pid, alongside a signature that lets the server detect a forged one.

  • It is httpOnly, so no script — ours or anyone else's — can read it, and SameSite=Lax, so it is not sent along on other sites' requests.
  • It lasts about 400 days, which is the only reason a streak survives closing the tab.
  • It is strictly necessary to play: without it the server cannot tell your run from somebody else's, or stop you from playing the daily twice.
  • It carries no name, no email, no location, and is never used to track you off this site.

It is the only cookie. Two other things are kept in this browser: your sound preference, which never leaves the device, and — if you arrived through a referral link — the handle that sent you, held until your first run credits it and then discarded. Both are namespaced sg: and both are wiped by "Reset this device".

What is stored against that id

On the server, one row per player and one row per run:

  • The id itself, plus a generated nickname and avatar seed so a leaderboard is not forty rows of "Player".
  • A handle, display name and avatar seed, if you choose to claim them.
  • Your runs: the mode, the houses you were shown, what you guessed, what it actually cost, your points, and when you started and finished. This is what the leaderboards, streaks and shared links are made of.
  • Aggregate play counts per listing, so the game can tell you that most people also got that one wrong. These are not linked back to you.
  • If you arrived through a ?ref= link, the handle of whoever sent it — recorded once, on your first run.
  • Timestamps: when the player row was created, and roughly when it was last active.

A guess is never anonymous to the server, because the server is what scores it. It is also never anything more than a number attached to a random id.

The optional email

There is one email field in the product, in settings, behind the "daily reminder" toggle. It is a waitlist. Nothing in ListingGuessr can send mail today — there is no mail sender wired up — so the address sits in your player row for exactly one purpose: telling you first if a daily reminder ever ships.

  • It is never shown on your profile, a leaderboard, or a shared link.
  • It is not sold, rented, or handed to a mailing-list product.
  • There is no newsletter to be added to, because there is no newsletter.
  • Turning the toggle back off deletes the address, immediately and for real.

No analytics, no ad trackers

There is no Google Analytics, no pixel, no session recorder, no A/B tool, no advertising network, and no third-party script of any kind in the page. Nothing here follows you anywhere.

Two kinds of third party do see something, and it is worth being exact about them:

  • Our host and database provider (Vercel and a hosted Postgres) handle requests on our behalf and see the ordinary metadata of a web request, including your IP address, in their own logs. We use an IP transiently, in memory, to rate-limit abusive requests; it is not written to our database.
  • The listing photo CDN. Photographs are loaded straight from the source's CDN rather than copied, so your browser connects to it. Those requests are sent with referrerPolicy="no-referrer", so the CDN is not told which page or which house you were looking at.

Links out — to a listing, or to post a score — are ordinary links. Once you follow one you are on somebody else's site under their policy.

Deleting your data

Two different things, and the difference matters:

  • Forget this browser. Settings → Reset this device deletes the session cookie and everything cached locally. You come back as a brand new anonymous player. Since there is no password, this is not reversible.
  • Delete the record. Settings → Delete everything erases the player row itself — handle, display name, avatar, email, streak — and every run attached to it, which takes your leaderboard entries and challenge links with them. It happens immediately, it is not queued for review, and there is no undo.

There is no support mailbox, and pretending otherwise would be worse than not having one: the cookie in your browser is the only proof of ownership that exists on an account with no password, so the button in settings is the only mechanism that can honestly work. Delete it from the browser that holds the session.

Children

ListingGuessr is a game about house prices, not a service aimed at children, and it collects nothing that would identify one. We do not knowingly keep data from anyone under 13.

Changes

If what the code does changes, this page changes in the same commit, and the date at the top moves. There is no mailing list to announce it on.