Find the leaks in your AI-built app before anyone else does.

Cobalt Owl checks what your Lovable, Bolt or Cursor app shows the public internet: exposed keys, open Supabase tables, missing headers. You get a plain-English report and a prompt to fix each issue.

Read-only checks. Keys are masked. We count rows, never read them.

Sample report, example data
yourapp.lovable.app14 checks, 3 issues to fix
62of 100
Supabase table readable by anyoneprofiles: 1,284 rows, RLS off
Copy fix prompt
OpenAI key in your JavaScriptsk-pro••••••••Q3x in /assets/index.js
Copy fix prompt
No Content-Security-PolicyInjected scripts can run freely
Copy fix prompt
No .env or .git files exposedChecked /.env, /.env.local, /.git/config
You confirm ownershipEvery scan needs your OK first
Read-onlyWe never write, log in or attack
Secrets stay maskedOnly the first and last characters
Delete anytimeOne email removes your data

What one scan checks

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

Keys in your codeStripe, OpenAI, Anthropic, AWS, GitHub and Supabase service keys shipped to the browser
Your databaseSupabase tables anyone can read with the public anon key. We report row counts only.
Files left online.env, .git and source maps published with your live site
HTTPSWhether every visit is encrypted and HSTS is turned on
Browser protectionsContent-Security-Policy, clickjacking, nosniff and referrer headers
CORS and cookiesWhether other sites can call your app as your users, and how session cookies are set

How it works

Paste your app's URL

The address of your deployed app, like yourapp.lovable.app or your own domain.

Confirm it's yours

Tick the box to confirm you own the site or are allowed to test it. We scan nothing without it.

Fix with one prompt

Each issue comes with a short explanation and a prompt you paste into Lovable, Cursor or Claude Code.

A finding, and the fix you paste

This is example data, showing the format you get for every issue.

Supabase table readable by anyoneprofiles: 1,284 rows

Your app ships a public Supabase key, which is normal. But Row Level Security is off on this table, so anyone with that key can read every profile. We counted the rows and read none of them.

Paste into Lovable or CursorCopy
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 nothing in the app breaks.

Pricing

Start with a free scan. Pay only if you want the full report or ongoing checks.

Free scan

$0
  • All six check groups
  • Score and issue list
  • Fix prompts for every issue
Scan my app

Full report

$9 one-time
  • Everything in Free
  • Downloadable PDF report
  • Re-scan after you fix
Join the waitlist
Most useful

Monitor

$19 / month
  • Weekly scans of one app
  • Email alert when something new appears
  • Scan history
Join the waitlist

Studio

$49 / month
  • Up to 10 apps
  • Daily scans
  • Reports you can share with clients
Join the waitlist

Paid plans are not live yet. Joining the waitlist costs nothing.

How we handle your data

A security tool should be careful with what it sees. These are the rules our scanner follows.

Only what's public

We request the same pages and files any visitor's browser can request. No logins, no forms, no attacks.

Keys are masked

Found keys are shown as the first few and last few characters. We never store a full key.

Counts, not contents

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

Short retention

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

Delete on request

Email privacy@cobaltowl.dev and we remove your scans and waitlist entry.

Report a problem

Security contact and policy are in security.txt.

Questions

Is a scan safe to run on 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.

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 found 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 Supabase checks matter most for apps built on Supabase.

Who runs Cobalt Owl?

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

Check your app today. Get told when it changes.

Run a free scan now, or join the waitlist for weekly monitoring.

Scan my app free