Supabase Row Level Security is the top risk
Lovable apps run on Supabase, and the most common critical finding is RLS that is disabled or too permissive. When RLS is missing, the public anon key lets anyone read and write every table, so customer data is effectively open.
The client key is fine only when RLS is right
Lovable ships the Supabase anon key in the browser, which is by design. It is safe only if Row Level Security is enabled and scoped to the authenticated user on every table. The public key plus missing RLS is the failure pattern.
Routes and edge functions need server-side checks
Hiding an admin route in the UI is not protection. Confirm routes check the session server-side and that Supabase edge functions validate the user instead of trusting a client-provided user or org ID.