Privacy
Last updated 16 September 2026
wishcart is a shopping list for two people. This page says what it stores, what the browser extension can see, and who else ends up with any of it. It describes what the app does today — not what it might do later.
Who runs this
This service is Wishcart, operated by Koorosh Ghaffari, from California. Questions, corrections, or a request to delete your account: the.k.king.64@gmail.com.
What we store about you
Because you typed it in:
- Your email address, and your display name if you set one.
- Your shipping address, if you add one — street, city, region, postcode, country.
- Your clothing sizes, if you add them — tops, bottoms, dress, shoe, ring, bra, inseam, and any free-text notes.
Because you saved something:
- The item’s link, title, picture, price, retailer, the folder you put it in, the size you asked for, and any note you added.
- A record of the prices we have seen for it over time, so your partner can be told when something goes on sale.
Because the app has to work:
- A sign-in session, and the single-use tokens behind sign-in links.
- A token for each browser you connect the extension to. We store only a hash of it — the token itself is shown to you once and never kept.
- The web address of any product page we failed to read, so we can fix the reader. No page content, and nothing identifying you.
What your partner can see
This is the part worth reading twice, because it is the point of the app rather than a side effect.
The person you share a list with can see your name, your shipping address, your full size profile including your notes, and any item in a folder you have marked gift or shared. Items in a private folder are yours alone.
They cannot see anything about what has been bought from your own list. That is deliberate and enforced in the database, not just in the interface — the whole idea is that a present stays a surprise.
What the browser extension can see
The extension asks Chrome for permission to run on every site you visit over HTTPS. We are not going to dress that up: the permission is as broad as it sounds, and it covers sites that have nothing to do with shopping.
What it does with that access is narrow. On each page it looks at the page’s own markup — product tags, price-shaped text, an add-to-cart-shaped button — to decide whether to offer you a “Save” button. That happens entirely inside your browser. Nothing is sent to us while it is happening.
It never offers to save on a list of sites where a shopping button makes no sense, including Google, webmail, Google Docs, LinkedIn, Facebook, X, Reddit, Wikipedia and GitHub.
We only receive anything when you press save. At that moment the extension sends us the page address, the title, picture, price, currency and selected variant it read, and which folder you chose. It does not send the page’s contents, your cookies, anything you typed into a form, or your browsing history.
The extension also asks for image access across sites so it can fetch a product photo when the page will not let it read one any other way.
Product images
When you save something we copy the product picture onto our own storage, rather than only linking to the retailer’s copy. Retailers move and delete their images, and an item with a grey box where the picture was is not much of a wishlist.
That copy is stored on Vercel Blob. Nothing currently deletes it — not archiving the item, not anything else. Removing one is a manual job today.
Who else gets it
- Vercel — hosts the app. Every request passes through them, and our server logs pass through their retention. We do not write email addresses into those logs: a refused sign-in records the reason and the domain only.
- Supabase — hosts the database. Everything above lives there.
- Vercel Blob — stores our copies of product images.
- Our email provider — receives your address and the sign-in link so it can deliver it. We are moving this to Resend; today it goes over Gmail’s SMTP.
- Retailers — when you save an item, our server fetches that product page to read its title, price and picture, the same way a browser would.
There is no analytics, no error tracking, no advertising, and no tag manager of any kind. Nobody is buying this data, because nobody is being given it.
When signing in with Google becomes available, Google will tell us the email address and name on the account you choose. That is not live yet.
Cookies and what sits in your browser
One cookie, for your sign-in session. There are no advertising or analytics cookies, because there is no advertising or analytics.
The extension keeps its connection token in Chrome’s own extension storage, where only the extension can read it, along with whether you have turned detection off and any sites you have dismissed it on. The app keeps two “you have seen this banner” flags in your browser, which contain nothing personal.
How long we keep it, and what deleting actually does
The honest version, which is less tidy than most policies: we currently keep things indefinitely. There is no scheduled clean-up of anything.
- Removing an item archives it. The record — its link, your note, our copy of the picture — stays in the database. Saving the same link again brings it back. It is not erased.
- Deleting a folder really does delete the folder. Items that were in it are kept and become unfiled.
- Removing your address, or disconnecting an extension, really does delete that record.
- There is no button to delete your account, and no way to leave a shared list. We have not built either yet.
If you want your account and everything in it removed, email the.k.king.64@gmail.com and we will do it by hand. We would rather write that sentence than describe a button that does not exist.
Your rights
You can see and correct most of what we hold from inside the app. For anything else — a copy of your data, or deletion — email the.k.king.64@gmail.com.
If you are in California, you have the right to know what personal information we collect and to ask us to delete it. This page is the “know” part. We do not sell personal information and we do not share it for advertising. There is nobody to sell it to.
Children
wishcart is not intended for anyone under 13, and we do not knowingly collect anything from them.
Security
Sign-in uses a single-use emailed link or a password, never a password we can read. Extension tokens are stored as hashes. Everything travels over HTTPS.
It is a small app run by one person. It is not audited, and we are not going to imply otherwise.
Changes
If this page changes in a way that matters, we will say so in the app rather than quietly editing the date. The date at the top is when it last changed.