Is Lovable veilig? Zo check je je eigen app
Je kan twee dingen bedoelen: is het platform veilig, en is jouw app veilig? Op het eerste heb je weinig invloed. Het tweede kan je controleren. En daar gaat het meestal mis: in de toegangsregels van je database. Je app doet het gewoon, terwijl iedereen bij je gegevens kan.
Loop je hier nu tegenaan?
Bel of mail en leg het voor. Neem ik niet op, stuur dan even een mail.
Herken je dit?
- Je app heeft een login en je weet niet wat er achter die login gebeurt.
- Er staan echte gegevens in je database: namen, e-mailadressen, bestanden.
- De security-scan van Lovable geeft waarschuwingen en je weet niet wat ze betekenen.
- Je AI-tool zegt dat alles veilig is, en je vraagt je af hoe hij dat weet.
- Je wil live met echte gebruikers en niemand heeft er nog naar gekeken.
- Je bouwde met Bolt, Replit of Cursor en vraagt je af of dit ook voor jou geldt.
Waar het meestal aan ligt
Meestal is het één van deze. Loop ze in deze volgorde na.
Row Level Security staat uit
Je app praat vanuit de browser rechtstreeks met de database. Het adres en de publieke sleutel staan dus gewoon in je website. Dat hoort zo. RLS bepaalt wie welke rijen mag zien. Staat het uit, dan kan iedereen met die sleutel alles lezen en wijzigen. Maak je een tabel met SQL, dan moet RLS er apart bij.
RLS staat aan, maar de regel laat iedereen door
Een regel als using (true) betekent: iedereen mag. Prima voor een openbare productlijst, niet voor klantgegevens. RLS staat dan netjes aan en er is nog steeds niks afgeschermd.
Gebruikers kunnen bij elkaars gegevens
Ingelogd zijn is niet hetzelfde als bevoegd zijn. De regel moet zeggen: alleen je eigen rijen. Een scan weet niet welke gegevens van wie zijn, dus die mist dit makkelijk.
Rechten zitten alleen in de schermen
Een beheerknop verbergen is geen beveiliging. Alles wat in de browser gebeurt, kan een bezoeker omzeilen. De controle moet in de database of op de server zitten.
Geheime sleutels in je code
De publishable key van Supabase mag publiek. De secret of service_role key niet: die gaat dwars door RLS heen. Hetzelfde geldt voor geheime sleutels van Stripe, OpenAI of Anthropic. (Van die laatste twee betaal jij de rekening.)
Bestanden staan openbaar
Facturen, contracten of ID-scans in een openbare storage bucket. Wie de link heeft, kan ze openen. Zonder inloggen.
Wat ik als eerste check
Doe deze stappen zelf, of bel en dan lopen we ze samen door.
- 1
Draai de scans van Lovable
In de Security-weergave van je project staan een Quick scan en een Deep scan. De Quick scan draait bij elke publicatie, de Deep scan kijkt ook naar je code. Lees wat eruit komt. Lovable zegt er zelf bij dat de scans geen volledige controle vervangen.
- 2
Kijk per tabel
Heb je een eigen Supabase-project? Open in het dashboard de Security Advisor. Die meldt onder meer tabellen zonder RLS. Stel daarna per tabel de vraag: wie mag dit zien?
- 3
Test of je database open staat
Doe dit alleen met je eigen app. Vul je projectadres, een tabelnaam en je publieke sleutel in:
curl 'https://PROJECT.supabase.co/rest/v1/TABEL?select=*' -H 'apikey: PUBLIEKE_SLEUTEL'. Krijg je gegevens terug die niet openbaar horen te zijn, dan staat die tabel open. Staan er wel gegevens in en krijg je[], dan is dat wat je wil zien. - 4
Test met twee accounts
Maak twee accounts. Open als A een eigen pagina, zoals een profiel of factuur. Kopieer het adres en open het als B. Zie je de gegevens van A, dan heb je een probleem.
- 5
Zoek naar geheime sleutels
Open je site, open de ontwikkeltools van je browser en doorzoek alle bestanden op
sb_secret_,sk_live_,sk-proj-ensk-ant-. Vind je er een, vervang die sleutel dan meteen. Alleen weghalen is niet genoeg: hij is al uitgelekt.
Wat ik zelf heb gezien
Er zijn klanten bij me gekomen met sites en apps die ze met AI hadden gebouwd en die ik moest beveiligen. Ze wisten niet dat hun app persoonsgegevens zou hebben gelekt als ze hem zo live hadden gezet.
Wat het onderzoek laat zien
In november 2026 schreef Techzine over onderzoek van het Duitse securitybedrijf Crissy Field. Dat vond 159.041 Lovable-projecten, waarvan 34.545 met Supabase. Op 7.403 sites kregen de onderzoekers met alleen-lezen verzoeken records met e-mailadressen te zien. Onder de voorbeelden: paspoortnummers, betaalgegevens en chatberichten.
Dat is geen bevestigd lekpercentage. Een e-mailadres kan ook een openbaar contactadres of testdata zijn, en de steekproef is niet representatief. Of de gegevens zijn misbruikt, is niet vastgesteld. Lovables eigen databasefuncties vielen buiten het onderzoek.
De onderzoekers raden aan om toegangsrechten en de scheiding tussen accounts te laten controleren voordat er echte klantgegevens in je app staan. Dat kan bij mij, vanaf € 99.
Veelgestelde vragen
- Is Lovable veilig?
- Lovable heeft scans en beschermingen ingebouwd. Er zijn ook meldingen van lekken op het platform zelf geweest. En Lovable zegt zelf dat jij verantwoordelijk bent voor de beveiliging van je app. Het antwoord hangt dus vooral af van hoe jouw app is ingericht.
- Is Supabase veilig?
- Ja, als de toegangsregels kloppen. Het is een gewone PostgreSQL-database met goede beveiligingsfuncties. Alleen moet iemand die regels wel goed zetten.
- Mijn sleutel is zichtbaar in de browser. Is dat erg?
- De publishable of anon key niet. Die hoort daar te staan, zolang je RLS klopt. Een secret of service_role key wel. Vervang die meteen.
- Is de scan van Lovable niet genoeg?
- Een scan vindt veel, zoals tabellen zonder RLS. Maar een scan weet niet dat klant A de facturen van klant B niet mag zien. Daarvoor moet iemand snappen wat je app doet.
- Ik denk dat mijn app al lekt. Wat nu?
- Eerst dicht: zet RLS goed, of haal de app offline. Vervang sleutels die naar buiten zijn gekomen en bewaar je logs. Zijn persoonsgegevens ingezien of kwijt en is er risico voor de mensen om wie het gaat, dan moet je dat binnen 72 uur melden bij de Autoriteit Persoonsgegevens. Ik ben geen jurist, dus laat je daarover goed informeren. Bel gerust, dan kijk ik mee met de techniek.
- Geldt dit ook voor Bolt, Base44, Replit, Cursor of Claude?
- De techniek verschilt, de vraag niet: wie mag welke gegevens zien, en wordt dat op de server gecontroleerd? Gebruikt je app Supabase, dan gelden deze stappen ook. Anders zien ze er iets anders uit.
- Wat kost een controle?
- De snelle check kost € 99 excl. btw (€ 119,79 incl. btw) en kijkt van buitenaf naar open tabellen, sleutels en de scheiding tussen gebruikers. De uitgebreide check kost € 495 excl. btw (€ 598,95 incl. btw). Dit zit erin.
Verwante problemen
App gemaakt met AI online zetten
Je app werkt op je laptop, maar nog niet online? Dit komt erbij kijken: hosting, domein, HTTPS, database en sleutels. Met stappen die je zelf kan doen.
[Lovable domein & hosting]Lovable-app op je eigen domein of hosting
Lovable koppelen aan je domein bij Strato, TransIP of Mijndomein, of verhuizen naar eigen hosting. Dit gaat er makkelijk mis en dit moet je eerst weten.
Wil je dit bespreken?
Bel of mail met je vraag. Neem ik niet op, stuur dan even een mail.
Terug naar Hulp bij je AI-app