The audit your AI-built app never had.

You shipped something real with Lovable, Bolt, Cursor or Claude Code. Now a stranger can probably read every row of your database. This kit finds out, and ships the file that closes it.

  • SECURITY
  • SEO
  • EU LEGAL

One zip, 102 files. No subscription, no account, no server. Fourteen-day refund.

AUDIT REPORT

$ node scan/audit.mjs

  • RLS sweep FAIL
  • anon read FAIL
  • cookie flags PASS
  • auth gate PASS
  • security headers PASS
  • sitemap and robots PASS
  • canonical WARN
  • withdrawal page PASS

2 FAIL, 1 WARN → exit 1

THE PROBE EVERY VIBE-CODED APP FAILS FIRST

A stranger can read every row. Here is the ten-second test.

Every app built on Supabase ships its public key inside the JavaScript. That is by design, and it is fine. It also means Row Level Security is the only lock on your data, and the AI that built your app almost certainly never turned it on.

Copy the public key out of your own page source and send one read to any table:

# read-only, against your own project
curl "https://YOUR-PROJECT.supabase.co/rest/v1/your_table?select=*&limit=1" \
  -H "apikey: YOUR_PUBLIC_ANON_KEY"

If a row comes back, every row is public. If you get an empty array, that is not proof either: an empty table passes this test for the wrong reason. Write one row as a real signed-in user and run it again.

That is probe one of nineteen. The kit runs the safe ones for you, prints the exact command for the handful that must be run by hand, and ships the SQL that fixes this one: RLS on for every table, each user sees only their own rows, with a verifier that proves it held.

WHAT IS INSIDE

Four checklists, nineteen probes, one scanner, and the files that close each failure.

Every claim in this kit is a probe with an exit code behind it. There is no score and no grade. A check either passed, failed, warned, or could not reach your site, and the kit never reports the last one as a pass.

SECURITY

  • 19 probes, with the four that must never be automated marked, and the exact command for those
  • RLS lockdown: own-rows policies, server-only tables revoked, and a verifier
  • Auth middleware with the header spoof closed, and exact-match public routes
  • Secure cookie flags, an open-redirect clamp, constant-time admin key compare
  • A Postgres-backed login rate limiter, per account and per address
  • The full security header set for your config

SEO

  • One site constant, then a sitemap and robots driven off a page registry
  • Per-page metadata, canonical and Open Graph, checked page by page
  • Share cards rendered at the edge, site-wide and per page
  • IndexNow: key file, submission script, and the four places the key must appear
  • A build-time check that fails the build when a page is missing its metadata

EU LEGAL

  • A script that decides whether you actually need a cookie banner
  • Privacy, terms, and a cookie page written for a banner-free site
  • The pre-contract disclosure that has to sit on the subscribe screen
  • Statutory withdrawal instructions and the model form
  • An Impressum for Germany and Austria, and a procedure for data subject requests

OPS

  • An env inventory that reads names and locations, never values
  • A Playwright skeleton that signs a real user in, on a test project
  • Nightly backup with a restore path that has actually been run
  • A health route that leaks nothing, plus a nightly check
  • Full-page screenshots that fail on overflow or console errors

HOW IT RUNS

You do not write the code. Your agent does.

The kit ships the instruction files a coding agent looks for. Your job is to answer its questions, do the few steps that need a person at a browser, and say yes or no when it asks before writing anything.

Unzip it beside your app

Outside your repository, or inside a folder you have gitignored. Copy one example config and fill in your domain, your gated paths and your public key.

Paste one prompt

It detects your framework, runs the four code-side checks, then the live scan, reads the report, and applies the fixes in the order that matters. Secrets first, because a leaked key makes every other fix pointless.

Re-run the scan

After every fix. A fix that does not move a FAIL to a PASS was not applied. When the table has no open failures, the kit hands you the six checks only a human can do.

SCOPE, STATED PLAINLY

Read this before you buy.

What the fixes assume

  • Next.js App Router, Supabase and Vercel. Files under src/app and src/lib, SQL in the Supabase editor, deploys to Vercel.
  • The checklists and the scanner apply to any HTTP app.
  • On a Vite single-page app, which is what Lovable and Bolt usually produce, you get the audit, the scanner and five of the six prompts. The drop-in fix files do not apply, and one prompt tells you that up front.

What it does not do

  • No Pages Router, Remix, SvelteKit or Express fix files.
  • No nonce-based CSP and no consent banner component.
  • No UK, Swiss or California privacy. No B2B terms, no German-language texts.
  • No keyword research. The checks enforce that a phrase is present and the right length, not that it is a good phrase.
  • It does not certify you, rank you, or make you compliant, and nothing in it is legal advice.

The full list of what this kit does not cover ships inside it, in the README. A kit that pretends to cover everything is how you end up with a false PASS.

QUESTIONS PEOPLE ASK FIRST

Before you buy.

Will this work on my Lovable app?

The checklists, the scanner and the code-side prompts will. The drop-in fix files assume Next.js App Router, so on a Vite single-page app you get the audit and the guidance but not the files. One of the prompts confirms which stack you have.

Does it send my data anywhere?

No. The scanner runs on your machine, against your own site, and writes a report into your own folder. There is no account, no server and no telemetry. It reads environment variable names, never their values.

Do I need to know how to code?

No, but you need a coding agent, and you need to be willing to run a few commands and click through your own dashboards. Rotating a leaked key and turning on two-factor authentication are things only you can do.

Is it safe to run against production?

The scanner is read-only. The four destructive probes are not automated at all: they either write a row or count as login attempts and would lock you out of your own login for fifteen minutes. The kit prints those for you to run by hand, once.

Will it break my app?

The scan cannot. The fixes can, like any change, which is why each one goes in with its own prompt, in a set order, and the kit tells you to re-run the scan after each one.

What do I actually get?

One zip, 102 files: four checklists, the scanner, 24 fix folders each with a prompt, six paste-in prompts, and the two agent instruction files. Updates to the kit are included.

Otto, the Strangerproof inspector: an orange block figure in a yellow hard hat and a hi-vis vest.

Find out what a stranger can reach.

€39one payment, no subscription

Instant download. Fourteen days to change your mind, which in the EU is your right and not a favour.