Open-source scanner · GitHub App · MCP for Claude Code and Cursor

Your AI writes code.
Audit AI proves it's safe to merge.

The bug that lets one customer read another customer's data is the one AI tools ship most. Audit AI finds it, writes the fix and the test, and shows you the proof: 200 before, 403 after.

Check a public GitHub repositoryFree · about 30 seconds · no sign-up

Read-only. No install, no account, no AI model call. See an example report

Private repository, or want the fix proven for you? Join early access. Free for solo builders.

AUDIT-001 · cross-tenant read · critical
$ audit verify . --finding AUDIT-001starting local Supabase (Postgres, Auth, PostgREST, Kong)…phase BEFORE  Alice → Bob's invoice   HTTP 200   ✗  vulnerableapplying fix  route.ts +3 −1  (tenant scope from session)phase AFTER   Alice → Bob's invoice   HTTP 403   ✓  deniedexisting tests 142/142 · security tests 5/5 · re-scan cleanVerdict: VERIFIED FIX
Before the fix Alice can read Bob's invoice with HTTP 200; after the fix the same request returns 403 and the verdict is verified fix.

Built for what vibe-coding tools actually generate

  • Next.js
  • Supabase
  • TypeScript
  • Lovable
  • Bolt
  • v0
  • Cursor
  • Claude Code
  • Replit

A report anyone on your team can read

Paste a link and get a page that starts with what matters: can one customer reach another customer's data? The developer detail is there too, one click down.

  • A one-line verdict and an honest coverage line, never a score
  • What each problem means for your customers, and what the fix looks like
  • File, path and rule detail one click away, for whoever fixes it
  • Prove it: the bug reproduced in a sandbox with two test customers

Open the example reportScan your repository

Public repositories only. For private ones, install the GitHub App or run npx auditai-scan . locally.

Example report

example/invoicing-app

1 place may let one customer see another customer's data, and 1 may let a user give themselves access they should not have.

  • CriticalOne customer can read another customer's invoicesReproduced · fix verified
  • HighUsers can change fields they should not, such as their role or teamLikely · not yet proven

Checked 2 risks in class authorization/RLS. Verified: 0. Confirmed (no sandbox): 0. Unverified: 0.

From warning to verified fix

Every step is reproducible. The output is a proof, not a score.

  1. 1

    Find

    Deterministic rules map every route, server action, Supabase client, query and RLS policy. No model, no cost, seconds.

  2. 2

    Understand

    A reasoning model reads only the relevant slice: entry, identity, tenant, query, policy. Repository content is untrusted data.

  3. 3

    Prove

    Synthetic tenants Alice and Bob hit the real endpoint in a sandbox. Alice reads Bob's data? That is the bug, reproduced.

  4. 4

    Fix

    The smallest patch that closes the path. No refactors, no surprise changes, validated against your files.

  5. 5

    Test

    A regression test that fails before the patch and passes after. Your own test suite runs too.

  6. 6

    Merge

    The proof lands in your pull request as a check. Green means verified, not "probably fine".

What we do not promise

No tool can prove your app has zero vulnerabilities, and we will not pretend otherwise. Every result reports its coverage in one honest line:

Checked 12 risks in class authorization/RLS. Verified: 2. Confirmed (no sandbox): 1. Unverified: 0.

Version 0 goes deep on one class instead of wide on ten: broken object-level authorization, tenant isolation, Supabase RLS and service-role misuse. That is where AI-generated SaaS apps leak.

Three ways to run it

GitHub App

A check on every pull request with annotations on the exact lines. Blocks only on proven-critical issues.

Audit AI  ✓ success (1s)
1 finding · 0 blocking · annotations: 1

MCP for Claude Code and Cursor

Your coding agent calls audit_scan, audit_explain, audit_fix and audit_verify. No shell tool exposed.

claude mcp add auditai -- auditai-mcp
> "scan this repo and prove AUDIT-001"

Pricing, early access

Free

$0

  • Unlimited deterministic scans
  • 3 AI audits per month
  • 1 private repository
  • "Verified by Audit AI" badge

Developer

$29/month

  • 10 private repositories
  • 20 AI audits per month
  • Fixes, MCP, GitHub check

Prices are a hypothesis we validate with early teams. Waitlist members keep early-access pricing.

Questions

Is this another scanner?

No. Scanners stop at a warning. Audit AI reproduces the bug against a live copy of your app, writes the fix and the test, and shows you the before/after result. If it cannot reproduce something, it says unverified, never "fixed".

What stack do you support?

Next.js App Router with Supabase (Postgres, Auth, RLS) in TypeScript. That is what Lovable, Bolt, v0, Cursor and Claude Code generate for most SaaS apps. Other stacks come after this one is deep.

Does my code leave my machine?

The scanner is open source and runs locally or in the GitHub check. Reasoning sends only a bounded slice of the relevant files to the model, never the whole repository. Verification runs in a container with no internet access.

What does it find today?

The authorization family: IDOR and BOLA, missing tenant scoping, service-role key misuse, incomplete or wrong RLS policies, unauthenticated admin routes and server actions, mass assignment, roles read from user-editable metadata.

Can it break my app?

Fixes are proposed as a diff and applied only when you say so. Verification checks that legitimate access still works before it calls anything verified.

Get your repository audited first

Ten design-partner slots. We find and prove one real authorization bug in your Next.js + Supabase app, free. Early access rolls out to Next.js + Supabase repos first.