Techniek · Supabase

Supabase opzetten
én dichtzetten.

Supabase is in een middag opgetuigd en dat is precies het risico. De database staat er, het inloggen werkt, en dan blijkt maanden later dat elke ingelogde gebruiker bij de tabel van iedereen kan. Ik zet het op zoals het bedoeld is: rechten op databaseniveau, migraties in versiebeheer, en niets belangrijks in de browser.

Herken je dit

Wat er in de praktijk misgaat.

01

Row-level security staat uit

Of hij staat aan met een policy die neerkomt op 'iedereen die is ingelogd mag alles'. De anon key staat in de browser, dus dat is een open deur.

02

De frontend bewaakt de rechten

De knop is verborgen, maar het endpoint erachter doet het gewoon nog. Wie de netwerktab opent, komt erin.

03

Kolommen zijn met de hand aangepast

Wijzigingen direct in de dashboard-editor. Geen migraties, dus geen tweede omgeving en niets terug te draaien.

04

De service role key lekt

Die sleutel omzeilt alle rechten. Staat hij in client-side code of in een niet-beveiligde functie, dan is de hele beveiliging theater.

05

Geen geteste back-ups

Een back-up die nooit is teruggezet is een aanname, geen back-up. Meestal komt dat pas uit op het slechtste moment.

06

Queries worden traag

Zonder indexen en met te veel losse requests per pagina loopt het aantal database-calls op tot de app merkbaar hapert.

Hoe het werkt

Van losse tabellen naar een fundament.

01

Doorlichten wat er staat

Schema, policies, sleutels en welke data er echt in zit. Je krijgt een lijst met wat een beveiligingsrisico is en wat alleen rommelig is. Die eerste scan is gratis en bedoeld als eerste indruk, niet als volledige beveiligingsaudit.

02

Rechten op databaseniveau

Row-level security per tabel, policies per rol, en de service role alleen serverside. Zodat de rechten kloppen ook als iemand de frontend overslaat.

03

Migraties en omgevingen

Elke schemawijziging als migratie in Git, plus een aparte test- en productieomgeving zodat je kunt wijzigen zonder je klanten te raken.

04

Wat erop aansluit

Auth met rollen en wachtwoordherstel, storage met rechten, edge functions voor wat niet in de browser hoort, en back-ups die daadwerkelijk zijn teruggezet.

Wat je overhoudt
  • Row-level security per tabel en per rol
  • Migraties in Git, test- en productieomgeving
  • Sleutels uit de client, service role serverside
  • Auth met rollen, herstel en sessies
  • Back-ups die getest zijn, niet aangenomen

Het eerste oordeel kost je niets: stuur me de repository of een link en ik zeg eerlijk of doorbouwen slimmer is dan opnieuw beginnen.

Veelgestelde vragen
Kun je alleen de beveiliging nakijken?
Ja. Een doorlichting van schema, policies en sleutels met een geprioriteerde lijst kan los, zonder dat er een bouwtraject achteraan komt. De eerste blik is gratis.
Is Supabase AVG-proof?
Het kan dat zijn, mits je de EU-regio kiest, de verwerkersovereenkomst regelt en de rechten daadwerkelijk dichtzet. De techniek is niet het probleem, de standaardinstellingen zijn dat wel.
Wat als ik later weg wil bij Supabase?
Eronder zit gewoon Postgres. Met migraties in Git en zonder al te veel platform-specifieke trucs is verhuizen naar een andere Postgres-host een overzichtelijke klus.
Werk je ook met Firebase of een eigen database?
Ja, maar voor de meeste projecten kies ik Postgres via Supabase: relationele data, rechten in de database zelf en geen verrassingen op de rekening bij groei.
Laten we bouwen

Vertel wat je
wilt bouwen.

Een gesprek van een half uur. Je krijgt een eerlijk antwoord over wat het kost, hoe lang het duurt en of het slim is om te bouwen.

Gratis · geen verplichting

Laat je huidige site of tool scannen

Je hoeft nog niets te willen kopen. Stuur wat je hebt, dan zeg ik eerlijk wat ik zou houden, wat ik zou vervangen en of dat de investering waard is. Ook als het antwoord is dat je beter niets kunt doen.

De scan is een eerste indruk, geen beveiligingsaudit.

WhatsApp
0:00 / 0:00
  1. 01Stuur een link naar je site, je tool of je repository
  2. 02Ik kijk naar snelheid, structuur, data en beveiliging
  3. 03Meestal binnen twee werkdagen hoor je wat ik zou vervangen en wat dat kost
Bas Voets · Webframer
0:00 / 0:00