Artikel

    Supabase security checklist: dit moet je controleren voordat je live gaat

    Supabase is de ruggengraat van veel AI-gebouwde apps: database, inloggen en opslag in één. Handig — maar een paar instellingen bepalen of je data echt veilig is. Dit is de checklist die we zelf gebruiken.

    1. Row Level Security staat aan — op elke tabel

    Dit is veruit de belangrijkste. Row Level Security (RLS) bepaalt wie welke rijen in je database mag zien. Staat het uit, dan kan iedereen met je publieke sleutel álles lezen — en die sleutel is bewust openbaar.

    Controleer per tabel of RLS aan staat én of er regels (policies) zijn die passen bij je app. „Iedereen mag alles” is technisch een policy, maar geen beveiliging.

    2. Je service-sleutel is nergens zichtbaar

    Supabase heeft twee sleutels: een publieke (anon key) die in je website mag staan, en een service key die álle beveiliging omzeilt. Die tweede hoort alleen op je server of in je edge functions.

    Staat de service key in je frontend-code of in een publieke GitHub-repo, dan heeft iedereen volledige toegang tot je database. Vervang de sleutel dan meteen — ook als je denkt dat niemand hem heeft gezien.

    Volg het stappenplan voor een gelekte sleutel als de service key openbaar is geweest.

    3. Storage-buckets staan niet per ongeluk openbaar

    Uploads zoals profielfoto's of documenten landen in storage-buckets. Een „publieke” bucket is voor iedereen op het internet te bekijken — fijn voor logo's, rampzalig voor contracten of identiteitsbewijzen.

    Maak buckets alleen publiek als de inhoud echt voor iedereen bedoeld is, en gebruik anders policies zoals bij je tabellen.

    4. Inloggen is aangescherpt

    • Beperk wie een account mag aanmaken als je app niet voor iedereen bedoeld is.
    • Zet e-mailbevestiging aan, zodat mensen niet met andermans adres registreren.
    • Schakel inlogmethoden uit die je niet gebruikt — elke actieve methode is een extra deur.

    5. Edge functions controleren wie ze aanroept

    Edge functions voeren acties uit met verhoogde rechten. Controleert zo'n functie niet wie de aanroeper is, dan kan iedereen hem gebruiken — ook voor acties die alleen voor ingelogde gebruikers of beheerders bedoeld waren.

    Liever automatisch?

    Deze checklist is precies wat VibeShield automatisch voor je controleert. Koppel je project en je ziet in minuten welke punten goed staan en welke aandacht nodig hebben — inclusief uitleg in gewone taal. Meer achtergrond lees je in onze gids over Supabase-beveiliging.

    Gebruik ook de checklist voor veilig live zetten.

    Veelgestelde vragen

    Is Supabase zelf onveilig?

    Nee, het platform is solide. De risico's zitten bijna altijd in de instellingen van je eigen project — en die zijn met deze checklist goed te controleren.

    Mijn AI-tool heeft Supabase voor me ingericht. Is dat goed gegaan?

    Soms wel, soms niet. AI-tools zetten RLS vaak aan maar vergeten de policies, of maken buckets standaard publiek. Controleren is altijd nodig — handmatig met deze lijst of automatisch met een scan.

    Hoe vaak moet ik dit controleren?

    Bij elke grote wijziging aan je app. Elke nieuwe tabel, bucket of functie kan een nieuw gat introduceren. Met continue scanning gebeurt dat vanzelf.

    Weet zeker dat je app veilig is

    Koppel je Supabase-project aan VibeShield en zie direct welke punten aandacht nodig hebben.

    Check gratis of je app lekt
    Terug naar de site