HullCheck Early access

Pre-launch inspectionhullcheck.dev

Your AI built it. Who checked it?

A pre-launch leak check for Supabase apps built with Lovable, Bolt, Cursor, Claude Code or Replit.

HullCheck finds the leaks AI app builders leave behind: database tables anyone can read, secret keys in your JavaScript, published source maps. Every finding comes with a fix prompt you can paste straight into Lovable, Cursor or Claude Code.

We only ever check domains you've proven you own. You verify with a DNS TXT record or a file under /.well-known/. No exceptions.

Example tag · fictional app saltmarsh-tasks.example 3 FAIL 2 PASS See the report

Why bother · someone else's research, not ours

In one scan, 57 of every 100 reachable Supabase apps let strangers read their tables.

Filled: allowed unauthenticated table reads. 2,096 of 3,680 reachable Supabase apps.
57%
of reachable Supabase apps (2,096 of 3,680) allowed table reads without logging in.
1 in 23
of all apps scanned (1,332 of 30,998) shipped a secret key in public code.
13%
of apps served a source map. Five in six of those were one platform's own badge script, not the app's code.

Source: Reeve, “The State of Vibe-Coded App Security 2026”, published 19 August 2026: a passive scan of 30,998 live vibe-coded apps, 12–14 August 2026. Also summarised in VibeEval's August 2026 report. This is their research, not ours; HullCheck did not run this scan.

What you get back

One tag. Every leak on it. The fix underneath.

Each finding says what's open, where, and what it means in plain English. Then comes a prompt you paste into your AI coding agent and, where you need it, the SQL for the policy.

We record pass or fail for each check. We never store the contents of your tables.

Example report · fictional app, for illustration

Deep check · specimenHullCheck

saltmarsh-tasks.example

Built with
Lovable + Supabase
Ownership
Verified · DNS TXT
Result
3 fail · 2 pass
  1. FAILTable profiles readable without login RLS disabled · 3 of 9 tables open
  2. FAILservice_role key in /assets/index-4c1e.js
  3. PASSNo source maps published
  4. PASSStorage bucket avatars not listable
  5. FAILNo Content-Security-Policy header

Fix prompt · finding 1 · paste into your agent

Enable Row Level Security on public.profiles. Add a SELECT policy so a signed-in user can read only the row where id = auth.uid(). Don't change the app's queries.

What we check

The mistakes that turn a weekend project into a data breach.

  • Open tables

    Row Level Security switched off or misconfigured, so the public key in your app can read, or even change, your users, orders and messages.

    Deep check
  • Exposed secrets

    Service-role keys, API tokens and webhook secrets that ended up in client-side JavaScript.

    Free check
  • Public storage

    Storage buckets that anyone can list or read when they shouldn't be.

    Deep check
  • Source maps

    Your own original source code, readable by anyone who opens the browser's developer tools.

    Free check
  • Security headers

    Missing Content-Security-Policy, framing and transport headers.

    Free check

How it works

Three steps. The first one isn't optional.

  1. Prove it's yours

    Add a one-line DNS record or a small file under /.well-known/. No verification, no check. That rule has no exceptions.

  2. We inspect

    HullCheck looks at your live app the way an outsider would: what your public key can reach, and what your shipped files reveal.

  3. Paste the fix

    Every finding comes with a prompt for your AI coding agent and, where you need it, the SQL for the policy.

Planned: run it from your agent. HullCheck will also ship as an MCP server, so Claude Code, Cursor and other agents can run a check before every deploy and fix what they find.

Pricing at launch

Nothing is for sale yet.

Early-access members get launch pricing. We'll ask before charging anything.

  • Surface check

    Secrets in your shipped JavaScript, published source maps, security headers.

    Free
  • Deep check

    Everything in the surface check, plus the table and storage exposure test, fix prompts and policy SQL.

    $19 one-time
  • Watch

    A re-check after every deploy, an alert when something regresses, and MCP access for your agent.

    $29 per month

FAQ

Questions.

Can I check an app I don't own?

No. Every check requires proof that you control the exact domain. Probing someone else's app without permission can be illegal, and HullCheck won't do it.

What data will you keep?

Right now, only your early-access email and the optional answers you give. When checks launch, we'll record which checks passed or failed. We won't store the contents of your tables.

Is it only for Supabase?

Supabase first, because that's where most AI-built apps keep their data. Firebase is next on the list.

Does it replace a security audit?

No. HullCheck catches common, high-impact misconfigurations. If you handle payments, health data or anything similarly sensitive, get a professional review as well.

Who's behind HullCheck?

An independent developer in the EU who builds with the same AI tools you do. Questions go to hello@hullcheck.dev.

Early accesshullcheck.dev

Get checked first.

Join early access and we'll email you once, when HullCheck is ready.