5 security tests you can run right now.
No technical skills required. No code to read. Takes 10 minutes. If you built your app on Lovable + Supabase, run these before your next user signs up.
How to run it
- Open your deployed app in a browser (the live URL, not Lovable's preview)
- Right-click anywhere on the page and choose "View Page Source"
- A new tab opens with raw code. Press Cmd+F (Mac) or Ctrl+F (Windows)
- Search for each of these strings one at a time:
sk_live,sk_test,sk-proj,service_role,OPENAI,ANTHROPIC
sk_live_abc123... is not.)
How to run it
- Open your Supabase dashboard at supabase.com/dashboard
- Select your project
- Click "Database" in the left sidebar, then "Tables"
- Look at the column labeled "RLS" for every table in the
publicschema
What you are looking for
Every table that stores user data (profiles, messages, orders, subscriptions, anything with private information) needs RLS enabled with at least one policy.
How to run it
- Open an incognito or private browser window (this ensures you are not logged in)
- Visit your app's URL
- Try to navigate to any page or section that should require a login, such as a dashboard, profile page, or data view
- Try adding
/dashboard,/admin,/profile, or similar paths to your URL if there is no obvious private section
How to run it
- Open your Stripe Dashboard and go to Developers → Webhooks
- Click on your webhook endpoint (the URL that receives payment events)
- Look for a "Signing secret" section. It should show a value starting with
whsec_ - Now open your codebase (via Lovable or GitHub) and search for the word
constructEvent
constructEvent (or equivalent signature verification). Both must be true.
constructEvent is missing from your webhook handler. Anyone who finds your webhook URL can POST fake payment events and trigger your fulfillment for free. See the full fix guide.
How to run it (only applies if your app uses AI features)
- Open your app and find the AI feature (chat, generate, summarize, or similar)
- Send the same message 10 times in a row as fast as you can
- Watch whether the app slows down, blocks you, or keeps responding normally
- Alternatively: open your OpenAI or Anthropic dashboard and check whether there is a monthly spend cap or usage alert configured
What your results actually mean
You passed all 5.
Good. These are the easy checks, the ones that can be verified without code access. They catch the most obvious failure modes. They do not catch the hard ones: multi-table RLS edge cases, business logic exploits, payment flow vulnerabilities, input validation gaps, or the patterns Lovable's built-in scanner flags but does not evaluate. If you have paying users or B2B clients, a deeper audit is worth doing.
You failed 1 or 2.
Fix the ones you can from the guides above. If you want someone to verify the fix worked and check the rest of the surface area, the $99 Spot Check covers one area in depth with a 5-10 minute Loom showing exactly what was found.
You failed 3 or more.
This is the most common result for Lovable apps that have been live for under 6 months. None of these failures are your fault. Lovable builds apps that work. The security layer is left to you, and most non-technical founders do not know it exists. The full audit finds every issue across all 14 patterns and the cleanup fixes them. Fixed price, done in 14 days.