Customers can read each other’s data.
Order #1042 Your order
Order #1043 Not your order
Signed-in users can reach other customers’ records
ProductChecks
Anyone can try to open someone else’s order, change a price or download a backup. We ask your app 129 questions like that, in plain words.
Order #1042 Your order
Order #1043 Not your order
Signed-in users can reach other customers’ records
Changed in the browser
PayCustomers can choose how much they pay
AI usage this month
$482
Strangers can use your AI features on your bill
A stranger’s scanner
Inside backup.sql
A database export is downloadable by anyone
.env
STRIPE_SECRET_KEY=sk_live_51N••••••Secret keys are committed to your repository
Your address is enough to start. The more you let us see, the more of your report fills in.
Waiting: these checks run once the domain is confirmed.
Not checked: these checks need access to your code, which comes with a plan.
Every check is a question, and some answer more than one. Search all 129 of them, and open any to see what it means.
129 questions
What could happenCritical
A stranger or another customer reads, changes or deletes data that is not theirs.
How we check
The check follows every way into your app, such as route handlers, API routes and Server Actions, to each database call. It asks four questions.
Vera, our AI, reads every finding of this check again and leaves out the false alarms it can rule out.
Read the whole checkWhat could happenCritical
People get paid features for free or for less, or real payments fail to count.
How we check
The check follows every checkout, every payment webhook (the address your payment provider calls to report a payment) and every place that grants paid access. It knows the events Stripe, Lemon Squeezy, Paddle and Polar send.
Vera, our AI, reads every finding of this check again and leaves out the false alarms it can rule out.
Read the whole checkWhat could happenHigh
Anyone uses your app as a free AI service and runs up your provider bill.
How we check
The check follows every call to a paid AI model: the AI SDK, OpenAI, Anthropic, Google, Replicate, fal, or a direct request to a model API.
Vera, our AI, reads every finding of this check again and leaves out the false alarms it can rule out.
Read the whole checkWhat could happenCritical
Visitors meet an error page, or leave before the page appears.
How we check
The check loads your homepage. If it answers, the check asks twice more and uses the middle of the three response times.
Read the whole checkHow we check
The check reads the exact version of every library your app runs on from the lockfile (npm, pnpm, Yarn or Bun) and looks it up in the OSV vulnerability database.
Read the whole checkWhat could happenHigh
A stranger or another customer reads, changes or deletes data that is not theirs.
How we check
The check follows every way into your app, such as route handlers, API routes and Server Actions, to each database call. It asks four questions.
Vera, our AI, reads every finding of this check again and leaves out the false alarms it can rule out.
Read the whole checkWhat could happenHigh
People get paid features for free or for less, or real payments fail to count.
How we check
The check follows every checkout, every payment webhook (the address your payment provider calls to report a payment) and every place that grants paid access. It knows the events Stripe, Lemon Squeezy, Paddle and Polar send.
Vera, our AI, reads every finding of this check again and leaves out the false alarms it can rule out.
Read the whole checkWhat could happenMedium
Anyone uses your app as a free AI service and runs up your provider bill.
How we check
The check follows every call to a paid AI model: the AI SDK, OpenAI, Anthropic, Google, Replicate, fal, or a direct request to a model API.
Vera, our AI, reads every finding of this check again and leaves out the false alarms it can rule out.
Read the whole checkA check tells you what it saw that day. Finding nothing doesn’t prove a problem can’t exist.
Start with a free check. You don’t even need an account to see your score.