Cobalt Owl

For apps built with Lovable, Bolt, Cursor, Replit & v0

Your app looks fine.
Is it leaking?

Most AI-built apps ship with an exposed key or an open database, and nothing looks broken. Paste your link and see what a stranger can see in under a minute. Every problem comes with a prompt your AI can fix it with. Then the owl keeps watching, and tells you the moment something new leaks.

No signup. No code access. No passwords.

Example: yourapp.lovable.app14 checks, 3 issues to fix
62out of 100
Supabase table readable by anyoneprofiles: 1,284 rows, RLS off
Fix prompt
OpenAI key in your JavaScriptsk-pro••••••••Q3x in /assets/index.js
Fix prompt
No Content-Security-PolicyInjected scripts can run freely
Fix prompt
No .env or .git files onlineChecked /.env, /.env.local, /.git/config

What builders are posting publicly. Not customers or endorsements of Cobalt Owl.

“He had no idea it was exposed.”5 minutes to find a leaked key in a friend's vibe-coded app. @Toby_Sal on X
56/100Average security score of 29 Lovable apps one builder scanned. r/lovable
A green shield isn't enough“RLS enabled” can still mean every row is public. r/lovable

Nothing breaks. That's the problem.

Your AI agent fixes errors fast, sometimes by switching off a protection or pasting a secret key where everyone can download it. The app keeps working. You find out when a customer emails you, or when a $10,000 API bill shows up.

Your databaseAnyone with your public link can read every user's email.
Your keysOpenAI or Stripe keys in the code every visitor downloads.
Your files.env and .git files left online.
You confirm ownershipNo scan runs without it.
Read-onlyNo logins, forms or attacks.
Secrets stay maskedWe never store a full key.
Delete anytimeOne email removes your data.

One scan is a snapshot. Your app changes every day.

Every time you ask your AI for a change, it can quietly reopen a hole you already fixed. A clean scan last week says nothing about today. Owl Watch rescans your app every day and after every change we spot, and emails you only when something new shows up.

One-time scan

  • Checks your app once
  • Clean today, unknown tomorrow
  • You remember to scan again
  • You find new leaks yourself

Cobalt Owl Watch

  • Rescans every day
  • Rescans when your app changes
  • Email the moment something new leaks
  • History of every scan

What a scan looks for

The mistakes AI builders make most often, checked from the outside, the way a stranger sees your app.

Secret keys anyone can copyStripe, OpenAI, Anthropic, AWS, GitHub and Supabase service keys shipped to the browser.Critical if found
Database tables anyone can readSupabase tables anyone can read with the public key. We count rows and read none.Critical if found
Files you didn't mean to publish.env, .git and source maps published with your live site.Critical if found
Safe connection (HTTPS)Every visit encrypted, with HSTS so browsers never fall back.Medium if found
Browser protectionsContent-Security-Policy, clickjacking, nosniff and referrer headers.Medium if found
Who else can call your appWhether other sites can call your app as your users, and how session cookies are set.High if found

From address to fixed in three steps

1

Paste your link

Your live app, like yourapp.lovable.app or your own domain. Tick the box to confirm it's yours.

2

Get your score

A score from 0 to 100 and a plain-English list of what a stranger can see. Under a minute.

3

Paste the fix

Paste each fix prompt into Lovable, Cursor or Claude, then check again until it's green.

We don't just find it. We hand you the fix.

Security tools are written for security engineers. Ours is written for you: what's wrong, why it matters, and the exact prompt to paste. Example data below, in the format your report uses.

Critical

Supabase table readable by anyone

Your app ships a public Supabase key, which is normal. Row Level Security is off on this table, so anyone with that key can read every profile.

Found: profiles, 1,284 rows. We counted them and read none.

Paste into Lovable or Cursor

The profiles table in Supabase is readable by anyone with the anon key. Enable Row Level Security on it and add policies so a signed-in user can only select and update their own row (auth.uid() = id). Show me the SQL and check that nothing in the app breaks.

Built to be careful with your app

Read-only, like a normal visitor. We never ask for passwords or code access. These are the rules the scanner follows.

Only what's public

We request the pages and files any visitor's browser can load. Nothing behind a login.

Keys are masked

Found keys show only their first and last characters. We never store a full key.

Counts, not contents

For open tables we ask the database for a row count. We never download rows.

90-day retention

We keep the host, score and number of issues for 90 days, then delete them.

Delete on request

Email [email protected] and we remove your scans and waitlist entry.

Report a problem

Our security contact is in security.txt.

Pricing

The scan is free. Pay only when you want proof or peace of mind.

Free scan

$0

See where you stand.

  • All six check groups
  • Score and issue list
  • A fix prompt for every issue
Check my app free
Best place to start

Full report

$9 one-time

Before launch or a client handoff.

  • Everything in Free
  • Downloadable PDF report
  • A re-scan after you fix
Get my full report

Owl Watch

$19 / month

Your app has real users and keeps changing.

  • Daily rescans of one app
  • Rescan after changes we detect
  • Email when something new leaks
  • Scan history
Watch my app

Studio

$49 / month

You build apps for clients.

  • Up to 10 apps
  • Daily scans
  • Reports to share with clients
Watch my client apps

The $9 Full report is available now: run a free scan, then buy the full report for that scan. Owl Watch and Studio open soon; join the waitlist free and we'll email you when they do. Owl Watch and Studio renew automatically each month until you cancel; cancel online anytime. See subscription and refund terms.

Questions

Is the scan safe for my live app?

Yes. Every check is a normal read request, like a visitor loading your site. We don't submit forms, log in, or send attack payloads.

Do I need to give you my code or passwords?

No. We only look at what's public, the same pages and files any visitor's browser loads. No signup, no code access, no passwords.

Lovable already shows a green security check. Why do I need this?

Because a green check can still mean every row is public. A policy can exist and still let anyone read your data. We test what a stranger actually sees.

Can I scan a site that isn't mine?

No. You must own the site or have permission to test it, and you confirm that before every scan. Scans are rate-limited.

Does a good score mean my app is secure?

No. It means the issues we check for weren't visible from the outside. It isn't a penetration test or a code review.

Which builders does it work with?

Any deployed website. The fix prompts are written for Lovable, Bolt, Cursor and Claude Code, and the database checks matter most for apps on Supabase.

Who runs Cobalt Owl?

Cobalt Owl is operated by Organic Media Buying LLC, a US company.

Find out before a stranger does.

Run a free check now. Want the owl to keep watching? Join the waitlist for Owl Watch: daily rescans and an email when something new leaks.

Check my app free