01Introduction
TL;DR — We collect the minimum we need to scan your listings. Nothing sold or shared.
ListingSafe is committed to protecting your privacy. This policy explains what we collect, how we use it, and what we never do with your data.
02Information we collect
- Listing data you submit (title, description, tags) for scanning
- IP address — used for rate limiting on free scans
- Google account information (email address, account ID) when you sign in with Google
- Email address — only if you use the "Email Report" feature to receive your scan results or appeal letter. We use it to send the requested report and may occasionally send product update notices. Email preferences live in your Settings — replying to one of these emails does not reach us, so use Settings or the unsubscribe link in the email itself.
- When you scan from the browser extension, a short label naming which Etsy page layout the scanner recognised — so we can tell a page redesign apart from a listing that simply has no vintage details.
- When you are signed in to the extension and open your own listing edit page in Etsy Shop Manager, the extension sends us the listing's id and a short description of the form fields on that page — once each time the page opens, whether or not you run a scan, and again with any scan you run there. For each text box (including the page's text editors), drop-down and tag you have added (at most 40 in total), the description holds its HTML tag, id, name, CSS class and data-attribute names, the id and data-attribute names of the nearest section around it, the label shown next to it (first 60 characters), and the first 80 characters of its current value — for a drop-down, the selected option and how many options it has; for a tag, the first 40 characters of the tag. This is what lets us repair the scanner when Etsy redesigns the page; without it a scan that silently reads the wrong field is invisible to us. We never collect the page's HTML, and nothing outside those fields. If you are not signed in to the extension, nothing is sent.
- We also keep a record on our own servers of a few steps you take in ListingSafe: pressing Optimize or a scan button, opening a scan result, expanding a listing in it, copying a rewrite, pressing Sync or Undo, seeing a plan-limit or upgrade message, pressing an upgrade, sign-in or pricing button, viewing our pricing, starting checkout, and opening a link in an email we sent you. Each record holds the step and its result (for example, whether a scan ran or needed an account first), the button or message name, the page type or the part of the extension it happened in, the listing id when it happened on a listing, the plan you picked when you start checkout, which of our emails a link came from, and the time. Each record is linked to your account if you are signed in, or otherwise to a random id the extension created; the links in our emails carry no personal identifier, so a click from an email is linked to you only if you are signed in when it opens. It never includes page content or listing text.
- If you connect your Etsy shop, we store the access and refresh tokens Etsy issues to us, your shop id and shop name, and the listings, reviews and shop details we read from Etsy on your behalf. Etsy content is deleted on the schedule in section 05.
- If you connect your Etsy shop, turn on write-back, and press Sync on a listing, we write only the title, description or tags we suggested for that listing — nothing you have not seen. Before writing, we save that listing's current text so the Sync can be undone. The saved text is kept only long enough to support Undo — up to 24 hours — then it is deleted automatically, whether or not you used Undo; what stays is the record that a change was made (which field, when, and whether it succeeded), without the text itself.
- Your listing text and the photos included in a check are sent to Anthropic Claude to produce the compliance verdict, the rewrite and the appeal letter.
- If Claude is unavailable for a long period, we may switch these requests to Google Gemini by hand until it is back.
- If you use Copycat Watch or the single-image check, the photos you select are sent to a reverse-image search provider — SerpApi or SearchApi, depending on which one this installation is configured to use — and to Google Cloud Vision, to look for other pages using the same image. Nothing is sent until you start a check.
- When a listing mentions a brand, we look that brand name up in a USPTO trademark database through RapidAPI to build the registration evidence card. Only the brand name goes out — not your title, description or tags.
- Email we send you — the scan report, the appeal letter, and the scheduled-scan digests — is delivered by Resend. Resend receives your email address and the contents of that email.
- The free scan on our home page is protected by Cloudflare Turnstile, a bot check. Cloudflare receives your IP address and the technical details a browser sends with any request, so it can tell a person apart from a script. It runs on the home page only.
- Every page loads its typefaces from Google Fonts. Your browser fetches those files directly, so it receives your IP address and the technical details a browser sends with any request — before you interact with anything. It receives nothing else: no listing text, no photos, no account details.
- Every page also loads Google Analytics from googletagmanager.com, so we can see how many people use the site and which parts they use. Google receives your IP address, the pages you open, your browser and device details, and the page that sent you here; on the Copycat pages it also receives a few product events — that a scan finished and how many results it had, and the domain of a match you act on. It does not receive your listing text, your photos, your email address, or your account details. To recognise a returning visit it stores a randomly generated identifier in cookies in your browser.
- Every page that can start a checkout — the home page and the app — loads Paddle's checkout script from cdn.paddle.com as the page opens, before you click anything. Paddle receives your IP address and the technical details a browser sends with any request, and sets one cookie of its own (
__cf_bm, Cloudflare's bot check for Paddle's own network). It receives nothing else until you actually start a purchase: no listing text, no photos, no account details. - Cookies. Google Analytics sets the cookies described above. We set two of our own: one that keeps you signed in, and one that records which link first brought you here — it lasts 30 days and tells us which channels sellers arrive from. Neither of ours carries your listing data. Paddle sets the
__cf_bmcookie described above on the pages that load its script.
03How we use it
- To perform compliance scans on your listings
- To enforce usage limits per plan
- To see where people get stuck before upgrading, so we can fix it
- We never sell your data, and we never use it to train AI models. To run the checks you ask for, we pass the data above to the service providers named in section 02 (Anthropic Claude for the checks, rewrites and appeal letters, with Google Gemini as an emergency backup, SerpApi or SearchApi for reverse image search, Google Cloud Vision, RapidAPI for the trademark lookup, Resend for the email we send you, Cloudflare for the bot check, Google Fonts for the page's own fonts, Google Analytics for usage statistics, Paddle for payment) — and to no one else.
04Payment
Payments are processed by Paddle. We do not store your payment details.
05Data retention
Scan results are kept in your browser (localStorage) so you can revisit them.
On our servers we keep: the listing text you scanned (title, description, tags) together with the scan's result, so we can check our own accuracy and fix wrong verdicts; and, from the extension on your own edit page, the field description above (recorded when the page opens and with each scan from it). Listing text is never used to train AI models, sold, or shared. Cached scan results expire after 7 days.
06Contact
Questions about this policy? Email justaduck1990@gmail.com — usually a reply within 24h.