La sécurité au niveau des lignes est désactivée dans le Supabase de votre app Lovable
Votre app envoie une clé publique au navigateur de chaque visiteur. C’est la sécurité au niveau des lignes (RLS) qui empêche cette clé de lire toutes les lignes de toutes vos tables. Sans elle, n’importe qui le peut.
Les causes les plus fréquentes
Des tables créées sans RLS
Les tables créées dans le SQL Editor ou par une migration démarrent sans sécurité au niveau des lignes, tant qu’on ne l’active pas.
Des politiques qui autorisent tout
Une politique écrite « using (true) » active la RLS mais laisse quand même passer tout le monde.
La clé service role dans le navigateur
Cette clé contourne complètement la RLS. Si elle se trouve dans le code de votre front-end, les règles ne servent à rien.
Ce que vous pouvez vérifier vous-même
- Dans Supabase, ouvrez le Table Editor : les tables sans RLS y sont signalées. Le Security Advisor les liste aussi.
- Relisez chaque politique : qui elle autorise à lire, insérer, modifier et supprimer.
- Cherchez la clé service role dans le code de votre front-end ; seule la clé anon a sa place là.
Ce que vérifie le bilan de santé gratuit
L’analyse cherche les clés service role et les autres secrets dans votre code. Une fois GitHub connecté ou votre code envoyé, elle vérifie aussi quelles tables la clé publique peut lire (en comptant les lignes, sans jamais les lire) et quels buckets de stockage tout le monde peut lister.
Si vous préférez que nous le réparions
App Rescue active la sécurité au niveau des lignes avec des politiques adaptées à votre app, vérifie par des tests que chaque utilisateur ne voit que ses propres données, et sort les secrets du navigateur. Production Ready couvre ensuite le reste de la liste de contrôle de sécurité.
App Rescue, à partir de 299 € HT pour une petite app. L’analyse calcule le prix exact de la vôtre.