Generated it with v0? Let's make sure it's safe to wire up.
v0 is exceptional at design. It's less exceptional at remembering your server actions need to validate input. Here's what we look for before you wire up the database.
What we look for first
- Server actions wired up without auth
- User-controlled props passed straight to fetch()
- "use server" functions that leak env vars
- Inputs trusted to be the right shape
Illustrative examples. Yours might be cleaner. Or worse.
The v0 mistakes we look for.
Four issues we check in every v0-built app, each with the change to make. If any of these sound familiar, you already know why this exists.
Server actions without auth
v0 generates beautifully wired UI, but the server actions behind submit buttons can forget to check who's calling them.
Suggested change: Check the session at the top of every action.
Props going straight to fetch()
When a prop drives a fetch URL or query, the page becomes a proxy for anyone who sets it.
Suggested change: Allow-list the hosts and paths a fetch can reach.
"use server" env leaks
Server functions that return whole env objects, or put secrets in error messages, send them to the client.
Suggested change: Return only the fields the client needs.
Schema-less inputs
Forms wired without Zod (or equivalent) trust whatever shape the request body arrives in.
Suggested change: Parse every request body with a schema.
How a review works.
Try the free key-leak scan first if you like. When you’re ready for the full review, it goes like this.
You share your code.
Pay once, then send a GitHub link, a public repository URL, or a ZIP of your project.
Day 0
We review it.
We run AI-assisted security checks on your source, review the results by hand, and record what was and was not covered.
Within 5 working days
You fix what matters.
You get a prioritised report in plain English. On request, we send the fixes as a draft pull request or patch. You review, test and merge.
When you’re ready
One price for one project.
Pay once for a review of a single repository. If your stack is bigger than that, we scope it with you first.
Launch scan
PilotOne app, one repo, reviewed by a person.
- High-risk issues that get apps exploited at launch
- API keys, dependencies, config and AI-prompt checks
- Fixes as a draft pull request or patch, on request
- Reviewed by a person, delivered within 5 working days
- Full refund if we cannot deliver a usable report
- A shareable report for investors, teammates or yourself
Scope: one web app or API in a single repository (typical MVP size). Stacks: Node, TypeScript, React, Next.js, Python and most modern frameworks.
$299
One-off, per project. No subscription.
Start with a free lightweight preview, then buy a one-off review of one project. AI-assisted checks are reviewed by a person, and you get a prioritised report in plain English within 5 working days. Fixes can be sent as a draft pull request or patch on request. Review and test any change before you use it.
Payment is handled by Polar.
Deep dive
Custom, scoped together
For several codebases, real infrastructure or a growing team. We review services, environments, cloud, networking and CI/CD, and send a fixed proposal before any work starts.
Talk to usSide by side
| Feature | Launch scan | Deep dive |
|---|---|---|
| Repositories | One | Several |
| Turnaround | Within 5 working days | 1 to 2 weeks |
| Plain-English report | Included | Included |
| Corrected ZIP or draft pull request | Included | Included |
| Cloud and CI/CD review | Not included | Included |
| Optional follow-up reviews | Not included | Included |
| Founder Q&A call | Not included | Included |
Ship it reviewed.
Book the review now, or leave your email and a person will reply within one working day. No commitment and no jargon.