Lovable · security

Security review for Lovable and Supabase apps

The scary headline about vibe-coded apps is true often enough to take seriously: one 2026 scan of over a thousand Supabase-backed apps found security issues in almost all of them, and the CVE-2025-48757 pattern — missing or over-permissive row-level security — hit well over a hundred Lovable apps in 2025. The good news is that the fixes are known and mostly mechanical. This is what I check and what you get.

Talk to me about your appBy Cooper Tingey · Last reviewed September 21, 2026

Where Lovable apps actually leak

  • Row-level security missing or written as "true" — any signed-in user (or anyone with the public anon key, which is in your JavaScript by design) can read other tenants' rows.
  • A service-role key shipped to the browser, usually via an edge-function call copied into the front end.
  • Secrets committed to GitHub: .env files, Stripe keys, webhook signing secrets.
  • Webhooks that do not verify signatures, so anyone can "mark an order paid".
  • Authorization done in the UI only — the button is hidden, the API call still works.
  • Storage buckets that are public when they should not be, and file paths that are guessable.
  • Prompt-injection paths where user text is fed to an LLM that can then call privileged functions.

What the review covers

  • Every table: RLS enabled, policies read line by line, tested with two real accounts trying to reach each other's data.
  • Every edge function: authentication, input validation, secret handling, error responses.
  • The bundle and the repo: keys, .env history, source maps, exposed endpoints.
  • Auth flows: sign-up, password reset, OAuth, session handling, email deliverability (SPF/DKIM).
  • Payments and webhooks: signature verification, idempotency, out-of-order events.
  • A written report in plain English with severity, proof, and the fix for each item — the document you hand to a customer's IT team or an acquirer.

Fixing it, not just finding it

A scanner tells you the door is open. I close it: rewriting policies, moving privileged logic server-side, rotating exposed keys, adding signature checks, and then re-testing with the same two-account method. If your app is on Lovable Cloud and the fix needs database access you do not have, the review usually pairs with a migration to your own Supabase project.

Questions

My Lovable security scan says "no issues". Am I fine?

The built-in scan checks whether RLS is enabled, not whether the policies are correct. A policy of "true" passes the scan and exposes everything. The review reads the policies.

How long does a review take?

Two to five working days for a typical Lovable app, including the written report. Fixes are quoted separately and are usually a few days more.

Will you need my production credentials?

I need read access to the repo and a Supabase role scoped to the review. Fixes are made on a branch and go through staging before production.

Let's talk

Send me your app for a security review

Tell me what you built and where it got complicated. I read every message myself and reply within one business day — no pitch, no obligation.

I read every message myself. You'll hear back within one business day.