AmuraAMURA Software
AI code audit · By tool

Audit your Lovable codebase.

Lovable 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 Lovable codebases line by line, name what's broken, and tell you what to fix first.

All AI code audits
Why this audit

What Lovable typically ships.

Full-stack web apps generated end-to-end (UI + backend + Supabase) from a single prompt, then iterated on through chat.

  • Authentication is added in a follow-up prompt and bolted on top of routes that were already public
  • RLS policies are generated as ‘USING (true)’ to make the demo work, and never tightened
  • Storage buckets are public by default; uploads include user IDs in filenames as the only ‘security’
  • Cross-tenant leaks via shared tables that should have been per-user
What we find

Patterns we see in Lovable projects.

These are anonymized findings from recent audits. The same patterns repeat across Lovable 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 Lovable stacks.

Knowing the tool that built the code lets us focus the audit. We start by detecting the Lovable signature in the codebase, then we read the surfaces where Lovable-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.

Our Lovable app added auth in a follow-up prompt. Is that a problem?

+

Often yes. Auth bolted onto routes that were already public is one of the most common Lovable findings — the prompt added a login screen but didn't lock down the API endpoints behind it.

We use Lovable's Supabase integration. What do you check?

+

RLS policies (most common: USING (true) left over from generation), public storage buckets, service_role keys in the client, and whether the schema has per-user isolation that actually enforces in queries.

Lovable says it's production-ready. Why audit?

+

‘Production-ready’ in a builder context means ‘deployable’, not ‘safe under real users’. The audit finds the gap between those two, with the failure modes specific to Lovable-generated apps.

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 →