For founders who built with Lovable, Bolt, Cursor, Replit or v0

You shipped it in a weekend. Nobody checked it.

Your app works, people use it, and somewhere in it is a default nobody set. This page explains what vibe-coding tools ship out of the box, the five leaks we find in almost every AI-built app, and how to check yours tonight. Five minutes, no jargon.

Already worried? Skip to the free check

What actually shipped

The tools optimise for working, not for safe

Lovable, Bolt and Cursor are brilliant at getting to “it works”. To get there fast they pick convenient defaults. None of them are bugs. All of them are open doors until someone closes them.

What we keep finding

The five leaks in almost every vibe-coded app

These are not theoretical. They are what turns up when founders send us an app that was built fast. For each one: why it happens, and what an attacker does with it.

The trap

Your AI said it added security. Did it?

The most common fix attempt is also the least effective: ask the same tool to “make it secure”. It will add checks, say done, and mean it. But it adds them where it can see them, in the browser, and an attacker does not use your browser. The database is still open. The key is still public.

The tool that built the app cannot audit the app. Verification has to come from outside: a person or a scanner that behaves like an attacker, not like a builder.

What the research says

45%

of AI-generated code contains security vulnerabilities, across every model and every tool tested. Not because the models are bad, but because “it runs” is the only thing they can verify.

Source and more numbers on Ainomiq Security.

How it goes wrong

One week, start to finish

A composite of the stories we hear. No single founder, every detail real.

  1. Saturday

    You ship. The launch post does well. Fifty signups by evening.

  2. Sunday

    Someone curious opens the network tab, sees a database key and tries it. Every table answers.

  3. Monday

    A screenshot of your users table is on X. 'Built with Lovable, secured with nothing.'

  4. Tuesday

    A user emails: 'Did you leak my data?' Under GDPR you have 72 hours to notify. You have no idea what was taken, because nothing was logged.

  5. Wednesday

    You ask the AI to 'make it secure'. It adds checks in the browser, says done, and the database is still open.

Everything on this list is cheaper to check on Friday than to explain on Tuesday.

Do it yourself

Five things you can check tonight

No tools, no signup, fifteen minutes. If you would rather not, the free check below does all of this and twenty more in 20 seconds.

Straight answers

Is vibe coding itself the problem?

No. Lovable, Bolt, Cursor and v0 are the fastest way to get a real product in front of real people. The problem is that they optimise for working, not for safe, and the defaults they pick (public keys, open tables, no limits) are invisible unless you know to look. Keep vibecoding. Check before real users and real payments arrive.

Why can't I just ask the AI to secure it?

Because the model that made the mistake cannot see it. Ask Cursor to 'make it secure' and you get confident code that checks things in the browser, where an attacker simply skips it. Independent research keeps finding vulnerabilities in roughly 45% of AI-generated code. Verification has to come from outside the tool.

My app is small. Who would bother?

Nobody targets you. Scripts scan every new domain for the same five defaults, automatically, all day. Small apps get hit because they are easy, not because they are interesting.

What does the free check actually do?

It sends a few dozen small requests any visitor could make and reports only what it really observed: a table that returned rows, a key in your bundle, a file that answered. Nothing is written, nothing is brute-forced, no signup, no email. If your app is clean on the outside, it says so.

See your app the way an attacker sees it

Paste your domain. In 20 seconds you know which of the five doors is open: keys in your JavaScript, tables that answer without a login, files that should not be public, missing protection. Free, no signup, no email.

Passive only: a few dozen small requests any visitor could make. Nothing is written, nothing is brute-forced.