Vibe code audit

Vibe code audit
and fixes

A named senior analyst checks your live app. We fix what could hurt your users at a fixed price, and check every fix again, or refund it.

Every check is read by a senior analyst. Meet them

What you get

One review. Everything you need to fix it.

Every review ends with a scorecard: a verdict you can forward, and your app scored out of 5 in eleven areas by a senior analyst. With it come the findings ranked and priced, a prompt for your AI tool for each, a rules file, the call, and a second check after the fixes.

See what we check
Illustrative · a booking app built with Lovable, Supabase and Stripe

Verdict

Ready with conditions

Ready · Ready with conditions · Not yet

  1. Move the Stripe key out of the page code and switch on row-level security, this week.
  2. Add a way to delete one customer’s data before you collect more.
  3. Put tests on sign-in and payment before the next release.

Average across
eleven areas

Fix first: Security, Database, Compliance and privacy, Verification and testing, Observability, Documentation

Security2 / 5Weak
What we look at
Keys, sign-in and payments, rate limits on sign-in, the packages your AI tool added, and any AI feature in your app (prompt injection, and what its AI can reach): whether someone could read or change what isn’t theirs.
What we found
A Stripe secret key sits in the page code.
What would raise it
Move the key to a server function.
Database2 / 5Weak
What we look at
Row-level security, the shape of the data, indexes on the busiest tables, migrations, and whether a backup can be restored.
What we found
One table has no row-level security, the orders table has no index, and no backup has ever been restored.
What would raise it
Switch on row-level security, add the index, and test a restore.
Compliance and privacy2 / 5Weak
What we look at
The basics for a UK app: where personal data is kept, cookie consent, a privacy notice that matches what you do, how a customer’s data is deleted, and the ICO Children’s Code if your users may be under 18.
What we found
Personal data sits in three places, and there’s no way to delete one customer’s data.
What would raise it
List where the data lives and add a way to delete it on request.

Scored by a senior analyst against the same criteria for every app, not by a tool. This example is an illustration, not a real client’s app. Compliance and privacy covers the basics; it isn’t legal advice or a certificate.

What we check

Ten checks, in plain English

The check covers what any visitor’s browser can see. The review covers all ten.

See what we send you
  1. Secrets and packages
  2. Database rules
  3. Sign-in
  4. Payments
  5. Security settings
  6. Personal data
  7. Backups
  8. Running costs
  9. Errors and monitoring
  10. Releases

Free: the checklist as a printable PDF. Get it by email

We look only with your permission. Before any access we sign an NDA and a data agreement, and we remove our access and delete our working copies within 30 days of the report call. A review is not a penetration test or a compliance certificate; it’s a plain-English look at the things that most often go wrong. No review can guarantee an app will never be breached.

A finding

What a finding looks like

Every finding in a review is set out the same way, so you can see what it means and what it costs to fix. These three are illustrations, not real clients’ apps.

Compare the options
Illustrative
  • FindingA signed-in customer can read other customers’ orders.
  • What we sawThe orders table has no row-level security. Signed in as a test customer, we asked the database for orders and received every customer’s, not just our own.
  • What someone could doDownload every customer’s name, address and order history, using only their own login.
  • SeverityCritical: fix this week.
  • The fixTurn on row-level security for the table and add a rule so each customer sees only their own orders. Then check the same request again.
  • Proof it’s fixedThe same request, signed in as the test customer, now returns only that customer’s orders; asking for anyone else’s returns nothing.
  • Effort and priceAbout two hours. Fixed price: set in your review.
Prompt for your AI tool
In Supabase, turn on row-level security for the orders table. Add policies so a signed-in user can read, update and delete only rows where user_id equals auth.uid(). Don’t change any other table. Then show me the policies and how to test them signed in as two different users.

This finding is an illustration, written the way a real one is.

What the fix changes · illustrative
supabase/migrations/orders.sqlbefore
create table orders (  id uuid primary key,  customer_id uuid references auth.users,  address text,  total numeric); -- row-level security is off:-- anyone with the public key reads every row
supabase/migrations/orders.sqlafter
create table orders (  id uuid primary key,  customer_id uuid references auth.users,  address text,  total numeric); alter table orders enable row level security;create policy "Customers read their own orders"  on orders for select  using (auth.uid() = customer_id);

Fix, refactor or rebuild?

Usually fix. The review says which each problem needs, and why, before you spend anything.

Fix

WhenA specific hole: a missing database rule, a key in the page code, a payment message nobody checks. Most findings are this.

EffortHours per item, each at a fixed price set in the review.

Refactor

WhenThe same problem repeats across the app, or one part is too tangled to fix safely on its own.

EffortLonger than a fix, and still a fixed price set in the review.

Rebuild

WhenOnly where rebuilding a part would cost less than fixing it. It’s rare, and the review says so plainly.

EffortQuoted separately, and only if you ask for it.

Compare

Your tool’s scan, a scanner, or a review

Keep using your tool’s scan. Here’s what each option covers.

Meet the analysts

Coverage of the 8 things that go wrong most

  1. Your tool’s scan3/82 of 8 fully, 2 partly
  2. An automated scanner2/82 of 8 fully
  3. Our review8/88 of 8 fully
Your tool’s scanAn automated scannerOur review
Open dataDatabase rules switched offYesYesYes
Leaked keysSecrets in your codeYesYesYes
PaymentsStripe’s messages and refundsPartlyNoYes
Running costsLimits and calls that grow with usersNoNoYes
BackupsOn, and possible to restoreNoNoYes
MonitoringKnowing before your users doNoNoYes
A person reads itRanked in plain EnglishNoNoYes
The fixDone, then checked againPartlyNoYes

Based on the tools’ own documentation, October 2026. Lovable and Replit say their scans don’t replace a full security review.

The people

The people who read your code

Not a bot, and not a junior reading a scanner’s output. Every check and review is done by a senior analyst you can name, look up and talk to, and the same person reviews your app, writes the report and takes the call.

See how it works
Maurício Ferreira

Maurício Ferreira

Founder · 20+ years in production

Designed, scaled and rescued software in production for 20+ years: at the BBC and, for ten years, at Visian Systems, a UK software house. Reads every request for a check.

André Derraik

André Derraik

Senior analyst · Principal Software Engineer · 30+ years

Python and Django, Go, Java and Spring, C and C++, and Node.js.

João Gustavo

João Gustavo

Senior analyst · Principal Software Engineer · 10+ years

Python, PHP, Ruby on Rails, Angular and Flutter.

Edinaldo Sá

Edinaldo Sá

Senior analyst · Sr. Software Engineer & Architect · 16+ years

C# and .NET, Java, React and Angular, SQL Server and Azure.

  • Leandro MonteiroOperations & Data Analyst
  • Gabriel MoraesSoftware Engineer & Product Owner
  • Douglas CollarTech Lead & Product Owner
  • Giovani TadeiProject Manager
  • Kelvyn TellesDjango & Fullstack Developer
  • Luiz MainartBackend Software Engineer
  • Cícero JúniorData Engineer
  • Abner PereiraSoftware Engineer
  • Gustavo RizzoSr. Backend Developer
  • Fabricio SantosSr. Backend Developer

See the whole team (35)

The people behind the reviews

Different stacks.One team.

From the first check to the fix: meet the people who review and repair AI-built apps at Visian Systems.

Building together, in person. Madrid
TeamBuilding together, in person.Madrid
How we deploy, on stage. André Derraik at Code Island
TalksHow we deploy, on stage.André Derraik at Code Island
A team, in one frame. Rio de Janeiro · 31 May 2024
TeamA team, in one frame.Rio de Janeiro · 31 May 2024

Different stacks.Same standard.One team.

35 people at Visian Systems.

Reviewed by people.Fixed by the same team.

From the first check to the fix.

Out where the work is. Angola ICT Forum · 2026
EventsOut where the work is.Angola ICT Forum · 2026
Conversations that keep going. Code Island
EventsConversations that keep going.Code Island
Beyond the screens. Visian volleyball
TeamBeyond the screens.Visian volleyball
Closing the year together. December 2025
TeamClosing the year together.December 2025
How it works

Three steps, a fixed price at each

You decide at each step. Nothing is sold before we’ve seen the problem, and every fix is checked again, or refunded.

Ask for a check
The check
£49
  • You’ll know your three biggest risks
  • One page: the three most serious risks we can see from outside your app
  • Done by a senior analyst, with your permission
  • In your inbox within one working day. Yours to keep
The review
£750
  • You’ll know everything that needs fixing, and what each fix costs
  • Delivered within five working days: tested with real accounts, not scanned
  • Ten checks, with access to your code, database and hosting
  • Every finding ranked, in plain English, with a fixed price for each fix
  • Access rules tested with two test accounts and an anonymous visitor, not assumed from reading the code
  • A scorecard: your app scored out of 5 in eleven areas, from security to design
  • A rules file for your AI tool (AGENTS.md or CLAUDE.md), ready to commit, so it follows what the review found
  • Money back within seven days of the report call if you’re not happy with the review
  • A 30-minute call to go through it
  • About two hours of your time in total: the NDA, setting up access, and the call
  • Fixes for most apps come to £3,000 to £6,000 in total; your £750 comes off that if you go ahead within 30 days. Fix prices hold for 30 days, and if a fix takes us longer, that’s our cost
The fix
Fixed price
  • You’ll have the fixes you chose, done and checked
  • Delivered in one to three weeks, depending on the list
  • A fixed price for each fix, set by the review: pick the ones you want
  • We work on a copy, and nothing goes live without your approval
  • Done by our engineers, then checked again, included in the price
  • A handover: a note on what changed, prompts for your AI tool, and a rules file it reads before every change, so it doesn’t undo the fixes
  • A free follow-up check 30 days later

Our guarantee: if an item on the agreed list fails our second check, we fix it within 10 working days or refund that item’s price.

This covers the code as we handed it over, not changes made after handover, and our total liability is capped at the fees you paid.

We don’t promise income. We promise things you can check: a safer app, lower running costs, fewer surprises.

FAQ

FAQ

How is this different from Snyk, SonarQube or CodeRabbit?

They’re automated tools, and good at what they do: Snyk looks mostly at the packages your app depends on, SonarQube at code quality, and CodeRabbit reviews each change before it’s merged. Keep using them if you do. A review adds a senior analyst who looks at how your live app behaves, from database rules and payments to backups and costs, ranks what matters for your business in plain English, and fixes it at a fixed price.

Can I keep building with AI afterwards?

Yes. You keep your app and your tools. The review comes with a rules file your AI tool reads before each change, so it follows what the review found, and every fix adds a note on what changed, so the tool doesn’t undo it.

How soon can you start?

The check is in your inbox within one working day of your request. A review takes five working days from the day access is set up, and we’ll give you a start date when you ask for it.

What is in the vibe code audit scorecard?

A verdict you can forward (ready, ready with conditions, or not yet) with the three reasons behind it, then eleven areas, each scored out of 5 by a senior analyst: security, database, compliance and privacy, architecture and scalability, code quality, verification and testing, DevOps and infrastructure, observability, documentation, vendor independence, and design and user experience. Each score comes with the reason and what would raise it. It’s part of the £750 review.

Is this for my app?

Yes, if your app is live and people pay for it, or soon will; you built it with Lovable, Bolt, Replit, v0, Cursor, Claude Code or something like them; and you want to keep your app and your tools. It isn’t for you if you’re still looking for an idea, want a new app built from scratch, or want guaranteed income: we make your app safer and cheaper to run, and don’t promise what it will earn.

How much does a vibe code audit cost?

The first check is £49. The full review is £750, with a fixed price for each fix it finds; most fixes come to £3,000 to £6,000 in total, and the £750 comes off if you go ahead within 30 days.

Is Lovable safe for production?

Lovable can run a production app, and it scans for common problems when you publish. Its own documentation says that scan doesn’t replace a full security review. What matters is how your app was set up: its database rules, keys, payments and backups.

Is Supabase safe for production?

Yes, when it’s set up properly. The usual problem isn’t Supabase but a table left without row-level security, or a secret key placed where the browser can see it.

What does “RLS disabled in public” mean?

It’s a Supabase warning that a table has no row-level security, so anyone with your app’s public key may be able to read or change it. On a table with customers’ data, it’s usually the first thing to fix.

My tool already scans my app. Why do I need this?

Keep using the scan. It catches open data and leaked keys. It doesn’t look at payments, running costs, backups or monitoring, or see your app the way a stranger does. That is where we look.

Should I fix my app or rebuild it?

Usually fix it. Most apps need a short list of specific fixes, done in your app, with your tools. If a rebuild really would be cheaper, the review says so.

Do I need to know how to code?

No. Everything is in plain English, with what to tell your AI tool if you’d rather make a fix yourself.

Which tools do you cover?

Lovable, Bolt, Replit, v0, Cursor, Claude Code and tools like them, plus the services they run on, such as Supabase, Firebase, Vercel and Stripe. See the full list of tools we review.

What access do you need?

None for the check. For the review, read access to your code, database and hosting, after an NDA and a data agreement. We remove our access and delete our working copies within 30 days of the report call.

What does the check look at?

Only what any visitor’s browser receives, and only after you’ve said yes.

How long does it take?

The check reaches you within one working day, the review within five working days of access being set up, and a fix takes one to three weeks, depending on the list.

What if a fix doesn’t hold?

We fix it within 10 working days or refund that item’s price. This covers the code as we handed it over, not changes made after handover.

Is my app GDPR compliant?

The review checks what personal data your app collects, where it’s kept and who can see it, which is most of what UK GDPR asks of a small app. We’re engineers, not lawyers, so we’ll tell you if something needs legal advice.

Is this a penetration test?

No. A review is a plain-English look at the things that most often go wrong in apps built with AI. If you need a penetration test or a certificate, we’ll say so.

Start

You built the ship. Now captain it.

Start with a check of your app: one page, three findings, yours to keep. Tell us about your app.

After your fix, stay on board: AI Ship Captains is also a community for founders who run apps built with AI. It’s closed to new members for now, but you can register interest.

Ask for a check

A person replies within one working day. We use your details only for this check.