ShipShapeScan

Yard notice

Privacy

ShipShape Scan is a passive check. The homepage will not fetch a URL until you tick the box confirming you own the app or you are allowed to test it. This page says what we keep, and for how long. Questions and deletion requests go to hello@mail.shipshapescan.com.

A scan

We store the URL you submitted and the redacted report: grade, finding titles, severities, and the masked location of every finding. The free page shows the full write-up for only the most serious one. Raw secret values are not written into the report. A free report link stays readable for about 30 days, then it is deleted, unless you buy the Launch Report. A paid report is kept without that expiry, together with the email Stripe collected, so the private link keeps working. On production that copy lives in Upstash Redis. On a development machine without Redis it is kept in memory and, when the disk is writable, as a JSON file under data/reports. Your browser also keeps a copy in session storage so the page can reopen in that tab.

The waitlist

If you join a paid tier’s list, we store the email address, which tier you clicked (Launch Report, Report + Fix PR, or Monitor), and the time. In production that contact is created in Resend and added to our waitlist segment. Locally, the same row is written to data/waitlist.json when the disk allows it. There is no account and no card number. Checkout is Stripe and collects a billing address. No VAT ID is collected. The price is flat because the seller is not VAT registered. Stripe handles the card. We keep the checkout email with the paid report until you ask us to delete it. The waitlist email is kept until you ask us to delete it.

Rate limits

We count requests per IP address so one network cannot run the checker without limit. The counter covers the current window (15 minutes for a check, one hour for a waitlist signup) and is not a profile of you. In production the counter is in the same Redis store as the reports.

Logs

The server logs the URL of each GET it sends, so abuse can be reviewed. It does not log response bodies, because those can contain secrets.

What we do not do

We do not sell the list. We do not scan a site we were not asked to scan. We do not use the free check as a way to market to strangers. Report pages are left out of the sitemap and search indexing.