DevMeth

The pre-flight check for AI-built apps

Your AI says your app is secure. It says that every time.

DevMeth is the pre-flight check for AI-built apps: it scans your code and live URL for the 48 known AI-code failure patterns, explains each in plain English, and gives you a paste-ready fix prompt. Re-scan until it's green.

60 checks total — 48 security + 12 code-health (Rescue Report).

checks the 48 known AI-code failure patterns — not a penetration test or a security guarantee. Results in about 2 minutes, free.

Free scan runs 10 Critical checks, no signup. Your code is deleted after the scan by default — see how we handle your code.

How it works

01

Point it at your app

Paste a repo URL, upload a zip, or give us your live URL. No signup for the free scan.

02

We run 48 read-only checks

Across both the code and your live surface: secrets, exposed data, auth, input handling, dependencies, and your public web.

03

Plain-English findings + fix prompts

Each finding explains what's wrong, why AI tools cause it, and includes a paste-ready fix prompt for your AI tool.

04

Re-scan until it's green

Fix with one paste, re-scan to verify, and earn the verified badge when every known pattern is clear.

What a finding looks like

No CVE jargon — what went wrong, and the exact fix prompt your AI tool can apply. All four run in the free scan, and the prompts below are the real ones from our catalog — try copying one.

C1

API keys and passwords are hardcoded in your source code

Critical

What we found

src/lib/keys.ts — sk-…a1b2 (OpenAI key, masked)

The fix prompt — the real one

A security scan found hardcoded secrets in this project. Fix them properly —
rotation first, then removal:

1. ROTATE FIRST: for each secret below, revoke + reissue it in the
   provider's console (OpenAI/Anthropic/Stripe/Resend/Twilio/AWS all have
   an API-keys page). Deleting the line does not invalidate the key.
2. In these locations, replace the hardcoded values with environment
   variable reads (`process.env.*` in server code only):
   {{locations}}
   Never reference these via NEXT_PUBLIC_* or VITE_* — those are bundled
   into the client and shipped to every visitor.
3. Put real values in `.env.local` (gitignored) and placeholders like
   `your-api-key-here` in `.env.example`.
4. Don't obfuscate the old value anywhere — treat it as public now.

When done, the re-scan's secret detection over the current files must
report zero matches.
Full finding →
C6

Your Supabase database is readable by anyone on the internet

Critical

What we found

table users — 1,204 rows readable anonymously · sample row masked

The fix prompt — the real one

A live scan of {{live_url}} found Supabase tables readable by anonymous
requests. Fix:

1. In Supabase: Authentication → Policies — enable Row Level Security on
   every exposed table.
2. In your migrations, add `ALTER TABLE <table> ENABLE ROW LEVEL
   SECURITY;` for each table plus policies scoped to the owner:
   `CREATE POLICY "own data" ON <table> FOR ALL USING (auth.uid() =
   user_id) WITH CHECK (auth.uid() = user_id);`
3. Guardrail: never use `USING (true)` — that keeps the table world-open.
   Anchor policies to `auth.uid()`.
4. Service-role/admin access stays server-side only.

Verification: the anonymous re-scan must return 0 rows or an RLS error.
Full finding →
C13

Your admin or dashboard page answers visitors who aren't logged in

Critical

What we found

/admin — responds 200 to an anonymous visitor

The fix prompt — the real one

A scan of {{live_url}} found an admin page open to unauthenticated
visitors. Fix:

1. Add a server-side auth + role gate to the admin route (or the layout
   that contains it), and to the APIs it uses.
2. The server must return 401/403 for unauthorized requests — blocking in
   the UI alone doesn't protect the data.

Verification: unauthenticated GET of the path returns 401/403/login
redirect on re-scan.
Full finding →
C25

Your deployed site serves its git metadata to anyone

Critical

What we found

GET /.git/config — 200 — metadata served publicly

The fix prompt — the real one

A live scan found `.git/` exposed at {{live_url}}. Fix:

1. Stop shipping `.git`: exclude it from the deploy artifact/build, and
   block `/.git*` at the proxy/CDN layer.
2. Clean-rebuild + redeploy (stale artifacts persist served).
3. Check sibling dotfiles while you're in the proxy config.

Verification: re-scan sees 404/403 on `/.git/config` and `/.git/HEAD`.
Full finding →

What we check — 48 security checks

See all 60 checks →

Seven branches, one plain-English page each — every check, why AI tools produce it, and how it's detected.

10 checks

Secrets scanning for AI-built apps

Hardcoded API keys, committed .env files, secrets in client bundles and git history — 10 checks that catch what AI tools leak. Scan free.

Explore the 10 checks →
12 checks

Authentication & access control, checked

Open admin pages, authless API routes, weak JWT secrets, IDOR, client-side role checks — 12 checks for the auth gaps AI tools leave behind.

Explore the 12 checks →
10 checks

Input validation & injection checks

SQL injection, XSS, SSRF, path traversal, mass assignment — 10 checks for the input-handling bugs AI-generated code ships with.

Explore the 10 checks →
8 checks

Web hardening before you launch

Wide-open CORS, live debug endpoints, exposed .git, stack-trace leaks, HTTPS and HSTS — 8 checks to run before an AI-built app goes live.

Explore the 8 checks →
5 checks

Supabase & Firebase security checks

Supabase RLS left disabled, permissive policies, Firebase rules, browser-direct database access — 5 checks for hosted-backend exposure in AI-built apps.

Explore the 5 checks →
3 checks

Dependency vulnerabilities & drift

Known CVEs in your dependency tree, framework CVEs with middleware-only fixes, and hallucinated packages that don't exist — 3 dependency checks.

Explore the 3 checks →
12 checks

It works. But what did the agent leave behind?

Dead code, copy-pasted blocks, hallucinated imports, untested routes, drift — the 12-check AI tech-debt scan with a Debt Score and fix prompts.

Explore the 12 checks →

Free scan · Full Report $59 · Launch Pack $179 · Rescue $59 — one-time, 30-day refunds. GitHub CI: $19.99/mo per private repo.

Your code, handled carefully

FAQ