Van 80% klaar naar echt draaiend. Dit zijn de punten die je afvinkt voordat je de eerste echte gebruiker binnenlaat.
Toegang tot gegevens
- Row level security aan op elke tabel, met policies gekoppeld aan de ingelogde gebruiker.
- Rollen in een aparte tabel, niet in het profiel dat de gebruiker zelf bijwerkt.
- Storage buckets op privé, met tijdelijke links voor downloads.
- Getest met twee accounts: gebruiker A ziet niets van gebruiker B.
Loop de Supabase security checklist na voor alle database-instellingen.
Sleutels en geheimen
- Geen service role key of API-sleutel in frontendcode.
- Alles wat ooit in de git-historie stond is geroteerd.
- Geheimen staan in een secrets-opslag, niet in een meegebouwd bestand.
Server-functies en invoer
- Elke server-functie controleert wie hem aanroept.
- Invoer van gebruikers wordt gevalideerd voordat er iets mee gebeurt.
- Foutmeldingen verraden geen interne details.
Controleer ook hoe je wachtwoorden afhandelt.
Afhankelijkheden en onderhoud
- Pakketten bijgewerkt en bekende kwetsbaarheden opgelost.
- Back-ups aan en een keer teruggezet om te controleren dat het werkt.
- Je weet welke gegevens je bewaart, hoe lang, en wie erbij kan.
Na de lancering
Beveiliging is geen eenmalige actie. Elke wijziging kan een nieuwe tabel, functie of sleutel introduceren. Laat daarom bij elke push automatisch controleren, in plaats van eens per kwartaal handmatig te kijken.
Voeg uptime monitoring toe om storingen snel te ontdekken.
Veelgestelde vragen
Hoeveel tijd kost deze checklist?
Voor een klein project meestal een halve dag, mits je de punten meteen oplost in plaats van alleen noteert.
Moet ik alles af hebben voor de eerste gebruiker?
De punten over toegang tot gegevens en sleutels wel. De rest kan meegroeien met je app.
Heb ik hierna nog een pentest nodig?
Zodra je echte klantgegevens of betalingen verwerkt is dat verstandig. Deze checklist zorgt dat zo'n test niet vol staat met vermijdbare fouten.