Supabase Row Level Security auf jeder Tabelle aktivieren — Bolt
Supabase-Tabellen sind für jeden mit dem Anon-Key (der zum Browser shippt) lesbar — ausser RLS ist aktiv. Ohne RLS kann jeder Besucher deine ganze users-Tabelle dumpen.
In Bolt fixen
StackBlitz In-Browser AI-App-Builder mit WebContainers
Wie Lovable — SQL direkt im Supabase-Dashboard-Editor. SQL ins Repo committen für Reproduzierbarkeit.
Anderes Tool? Wähle deinen Stack:
Der Prompt für Bolt
Diesen Text exakt so in deinen Bolt-Chat kopieren und einfügen.
In Bolt, please update my project with these exact changes: Enable Supabase Row Level Security 1. Open the Supabase dashboard → Authentication → Policies. 2. Enable RLS on EVERY table (no exceptions, even ones you think are public). 3. Add explicit policies (e.g. `auth.uid() = user_id`) — RLS without policies blocks everything. 4. Audit your client code: only the anon key should ever reach the browser, never the service_role key.
Warum das wichtig ist
Supabase hat einen Job: eine PostgreSQL-DB sein mit der du aus dem Browser sprichst. Der Preis dieser Convenience ist RLS — ohne RLS kann jeder mit deinem Anon-Key (sichtbar im JS-Bundle) jede Query auf jede Tabelle laufen lassen.
Einzelnes häufigstes Severe-Finding in Lovable- und Bolt-Apps. Ein Dev folgt dem Supabase-Quickstart, baut ein User-Dashboard, shippt es, und merkt nicht dass `select * from users` die Email jedes Users aus einem Browser-Tab liefert. Wir haben Sites auditiert wo die gesamte Kunden-DB so offen lag.
RLS ist nicht kompliziert. Für "User sehen nur ihre eigenen Rows" ist die Policy eine SQL-Zeile: `using (auth.uid() = user_id)`. Die meisten Apps brauchen unter 10 Policies total über alle Tabellen.
So nutzt du diesen Prompt in Bolt
- 1. Dein Bolt-Projekt öffnen.
- 2. Prompt oben mit Copy-Button kopieren.
- 3. In Bolt-Chat einfügen und senden.
- 4. Diff reviewen, Änderungen akzeptieren, neu deployen.
- 5. Fix mit der Checkliste unten verifizieren.
Typische Fehler vermeiden
- error_outlineRLS aktivieren aber SELECT-Policy vergessen — Tabelle wird unsichtbar, Features brechen, Devs deaktivieren RLS wieder.
- error_outlinePolicy mit `using (true)` "damit es läuft" — gleich wie kein RLS.
- error_outlineService_role-Key in Client-Datei weil "nichts ging" — umgeht RLS komplett.
- error_outlineRLS nur auf Tabellen die man für sensitiv hält — die übersehene ist immer das Problem.
- error_outlineRLS manuell auf Supabase-Auth-Tabellen — die sind von Supabase gemanaged, in Ruhe lassen.
Wie du prüfst ob der Fix geklappt hat
- check_circleSupabase-Dashboard → Authentication → Policies — jede Non-Auth-Tabelle zeigt RLS aktiv und mindestens eine Policy.
- check_circleAus Incognito-Browser (unauth) ein `select` auf jede Tabelle — muss 401 oder leer liefern.
- check_circlePantra Security Audit zeigt "Supabase RLS: pass" (sonst als kritisch geflaggt).
- check_circleSQL-Query: `select tablename from pg_tables where schemaname='public' and rowsecurity=false` — muss null Rows liefern.
Häufige Fragen
Wieso "bricht" RLS-Aktivierung alles?expand_more
RLS nötig auf Server-only-Tabellen?expand_more
Wie teste ich Policies?expand_more
Alle 34 Prompts passend zu deiner Bolt-Site?
Pantra scannt deine Site in 10 Sekunden, erkennt den Stack und generiert genau die Prompts die passen — nur die du brauchst.
Site scannenÄhnliche Bolt-Prompts
API-Keys aus dem Client-Bundle entfernen — Bolt
Stack-spezifischer Prompt um Supabase-Service-Keys, OpenAI-Keys, Stripe-Keys und andere Secrets aus Client-Code in Server-Env zu verschieben — für Lovable, Cursor, Bolt, v0, Replit, Windsurf, Claude Code, Base44.
SicherheitSecurity-Header setzen (CSP, HSTS, X-Frame usw.) — Bolt
Stack-spezifischer Prompt für Content-Security-Policy, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy in Lovable, Cursor, Bolt, v0, Replit, Windsurf, Claude Code, Base44.
SicherheitHTTPS erzwingen und HSTS aktivieren — Bolt
Prompt um alles HTTP auf HTTPS zu redirecten und HSTS zu aktivieren — 2026 Pflicht. In jedem Stack.