AmuraAMURA Software
AI code audit · By tool

Audit your v0 codebase.

v0 ships features fast. The same pattern that makes that possible — confident code, idiomatic-looking output, fast iteration — is what hides the risk we read for. We audit v0 codebases line by line, name what's broken, and tell you what to fix first.

All AI code audits
Why this audit

What v0 typically ships.

Next.js apps deployed on Vercel with Supabase as the default database, often shipped before any backend review.

  • Supabase tables ship with row-level security disabled because the generator assumed the developer would turn it on later
  • Service-role keys end up referenced in client components when the developer needs ‘just one’ admin operation to work
  • API routes are afterthoughts — generated when the UI needs them, without auth, validation or rate limits
  • ‘Production-ready’ demos look complete but the auth flow only stores the session in localStorage
What we find

Patterns we see in v0 projects.

These are anonymized findings from recent audits. The same patterns repeat across v0 codebases — the names change, the bugs don't.
Criticaldata

Supabase tables with row-level security disabled or set to public

The database has tables marked as public, or RLS policies of the form `USING (true)`. Anyone with the project's anon key — which is meant to be public — can read or write the full table from a browser. The application looks safe because the UI gates the views, but the data is open by default.

Criticalsecrets

Server-side key shipped to the browser bundle

A privileged key (typically Supabase service_role, Firebase admin or a payments secret key) ends up referenced in client-side code. The build pipeline inlines it into the JavaScript bundle, where any visitor can read it from DevTools and bypass every row-level rule the database has.

Criticalauth

API routes with no authentication guard

Endpoints that mutate data — create, update, delete — accept requests without ever checking for a session, JWT or API token. The UI hides the buttons behind a login screen, so the developer assumes the API is protected. It isn't: anyone with curl and the URL can call it.

Criticalauth

Cross-tenant data leak via missing ownership filter

A query reads by id but never checks that the id belongs to the authenticated user — typically `SELECT * FROM invoices WHERE id = ?` instead of `... WHERE id = ? AND user_id = ?`. Two seeded test accounts can read each other's records by changing a number in the URL.

Highllm

No per-user rate limit on expensive model calls

Any authenticated user can hit the LLM endpoint as fast as their browser will send requests. A loop in DevTools — or a single curious user finding the right textarea — burns through the monthly inference budget in an afternoon.

How the audit works

Tuned for v0 stacks.

Knowing the tool that built the code lets us focus the audit. We start by detecting the v0 signature in the codebase, then we read the surfaces where v0-specific failure modes cluster: auth, secrets, data access, dependencies and LLM-touching paths. Five to ten business days from kickoff to written report. No deployment access required — read-only repository access is enough.

What you get

Same five deliverables as the hub audit.

Written report (PDF)

Severity-ordered findings with file paths, line references, why it matters and a fix sketch. Readable by both engineering and non-technical stakeholders.

Loom walkthrough

15-minute recording of the report — for the cofounder, investor or director who didn't make the live call.

60-minute review call

Live discussion of severity, fix order and the calls that need a human in the loop.

30-day follow-up window

Slack or email for clarifications, fix reviews and a second pair of eyes on the patches.

Turnaround: 5–10 business days

Typical SMB AI-built codebase, kickoff to written report. Larger or multi-repo audits scoped separately.

Frequently asked

Tool-specific questions.

v0 generated our app on top of Supabase. Is that the main risk?

+

Often yes. The single most common v0 finding is RLS misconfig — public tables behind a private-looking UI, anon-key reads of customer data, service_role keys leaked into the client bundle. We start there.

We deployed straight from v0 to Vercel. Should we redeploy after fixes?

+

Yes — and after the audit you'll have a checklist of fixes that include a redeploy. We can review the post-fix deployment as part of the 30-day follow-up window.

Does v0's chat-based iteration introduce risk?

+

Sometimes. Each iteration can undo a security fix from a previous iteration if the prompt didn't preserve it. We look for places where the latest version of a file has lost protections that an earlier commit had.

Trust

Safe, traceable AI,
enterprise-ready.

We design for privacy from the start, human control, traceability, usage limits, permissioning and documentation. For sensitive processes, we help assess risk and applicable obligations under GDPR and the EU AI Act.

  • 01We never train models on your data without explicit authorization.
  • 02Human review built-in for processes where risk demands it.
  • 03Traceability: prompts, sources, permissions, errors and metrics — documented.
  • 04Privacy, security and control integrated from day one.
  • 05Solutions engineered to be maintained, audited and improved over time.
GDPREU AI ActAEPDISO 27001 readyEU data residency
Personal diagnosis

We work with
few clients.

Every engagement is led personally by one of the partners. If there's a fit, you get a personal first read of your case within one business day — not a canned demo.

How we work
  1. 01Tell us which process eats your time
  2. 02Personal reply within one business day
  3. 0320-minute call — no demo, no pitch
Start the conversation →