A claim is not a check
A "secure" label you (or your builder) print is a claim about intent. A scan is a test against the running code and live site. Only one of them can be wrong in a way an attacker finds.
A neutral, cross-builder reference for deciding whether an app built with AI is actually safe — including the one dimension most comparisons skip. Published by a security company, with its bias disclosed, and sourced where it matters.
Reviewed October 22, 2026 · Updated October 22, 2026
This guide is written by Viberrr, an independent security and trust layer for AI-built apps. We make money when people scan — so treat the framing with that in mind. We think it holds up anyway.
We do not benchmark builders on speed, cost or output quality, and we don't claim any specific builder is insecure. The safety evaluation is the same whoever you built with.
Claims here are sourced where possible, and dated. Where we don't have evidence, we say so instead of reaching for a number.
Most important: documentation describing a security capability does not establish that your app is safe. That's the gap this whole page is about.
The same way a test beats a feature score: trust isn't what you say about your app, it's what holds up when someone independent checks.
A "secure" label you (or your builder) print is a claim about intent. A scan is a test against the running code and live site. Only one of them can be wrong in a way an attacker finds.
The party that built the app has every incentive to call it safe. An evaluation worth trusting is run by someone who doesn't benefit from the verdict.
A builder's docs describing a security capability tell you the capability exists. They do not tell you it's switched on, configured correctly, or present in your particular app.
Four questions decide whether the app works and will last. A fifth — the one most “compare the builders” pages leave out — decides whether it's safe to put in front of real people.
Whether the app leaks secrets, exposes its database, ships vulnerable or hidden code, leaves its live site open, or quietly sends user data somewhere you didn't agree to. This is the dimension a feature-comparison table can't cover — and the one that ends up in the news when it's wrong.
How to test it: run each check below against your own repository and live site — not the builder's marketing. Each maps to a public standard so you can verify what it means.
Stripe, OpenAI, AWS, GitHub and database master keys in code or committed .env files.
Supabase tables without row-level security, and admin keys shipped to the browser.
Obfuscated scripts tucked into config files that run every time you build.
Packages with publicly known security holes, checked against the OSV database.
HTTPS, security headers, and secret files left downloadable on your domain.
Which AI providers receive user data, and unsafe model files in the repo.
Both come down to a check on the security dimension that nobody ran before launch. Figures are from public reporting and the NVD — see Sources below.
A legacy storage bucket was left reachable on the public internet. Private images — including identity photos — were downloaded and spread. This maps directly to publicly readable storage (OWASP A01).
| Selfies & photo IDs | 13,000 |
|---|---|
| Posts, comments & message images | 59,000 |
Source: Tea's public statement, as reported July 2025 (Tom's Guide, Bitdefender). Figures are the company's own; independent estimates vary. Checked Oct 22, 2026.
The NVD entry describes insufficient row-level security in Lovable-generated apps through 2025-04-15, letting unauthenticated users read or write arbitrary tables. Public reporting put the scope at 170+ apps. The vendor disputes the entry, arguing customers are responsible for their own data rules — which is exactly why an independent check on your app matters.
Source: NVD entry for CVE-2025-48757; scope figure from public reporting. Checked Oct 22, 2026.
From SafeLaunch scans of real AI-built apps. Aggregate and anonymized; we only publish rates once the sample is large enough to be honest.
Aggregate SafeLaunch telemetry, updated October 23, 2026. See the full data report →
Lovable, Bolt, Cursor, v0, Replit, Overskill, Claude Code — they differ on speed, price and feel, and we take no position on that. But a leaked key, an open database or a missing access rule looks identical whichever tool wrote it.
And the safety verdict isn't something a single builder can neutrally certify about its own output. That's the layer Viberrr sits in: independent, cross-builder, running the same evaluation and issuing the seal — so the trust comes from a test, not a logo.
The neutral layer
Viberrr — independent trust layer
Runs the checks · issues the seal
The incidents, the standards behind each check, and the databases we scan against. Each checked on the date shown.
Insufficient database row-level security in Lovable-generated apps (CWE-863, published 2025-05-29; disputed by the vendor).
Checked Oct 22, 2026
Coverage of the July 2025 Tea incident and the ~72,000 images exposed from an unsecured storage bucket (Tom's Guide).
Checked Oct 22, 2026
Independent write-up of the same incident and the image breakdown (Bitdefender).
Checked Oct 22, 2026
The category mapping behind the access-control (A01), vulnerable-components (A06) and misconfiguration (A05) checks.
Checked Oct 22, 2026
CWE-798 (hard-coded credentials) and CWE-506 (embedded malicious code), used for the secrets and hidden-code checks.
Checked Oct 22, 2026
The database used to check dependencies against publicly known vulnerabilities.
Checked Oct 22, 2026
You evaluate it across the dimensions that matter — does it work, can you own and export the data, does it handle money correctly, can someone else run it — and, critically, whether it's secure: no leaked keys, no open database, no missing access rules, no vulnerable or malicious dependencies, and a hardened live site. Reading the builder's documentation is not the same as testing your actual app.
Not by itself. The builder generates code; the safety of the specific app you shipped depends on how it was configured and what you added. A builder can't neutrally certify its own output, and documentation that a capability exists doesn't prove it's enabled in your app.
Because it has an incentive to say yes, and because "secure" is a property of the running app, not of the tool that wrote it. Independent verification exists precisely so the verdict doesn't come from the party that benefits from it.
Leaked secrets — live API keys pasted into frontend code or committed to the repo — and databases shipped without access rules, so anyone with the public key can read other users' data. Both show up again and again across every builder.
SafeLaunch checks your repo and live site against every item above, explains each finding in plain English, and hands you the fix.