What we keep, and what we do with it.
This product asks you for a list of things you want. That's a lot to ask, so here is everything we store, why it's there, and when it goes.
The short version
We keep your email, your lists, and the price history of the things on them. We don’t sell any of it, we don’t take affiliate commission on anything you buy, and we don’t show ads. There’s no analytics vendor and no advertising pixel on any page of this site.
We are not paid by any retailer. That is worth saying plainly, because a product that watches prices and tells you when to buy has an obvious way to make money by lying to you, and the whole point of this one is that it doesn’t.
Everything, table by table
Written from the actual database schema rather than from memory. If something is stored and isn’t here, that’s a bug worth telling us about.
You
Your email address
It's how you sign in, and where alerts go. There's no password to store instead.
Your name, if you give one
So an email can say hello. Optional, and blank is fine.
Your timezone and currency
Quiet hours mean nothing without a timezone, and a price means nothing without a currency.
Your alert settings — quiet hours, thresholds, which channels
So we send what you asked for and nothing else.
A push subscription for each device you turned notifications on for
The address the browser gave us for that one device, plus the keys to encrypt a notification to it and nobody else. Stored only after you tapped the button in settings; we never ask unprompted. We also keep a short label like “Safari on iPhone” so the settings page can name the device.
Your things
Your lists and the items on them
That's the product.
Who a list is for, if you told us
So the shared page can say it's for them rather than for you, and so you can see who's claiming what on a list you made for someone else. On a list for yourself there's nothing here, and claims stay hidden from you.
The URL of each thing you're watching
It's the address we check the price at.
Every price we've ever read for it, with a timestamp
A price with no history can't tell you whether today is a good day. This is the one thing here that can't be recreated once it's gone.
Which alerts fired, which were sent, and whether you followed one
So the same drop doesn't email you twice, and so you can see what we told you and when. “Followed” is recorded only when you click the link in the email or notification — it carries a reference to that alert. There is no tracking pixel; an email you merely open tells us nothing.
Signing in
A hash of each sign-in link, and of each signed-in browser
The link itself is never stored — only a fingerprint of it, which can check a link is real but can't be turned back into one.
The address that asked for a sign-in link
To stop someone requesting ten thousand of them. It is the only place we keep an IP against your account, which is why its retention is worth stating exactly.
Sharing
The share link for a list, if you made one
It's what lets the link work.
Who claimed what, for people viewing a shared list
So two people don't buy the same present.
The one thing we hide from you
If you share a list, people can claim items so two of them don’t buy the same present. You never see any of it — not who claimed what, not how many items are claimed, not that anything was claimed at all.
That isn’t a setting or a promise in a document. Claims live in a separate part of the database that the code serving your own pages has no permission to read, and the test suite refuses to build if any page you can see so much as mentions it. It is arranged that way because a surprise here would ruin a birthday, and “we’ll be careful” is not an arrangement.
If you send us feedback
We keep what you wrote, whether you were signed in, and which screen you were on — but the screen is stored with the identifiers stripped out, so /lists/[id]rather than the list. We can see that someone found the shared-list page confusing. We can’t see whose list it was.
Your email address is attached only if you typed it in. We know it already if you’re signed in, and we deliberately don’t fill it in for you: leaving it blank should mean what it looks like.
Feedback outlives the account it came from. If you delete your account, what you told us stays — detached from you, but not deleted, because it was true when you said it.
Who else sees it
Three companies, and nothing else:
- Vercel runs the site. They see the requests any web host sees.
- Neon stores the database.
- Resend delivers the email, so they handle your address and the contents of an alert.
No advertising network, no data broker, no analytics product. If that ever changes, this page changes first and the date at the top changes with it.
What the retailers see
When we check a price, we fetch the page like a browser would, from our servers — not yours. The retailer sees a request from Slowcart. They don’t see your address, your name, or that it’s you.
The same goes for the product pictures. They’re fetched by us and served from this site, so opening a list doesn’t quietly announce you to a dozen retailers’ servers. On a shared list that matters twice over: a picture loaded from a retailer would send them the page’s address, and on a shared list the address is the secret.
We identify ourselves honestly in that request and we respect robots.txt. Where a retailer doesn’t want to be checked, we don’t check them — we say so on the item instead of quietly showing you a stale price.
Leaving
Settings has a delete button. It asks you to type your address, and then it actually deletes: your account, your lists, your items and their whole price history, your sessions, your push subscriptions, and any claims made on your items. Not marked deleted — gone.
Two things survive, both on purpose: feedback you sent, with your account detached from it, and any record required for our own accounting, of which there currently is none because nothing here costs money.
Price history is the one part worth thinking twice about. It’s the only thing here that can’t be recreated by re-adding an item — a year of watching starts again from zero. If you want to stop being emailed rather than to leave, the settings page can do that instead.
When this changes
The date at the top moves. If a change means we’d be doing something with your data that this page currently says we don’t, we’ll email you before it takes effect rather than after — a policy update you find out about by re-reading a policy is not a notice.