Supabase Row Level Security auf jeder Tabelle aktivieren — Lovable
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 Lovable fixen
AI Full-Stack-App-Builder (React + Vite + Supabase)
Lovable scaffoldet Supabase oft ohne RLS. Direkt im Supabase-SQL-Editor den enable-RLS-Block laufen lassen, dann Policies aus der Tabellen-View.
Lovable-Fallstricke:
- !Nie den service_role-Key aus Client-Code nutzen — RLS schützt dich nicht wenn du es mit dem Service-Key umgehst.
Anderes Tool? Wähle deinen Stack:
Der Prompt für Lovable
Diesen Text exakt so in deinen Lovable-Chat kopieren und einfügen.
Fix my Lovable app — please make these exact changes in the Lovable editor: 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. In your Lovable code, make sure no Supabase calls use the service_role key from the client.
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 Lovable
- 1. Dein Lovable-Projekt öffnen.
- 2. Prompt oben mit Copy-Button kopieren.
- 3. In Lovable-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 Lovable-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 Lovable-Prompts
API-Keys aus dem Client-Bundle entfernen — Lovable
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.) — Lovable
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 — Lovable
Prompt um alles HTTP auf HTTPS zu redirecten und HSTS zu aktivieren — 2026 Pflicht. In jedem Stack.