Security reviews for apps built with AI on Supabase Keep each customer’s data where it belongs.

Built with Lovable, Bolt, v0 or Cursor? I find the database rules that let one customer see another customer’s data — and fix them. Fixed price. Written report. Everything by email.

  • Fixed price, from $150
  • Async, no calls
  • Public proof on GitHub
Also: an AI guest assistant for B&Bs and small hotels in Italy →

Principles

  • Data first, opinions second
  • Every access path checked
  • Fixed price, no subscriptions
  • Written, no calls
  • Your permission first
  • Every fix comes with a test

How it happens

How one customer ends up seeing another’s data

  1. Step 1 of 3

    One database, many customers.

    In a multi-company app, every customer’s rows live in the same tables. Database rules (RLS) decide who can see which rows.

  2. Step 2 of 3

    One missing rule, and the data mixes.

    Nothing looks broken. But one customer’s screen can now read, or change, another customer’s data.

  3. Step 3 of 3

    The fix: one hardening migration, verified by 30 automated tests.

    The tests sign in as real users and try to cross the line. Every one has to fail to get through.

Services

A security review, at a fixed price.

For founders

Security review for AI-built apps

Lovable · Bolt · v0 · Cursor — on Supabase

Apps built fast with AI often ship with database rules that look fine but are not. The most common one: a customer can see or change another customer’s data.

You get a written report for founders first, developers second.

from $150 — fixes from $350

Write to me

What I check

  • Database rules (RLS) and permissions
  • Who can see which company’s data
  • File storage and uploads
  • Server functions
  • Exposed keys and invite flows

Case study

A real review, in public.

I took a CRM built with Lovable on Supabase and reviewed it exactly as I would a client’s app before launch. The repo is agency-client-hub.

Risk4confirmed issues
Risk · latent1high, latent finding
  • HIGH · LATENTCompany data stayed separate only by accident.One common, harmless-looking rule would have let any new sign-up join another company as admin.
  • Column tampering on fields that should be locked
  • File type and path checks that could be bypassed
  • Invite codes that never expired
  • A role-check function that revealed roles across companies
Fix1hardening migration that closes them
✓ Verified30automated tests, run as real users

What you can read

This is a demo project, not a client. It is my proof of how I work.

The opening of REPORT.md: Security Review, Agency Client Hub. An executive summary that asks whether one customer can ever see or change another customer’s data, then a before-and-after table. Before the fixes, one agency could not reach another agency’s data today, but it was one ordinary change away; team members could tamper with records, upload web pages as documents, reuse invite codes forever and learn other agencies’ admins. After the fixes, every answer is no.
The opening of the report: the executive summary and the before-and-after table.

Read the report on GitHub

How I work

  • Written only.No calls or meetings. Everything by email, when it suits you.
  • Fixed price.You know the cost before I start. No hourly billing, no surprises.
  • Clear scope.I confirm in writing what is included before any work begins.
  • Your permission first.I only test with your written permission. I work on a local copy built from your code and migrations, with test accounts, never on your users’ real data.
  • Verified fixes.Every security fix comes with a test that proves it works.
  • One project, one price.No subscriptions, no retainers, no monthly fees.

Prices

All prices are one-time and fixed.

For founders — Security review
What you getPrice
Audit + written report$150
Audit + fixes for critical and high issues, each checked with a test$350
Full hardening: every issue fixed, automated isolation tests, documentation$700

Bigger apps: I quote a fixed price after reading the code.

Write to me

About

I’m Luca, a Tech Lead working with Next.js, TypeScript, React, Supabase, PostgreSQL and Vercel. I also build with AI tools such as Claude Code and MCP servers.

AI-built apps on Supabase tend to repeat the same database mistakes. They are easy to fix once someone looks carefully, and that is the work I do.

I am not a certified penetration tester. What I offer is careful, reproducible checks, with evidence you can rerun yourself.

This studio is my own independent work.

GitHubLinkedIn

FAQ

Questions, answered.

What is RLS, and why does it matter?

Row Level Security (RLS) is the set of database rules in Supabase that decides which rows each signed-in user can read or change. When many customers share the same tables, one missing or loose rule can let one customer see or change another customer’s data. Nothing looks broken when that happens, so it takes a careful look to find it.

Do you work on my production database?

No. I only test with your written permission, on a local copy built from your code and migrations, with test accounts. I never touch your users’ real data, and I never test a live system without your permission.

What do you need from me?

Access to the code, including the Supabase migrations (a GitHub repository is easiest), a few lines on who your users are and what each role should be able to do, and your written permission. Everything happens by email.

How long does it take?

For a typical app, the report arrives within 5 working days of getting access to the code. Fixes add 3–5 working days. For bigger apps, I confirm the date in writing before I start.

What do I get?

A written report for founders first, developers second: each finding with its severity, what it means for your business and the evidence to reproduce it. With the fix packages you also get the fixes as a database migration, each one checked with a test you can rerun.

And if you don’t find any problems?

Then the report says so, and shows what I checked and how, with tests you can rerun yourself. It is careful, reproducible work, not a guarantee that nothing else can go wrong: I am not a certified penetration tester.

Also, for B&Bs and small hotels in Italy

AI guest assistant for your website

A chat widget that answers your guests’ questions day and night: check-in, parking, breakfast, directions and house rules. In Italian, English, German, French and more.

Try a free preview with your own information before you decide.

€390 one-time, first property

Each additional property + €100–150. You pay your own AI usage directly, usually a few euros a month.

Write to me about a guest assistant →

In italiano: ciao@lucagennaro.com

Contact

Contact

I reply by email, usually within a couple of working days.

If I notice a serious problem in public code, I tell the owner privately and for free. That is separate from any offer.

hello@lucagennaro.com

What do you need?

Built with (optional)

I keep only what I need to answer you. Sending this form means you accept the privacy notice.