« Mon appli Lovable marche, mais est-ce que mes données sont protégées ? » C'est la question que je pose en premier quand quelqu'un me montre une application générée par l'IA, et la réponse est souvent : personne n'a vérifié. Lovable, Bolt et la plupart des outils du même genre rangent vos données dans Supabase, une base de données très bien faite, mais qui a une particularité : par défaut, une table peut être lisible par n'importe qui connaissant l'adresse de votre application.
Ce n'est pas une rumeur. En mai 2025, une faille a été publiée sous le nom CVE-2025-48757 : des sites générés par Lovable laissaient lire et modifier leurs tables sans aucun compte, à cause de règles d'accès insuffisantes. Lovable a répondu que la protection des données reste à la charge de chaque client. Autrement dit, c'est à vous de vérifier.
Voici comment le faire en dix minutes, sans être développeur, et quoi faire si le résultat vous inquiète.
Ce que fait la Row Level Security, en langage courant
Supabase expose votre base de données directement à votre application, à travers une clé dite « publique » que tout le monde peut voir dans le navigateur. C'est normal, c'est ainsi que l'outil fonctionne. Ce qui empêche un inconnu de lire les fiches de vos clients, ce n'est pas cette clé : ce sont les règles d'accès posées sur chaque table, que Supabase appelle Row Level Security, ou RLS.
Une règle dit par exemple : « un utilisateur connecté ne voit que les lignes où la colonne propriétaire porte son identifiant ». Sans règle, la documentation de Supabase est sans ambiguïté : une table exposée sans RLS est lisible et modifiable par n'importe quel rôle qui y a accès, y compris le rôle public utilisé par votre application.
Le problème des applications générées par l'IA, c'est que ces règles sont souvent oubliées, ou écrites de façon trop large pour que « ça marche » pendant la démonstration. Tout fonctionne, les écrans sont beaux, et la porte est ouverte.
Vérifier en dix minutes
Vous avez besoin de l'accès à votre projet Supabase (Lovable vous y emmène depuis les réglages du projet, ou vous l'avez créé vous-même).
1. Ouvrez le tableau de bord Supabase, puis la rubrique qui liste vos tables. Chaque table affiche si la RLS est activée ou non. Une table marquée comme non protégée, dans laquelle il y a des noms, des e-mails ou des commandes, c'est le premier signal.
2. Regardez les règles de chaque table protégée. Activer la RLS ne suffit pas : il faut des règles. Une règle qui autorise tout le monde à tout lire, ajoutée « pour que ça marche », revient au même qu'aucune règle.
3. Faites le test de l'inconnu. Ouvrez votre application dans une fenêtre de navigation privée, sans vous connecter. Si des données d'autres personnes apparaissent, ou si un écran réservé s'affiche quand même, la protection n'est pas là.
4. Cherchez les clés qui ne devraient pas être là. Dans les réglages de Supabase, il existe une clé dite de service, qui contourne toutes les règles. Elle ne doit jamais se trouver dans le code de l'application. Si vous voyez cette clé dans un fichier de configuration côté navigateur, considérez-la comme compromise.
Dix minutes suffisent pour savoir si vous avez un problème. Les corriger demande un peu plus.
Ce que je corrige quand la base est ouverte
Le jour même, je ferme la porte : RLS activée sur chaque table, et des règles qui ne laissent passer que le propriétaire de la ligne, ou le rôle qui en a besoin. Ensuite, je vérifie avec deux comptes différents que l'un ne voit jamais les données de l'autre, et j'écris ce test pour qu'il tourne à chaque mise à jour.
Si une clé de service traînait dans le code, je la renouvelle et je déplace tout ce qui l'utilisait côté serveur. Si des données ont pu être lues par des inconnus, je vous l'écris noir sur blanc, avec ce que le RGPD vous demande dans ce cas : informer les personnes concernées et, quand le risque est réel, déclarer l'incident à la CNIL sous 72 heures.
C'est la première étape de la reprise d'une application faite avec l'IA : la mise en sécurité, qui prend en général trois à sept jours, avant de toucher au moindre bug fonctionnel.
Un exemple concret
Imaginons Karim, qui gère une petite salle d'escalade et a construit avec Lovable un espace adhérent : inscription, réservation de créneaux, historique des passages. Tout marche. En faisant le test de l'inconnu, il découvre que la liste des adhérents, avec leurs e-mails et leurs dates de naissance, se charge même sans être connecté.
La correction tient en une journée : règles d'accès par adhérent, un rôle pour l'accueil qui voit tout le monde, un test automatique qui vérifie les deux. L'application ne change pas d'un pixel. Mais le jour où un adhérent demande « qui peut voir mes données ? », Karim a une réponse.
Et Bolt, v0, Cursor ?
Le mécanisme est le même : ces outils s'appuient aussi sur Supabase ou sur une base comparable, et les règles d'accès y sont tout aussi souvent absentes. La vérification ci-dessus vaut pour tous. Seule la façon d'arriver au tableau de bord de la base change.
Questions fréquentes
La clé publique de Supabase visible dans mon application, c'est un problème ?
Non, elle est faite pour ça. Ce qui compte, c'est que les tables derrière aient des règles d'accès. La clé qu'il ne faut jamais exposer, c'est la clé de service.
Lovable peut-il corriger ça tout seul si je lui demande ?
Il peut ajouter des règles, mais sans comprendre votre métier il les écrit souvent trop larges, et rien ne vérifie qu'elles tiennent après la correction suivante. C'est précisément ce que je relis et que je teste.
Combien ça coûte de sécuriser une application Lovable ?
L'audit est gratuit. La mise en sécurité complète (règles d'accès, clés, sauvegardes, comptes et droits) se situe entre 900 et 1 500 € au forfait, en trois à sept jours. Les tarifs complets sont sur la page de reprise d'application IA.
Dois-je arrêter mon application le temps de vérifier ?
Non. Vérifier ne touche à rien. Si la base est ouverte, la fermeture prend quelques heures et se fait sans couper le service.
On vérifie la vôtre ?
Si vous n'avez pas envie de faire ces vérifications vous-même, envoyez-moi l'adresse de votre application. Je regarde la base, les règles et les clés, et vous recevez un premier avis écrit sous 48 heures, gratuitement. Vous pouvez aussi commencer par le test en 8 questions, qui vous dit en deux minutes où vous en êtes.




