Skip to contentLockpick
How it worksPricingDocs

Read

  • BlogPlain answers to common security questions
  • GuidesStep by step fixes for common setups
  • Security checksEvery check we run, explained

Learn

  • Learn with PickTwo-minute lessons on how sites get attacked
  • Lockpick for ClaudeCheck sites from Claude and other assistants
  • GlossaryThe words we use, in plain words

Company

  • ChangelogWhat changed, newest first
  • StatusWhether scans are running right now
  • Security and trustHow we check and what we never do
Sign inCheck it
Guides

Lovable security checklist for a live app

By Mark KashefPublished October 8, 2026

A Lovable app is safe to share when three things hold. Secret keys stay in Lovable's Secrets, every table has access rules that match who should read it, and the published site sends nothing you did not mean to publish. Atlas, our example app at atlas.example, is the running example below.

Where should each key live?

Lovable says its Secrets are encrypted, injected into your Edge Functions and never reach the browser. That is where payment keys, AI provider keys and email keys belong. Lovable says values prefixed with VITE_ are embedded into the client bundle at build time and are safe to be public. So a publishable database key in the bundle is expected. A secret key in the bundle is not.

ValueWhere it goes in LovableFine in the browser?
Stripe or OpenAI secret keySecretsNo
VITE_SUPABASE_PUBLISHABLE_KEY.envYes, it only reaches what your access rules allow
A password for another serviceSecretsNo

Lovable itself says API keys and other secrets cannot be stored safely in client-side code. If a secret ever landed in your frontend code, treat it as used and replace it with the service that issued it.

Curious what your site shows from outside? The quick check is free and needs no account.

Check it

Are your access rules doing what you think?

Row level security decides which rows each signed-in person can read or change. Lovable says it sets up these rules automatically when it builds features that store user data. Review them anyway when you add a table by hand or change who can see what. The question to ask of every table is who should be able to read it without signing in. For most tables the answer is nobody.

What does Lovable's own scan cover?

Lovable scans your project when you publish, and that scan reads your code and settings. Lovable says its own scans cannot guarantee complete security. An outside check adds a different view. It reads only what your published site shows to anyone, the way Atlas looks to a stranger at atlas.example.

How to check the live app

  1. Publish the app and copy its public address.
  2. Run a quick check on your published address to see what a stranger sees, then read how we check for what it covers.
  3. For each thing to fix, copy the fix prompt into Lovable's chat and review the change before you publish again.

An outside check does not see your Lovable project, your Secrets or your database policies. It sees what the live site sends, which is what an attacker sees too.

Questions people ask

Is the publishable key in my Lovable bundle a leak?

No. Lovable puts publishable values in the bundle on purpose. It only reaches what your access rules allow, so the rules are what protect your data.

Does Lovable check my app before I publish?

Yes, Lovable runs its own scan, and it says that scan cannot guarantee complete security. An outside check of the live site is a second, different view.

See what your site shows from outside

A quick check reads your homepage the way a visitor would and gives you a score. No account needed.

Check your site

Related pages

  • Supabase security checklist for apps built with AI
  • Supabase anon key vs service role key, which one can be in your frontend
  • Fix it with your AI, prompts for Lovable, Bolt, Replit, v0, Cursor and Claude Code

Sources

  1. Database Lovable docs, read on October 6, 2026
  2. Secrets Lovable docs, read on October 6, 2026
  3. Security Lovable docs, read on October 6, 2026

About the author

Mark Kashef, Founder of Lockpick

I'm Mark, and I build Lockpick. I write these pages, and each one is checked against its sources before it goes live. The Updated date changes only when the page itself does.

Lockpick
PricingMethodologyDocsBlogGuidesSecurity checksLearn with PickSecurity and trustLockpick for ClaudeChangelogStatusFacts for AI assistants

Lockpick is a security scanner for vibe-coded apps. It checks what your live site exposes and what a GitHub repo or AI skill would do before you install it, then gives you a fix prompt for Lovable, Bolt, Replit, Cursor or Claude Code.

Lockpick assesses public pages you are authorized to test, and public GitHub code it never runs.

© 2026 LockpickTermsPrivacyContactSign in