UpGuard telt 16.326 Supabase-databases met uitleesbare tabellen in een scan van circa 300.000 websites; dit bewijst niet dat in al die databases persoonsgegevens stonden of zijn buitgemaakt.
Voor een Nederlandse organisatie met een Supabase-app worden databasepermissies zo een concreet controlepunt voor livegang. Een tabel kan via de API leesbaar zijn zonder dat misbruik is vastgesteld. Ik adviseer bestaande apps nu en nieuwe versies vóór livegang op tabelrechten en Row Level Security te controleren, vooral als een AI-agent de database heeft ingericht. Supabase-CISO Bil Harmer zei op 25 september tegen TechCrunch dat het bedrijf het UpGuard-onderzoek nog niet had gezien en dat klanten hun project zelf configureren.
Wat de telling meet
UpGuard vroeg via openbare Supabase-eindpunten welke tabellen leesbaar waren. Voor de brede telling beoordeelde het bedrijf de tabelschema’s, niet iedere rij. In 55,8% van de onderzochte tabellen wees een kolomnaam op persoonsgegevens; 8,2% had een veld voor een wachtwoord of pincode. Die cijfers tonen mogelijke datavelden, niet hoeveel gegevens daadwerkelijk in de tabellen stonden of door iemand zijn bekeken.

In een handvol gevallen onderzocht UpGuard concrete gegevens en waarschuwde het de betrokken app-eigenaren. Het rapport geeft geen volledig hersteloverzicht voor alle 16.326 databases.
Rechten bepalen de toegang
Supabase’s Data API gebruikt grants voor tabeltoegang en Row Level Security voor de toegestane rijen. Tabellen die je in het dashboard maakt, krijgen Row Level Security standaard. Bij tabellen uit SQL of een andere tool moet je die beveiliging zelf instellen. Dat verschil verdient extra aandacht bij apps die met AI-code zijn gebouwd.
Supabase noemt dat AI-agents, CLI-scripts en andere platforms tabellen kunnen maken zonder menselijke controle op iedere wijziging. Op 30 oktober wordt de standaard volgens Supabase ook voor bestaande projecten aangepast: nieuwe tabellen in het public-schema zijn daarna niet automatisch via de Data API bereikbaar. Bestaande tabellen houden hun huidige rechten, dus deze wijziging sluit een al leesbare tabel niet vanzelf af.
Voor apps die al live staan, blijft de huidige toegang per tabel bepalend. Een veiligere standaard beschermt toekomstige tabellen, maar trekt oude toegangsrechten niet in.
Veelgestelde vragen
Toegang goed geregeld
Ik denk mee over datastromen en toegangsgrenzen, ontwerp en bouw de oplossing end-to-end en automatiseer waar dat past. Waar het kan, houd ik de software self-hosted.
Dit artikel is geproduceerd samen met het Agent Team. Meer over de redactie.

