01
Exposed keys
A payment or database key visible to anyone who opens the page, or sitting in the code history.
Frontend bundle, git history, public env vars, a Supabase service_role key in the client.
Lovable · Bolt · v0 · Replit · Cursor · Claude Code · updated: Oct 2026
I review your app and tell you what could leak data, give your product away or take your operation down, with proof you can reproduce. Remote, from Mexico City in US time zones.
US$490 · fixed price · 3 business days
No finding without proof. Anything I couldn't test is reported separately as "not verified."
You're about to open the app to real users or start charging, and so far only you have used it.
You built it with Lovable, Bolt, v0, Replit, Cursor or Claude Code and nobody else has read the code.
It stores customer data: names, emails, orders, documents.
An investor, a larger customer or a partner asked for a security review before signing.
The assistant fixes one thing and sometimes breaks another, and you're no longer sure what changed.
Seven reviews, each with a test you can repeat. Under each one is what gets looked at under the hood.
01
A payment or database key visible to anyone who opens the page, or sitting in the code history.
Frontend bundle, git history, public env vars, a Supabase service_role key in the client.
02
A hidden button protects nothing if the server answers the same way to someone who calls it by hand.
Endpoints, serverless functions and RPCs called with no session and with a low-privilege session.
03
Changing a number in the URL or sending a direct query is enough to read someone else's account.
Supabase RLS off or set to true, open Firebase rules, guessable IDs in the URL.
04
Something breaks and you find out when an angry customer writes to you, not before.
Error tracking, backend logs and an alert that reaches a person; a controlled error is triggered to check.
05
If nobody has ever restored the backup, you find out whether it works the day you need it.
Database and file backups, frequency, and a restore to a separate database with row counts compared to production.
06
Someone edits the price before paying, access turns on before the payment is confirmed, or a customer is charged twice.
Price or plan sent from the client, webhooks without signature checks, replayed events.
07
Ask it to fix something else and it sometimes removes a validation or a test without telling you.
Git history of auth, payments and permissions, looking for removed checks, plus whatever tests exist.
Severity, reproducible proof, business impact and the concrete fix: which file and what change.
For whoever decides: can you launch? can you charge? No code reading required.
I walk through each finding, the order to tackle them and what can wait.
If there are critical findings, the price and timeline to fix them, in writing.
You keep it even if you never hire me for anything else.
01
US$490
fixed price · 3 business days
The seven reviews and the three quick checks on one app: a frontend and its backend, up to roughly 30,000 lines of your own code.
02
from US$990
fixed quote after the audit
Critical and high findings get fixed, with proof that they no longer reproduce.
03
from US$290
per month
Patches, tested backups and monitoring, so the app stays as reviewed after launch as it was on day one.
Prices in USD. Third-party services (Supabase, Stripe, hosting) are paid by your company directly; I add nothing on top.
Day 0
Short call
You tell me what the app does, which tool built it and where it runs. If I can't help, I'll say so on the call.
Day 1
Written authorization
One page: which app, which environments, which test accounts you give me and which dates. Without that paper, nothing gets touched.
Days 1–3
Review
I work in staging or with test accounts. I never test against real users without your permission.
Day 3
Report and call
Report, traffic light and a 45-minute call. If there are critical findings, a fixed quote to fix them.
If the audit finds nothing of medium severity or higher, I refund half. It's in writing before we start.
Every row in the report shows how to reproduce it. Anything I couldn't test goes in a separate section as "not verified," never as "fine."
It's treated as confidential, with an NDA if you ask, and testing happens only with your written authorization.
This audit is for new, small code written by an assistant. If what you have is an inherited system with years of business logic, see the legacy Laravel and PHP rescue. And if the audit turns up problems that patches won't fix, stabilization is the one on that page.
It depends on what the assistant did in your particular project, which is why it's worth checking. Lovable and Supabase give you a solid base, but data security lives in settings the assistant can leave half done: row-level security policies (RLS), keys left in the frontend, or functions that never check who is calling them. An app can look and work perfectly with those doors open. The way to find out is to test it with two different accounts, which is what the audit does.
RLS (Row Level Security) is the Supabase and Postgres rule that decides which rows of a table each user can read or change. If it's off, or a policy says true, any logged-in user, and sometimes any visitor, can request every other user's records with a single query. It's like letting every customer open every other customer's drawer. You test it with two accounts: account A asks for account B's data and you see what the server returns.
Not necessarily. I prefer a staging environment or test accounts that you give me, and production only if you authorize it in writing. Read-only access to the repository is enough to read the code. Tests that could touch real data, such as replaying a webhook or repeating a payment, run in your payment provider's test mode.
It goes in the report marked critical, with its proof, its impact and the concrete fix, and on the call we decide the order to handle it. If there are critical findings, I give you a fixed quote to fix them; you can hire me, hand it to your own team or give it to anyone you like. The report is yours.
Yes. Your code and data are treated as confidential, and I sign an NDA if you ask for one. Testing happens only with your written authorization, which spells out what is reviewed, in which environments and on which dates.
I can review it anyway. The seven reviews apply to any app written by an AI assistant, or by a person in a hurry: Cursor, Claude Code, Windsurf, Copilot, or code someone else handed you. What changes is the stack: Supabase, Firebase, or your own backend in Node, Python or PHP. If it's over roughly 30,000 lines of your own code or it's several apps, I quote it separately.
The audit is US$490 at a fixed price and is delivered in 3 business days from the moment I have your authorization and test accounts. It covers one app: a frontend and its backend, up to roughly 30,000 lines of your own code. If I find nothing of medium severity or higher, I refund half. Fixing the critical findings starts at US$990 at a fixed quote, and maintenance at US$290 a month.
Not as part of the audit: I hand you the report and I don't change your code. If there are critical findings, the fix is quoted separately and covers what turned up, with proof that it no longer reproduces, without rebuilding what works. If the app has deeper problems that patches won't solve, the report says so, and the route from there is the legacy rescue.
Two lines are enough: the tool, where the code lives and what worries you. I'll reply with whether the audit makes sense and when I could deliver the report.
Fill out the form and I reply within 1 hour during business hours and within 24 hours outside them. You can also email me directly: