Aller au contenu

Bases de la sécurité

Sécurité Base44 : ce qu’un scan signale, et ce qui dépend de vous

Sécurité Base44 sur 5 438 applis : trois signalements sur presque chacune sont ceux de la plateforme, la source map est le badge Base44, votre part est courte.

Vlad Tkachenko12 min de lecture
Une appli Base44 avec le badge de la plateforme dans un coin, lue de l’extérieur en un rapport de trois lignes pâles et une en accent.

En bref

  • La sécurité Base44 est surtout décidée par la plateforme. Un scan d’une appli Base44 remonte les trois mêmes signalements sur presque chacune : des en-têtes manquants, un en-tête CORS joker et une source map publiée.
  • Le 16 septembre 2026, nous sommes retournés lire ce que contiennent ces source maps. Chacune de celles qui répondaient appartenait au script du badge de Base44. Le code du propriétaire est parti sans map sur chaque appli que nous avons ouverte.
  • Ce qui dépend de vous est court : toute clé collée dans l’appli (trouvée sur 2 % des applis Base44), les règles de permission sur vos tables, et tout ce que vous avez connecté vous-même. Les deux notes D sur 5 438 applis viennent de cette liste.

Vous avez scanné votre appli Base44 et le rapport est revenu avec un B, et trois lignes ambrées en dessous : des en-têtes de sécurité manquants, une API ouverte à n’importe quel site, et votre code source original publié. Ou quelqu’un de technique a regardé pour vous et a dit les trois mêmes choses d’une voix plus inquiète. Pour une appli dont vous n’avez jamais lu le code, la dernière est celle qui frappe le plus fort.

Voici la partie que guide après guide sur la sécurité Base44 se trompe : presque chaque ligne de ce rapport parle de Base44. Trois des quatre signalements qui apparaissent sur presque chaque appli sont fixés par la plateforme, pour chaque appli qu’elle héberge. Et l’un des trois est une phrase que notre propre scan formule mal. Cet article existe parce que nous sommes retournés lire ce qu’il avait trouvé.

Voyez votre appli comme un appartement dans un immeuble qui appartient à Base44. Un scan lit l’immeuble depuis la rue. La serrure de la porte d’entrée, l’enseigne au-dessus, la règle sur qui peut regarder par les fenêtres : c’est le propriétaire de l’immeuble qui les a décidées, et chaque appartement les partage. Ce que vous avez apporté est une liste plus courte, et le reste de cet article parcourt le rapport ligne par ligne pour dire ce qui relève de qui.

Ce qu’un scan de sécurité Base44 trouve sur presque chaque appli

Trois signalements sur presque chacune, un quatrième sur environ la moitié, et les quatre décidés par Base44.

En août 2026, nous avons lancé les neuf mêmes vérifications sur 30 998 applis vibe-codées en ligne, dont 5 438 publiées sur Base44. Les 5 438 manquaient d’en-têtes de sécurité. 5 417 ont répondu à une requête venue d’un site inventé avec un en-tête CORS joker. 3 229 d’entre elles, 59 %, servaient une source map. 2 705 avaient une adresse, nommée dans le code même de l’appli, qui répondait à une requête sans connexion et renvoyait des données.

OutilApplisSource map publiéeSignalement CORSUne clé dans le bundleNotées D ou F
Base445 4383 229 (59 %)5 418 (99 %)103 (2 %)2
Lovable18 554225 (1 %)8 (moins de 1 %)822 (4 %)407
Replit3 042168 (6 %)1 129 (37 %)219 (7 %)9
Bolt1 12313 (1 %)5 (moins de 1 %)75 (7 %)15
v01 7900000

Chaque pourcentage porte sur les applis où la vérification a obtenu une réponse, ce qui explique que les bases diffèrent légèrement du nombre d’applis. Une vérification qui n’a pas pu atteindre une appli laisse cette appli de côté. Elle n’est jamais comptée comme propre.

Lisez la ligne Base44 face à la ligne Lovable. Sur Lovable, les deux premiers signalements n’apparaissent presque jamais, parce que l’hébergement de Lovable règle les deux dans l’autre sens. Sur Base44, ils apparaissent presque à chaque fois. Une colonne aussi uniforme sur des milliers d’applis dont les propriétaires ne se sont jamais parlé, c’est à cela que ressemble un réglage de plateforme vu de l’extérieur. Personne ne l’a choisi dans sa propre appli.

Les deux dernières colonnes se décident à l’intérieur de chaque appli, et elles racontent l’autre moitié. Une clé dans le code compressé est apparue sur 2 % des applis Base44 contre 4 % des applis Lovable, et 2 applis Base44 sur 5 438 ont eu un D, contre 407 applis Lovable sur 18 554. Ces deux applis Base44 sont dans la dernière section.

Le signalement de source map sur une appli Base44, c’est le badge

Chaque source map qui répondait sur les applis Base44 que nous avons rouvertes appartenait au script du badge de Base44. Aucune ne contenait le code du propriétaire.

Une source map est un fichier qu’un outil de build écrit à côté du JavaScript compressé que votre site sert. Elle contient les fichiers d’origine, leurs noms et chaque commentaire, pour qu’une erreur puisse pointer la ligne que vous avez écrite plutôt que le caractère 48 000 d’une seule ligne immense. Quand la map est publiée, quiconque appuie sur F12 lit le projet tel qu’il apparaissait dans l’éditeur, et notre article précédent explique ce que cela coûte sur une appli dont la map est la vôtre.

Sur Base44, la map est à quelqu’un d’autre. Le 16 septembre 2026, nous sommes retournés sur 30 applis que notre scan d’août avait signalées et nous avons lu ce que chaque map contenait. Sur 27 d’entre elles, la seule map qui répondait était /static/js/badge.js.map, la map du petit script qui dessine le badge de Base44 sur la page, et ce qu’elle révèle, c’est le code de Base44 pour ce badge. Sur les 3 autres, aucune map ne répondait. Sur aucune des 30, une map ne couvrait les fichiers du propriétaire. Ces fichiers sont partis compressés et sans map sur chaque appli que nous avons ouverte, le premier fichier que la page charge comme chaque morceau qu’elle charge ensuite.

Sur une appli Base44, la seule map qui répond appartient au script du badge, et elle contient le code de Base44. Sur une appli Lovable, la map, ce sont les propres fichiers du propriétaire.

Les 59 % comptent donc autre chose que du code publié. Sur les 30 applis signalées, 27 des 28 qui répondaient portent encore le script du badge dans leur page, et sur 30 applis jamais signalées, 29 ne le portent pas. Le chiffre qui se lit « trois applis Base44 sur cinq publient leur code » est plus proche de « trois applis Base44 sur cinq affichent le badge ».

Reste une ligne de notre propre rapport dont nous devons répondre. Elle dit « Votre code source original est publié », et sur une appli Base44 elle est vraie pour un fichier et fausse pour votre appli. La vérification a fait ce pour quoi elle a été construite : suivre l’adresse au bas d’un script et compter une map qui répond. Ici, le script appartient au propriétaire de l’immeuble. Sur Lovable, Replit et Bolt, la même ligne veut dire ce qu’elle dit. Sur 11 applis signalées de ces outils que nous avons rouvertes, 9 servaient une map des propres pages et composants du propriétaire, et sur les 2 autres, plus aucune map ne répondait.

Ce que cela signifie pour vous : rien de vous n’est dans cette map. La vérification qui vaut la peine, c’est l’autre : savoir si quelque chose que vous avez collé dans l’appli se trouve dans le fichier compressé que chaque visiteur reçoit déjà. C’est plus bas.

Notre scan gratuit lit votre appli Base44 en ligne depuis l’extérieur, les neuf vérifications, en 20 secondes environ et sans compte, et écrit « Impossible à vérifier » pour tout ce à quoi il n’a pas pu répondre, au lieu d’une coche : scannez votre appli.

Le joker CORS : Base44 le fixe, et rien de privé ne répond derrière

Vous ne pouvez pas le changer, et sur les applis Base44 que nous avons regardées, il n’y a aucune donnée privée derrière.

Le signalement, c’est une ligne dans les réponses de votre serveur, Access-Control-Allow-Origin: *, qui dit au navigateur d’un visiteur qu’une page de n’importe quel autre site peut lire cette réponse-là. La documentation de Base44 dit d’où elle vient (lue le 16 septembre 2026) : « Per-app CORS configuration is not currently available. Base44 manages CORS at the platform level. » Chaque appli de la plateforme l’envoie, et c’est ainsi que 5 417 applis sur 5 419 se sont retrouvées avec le même signalement.

Qu’un joker compte ou non dépend de ce qui répond derrière, et l’article plus long explique pourquoi. En bref : l’en-tête arrive après que la réponse a déjà été envoyée, et seul un navigateur le lit, donc le resserrer empêcherait les pages des autres sites de lire votre appli, et personne d’autre. Ce qui se trouve derrière sur une appli Base44, c’est l’appli elle-même, la page, le code compressé, le badge, que chaque visiteur télécharge de toute façon.

Le quatrième signalement est l’endroit où un joker compterait. Sur 2 705 applis Base44, environ la moitié, une adresse nommée dans le code de l’appli répondait à une requête sans connexion et renvoyait des données. Nous en avons rouvert 12 le 16 septembre. Sur six, plus rien ne répondait. Sur les six autres, l’adresse qui répondait était à chaque fois la même, /api/consent/config, et ce qu’elle renvoie, ce sont les réglages de consentement aux cookies de l’appli : si une bannière de consentement est activée, quelles règles régionales s’appliquent, pendant combien de mois la réponse est retenue. C’est de la configuration. Les lignes de personne ne s’y trouvent.

Vos données ne voyagent pas par ce chemin sur Base44. Votre appli interroge le backend de Base44, le backend applique les règles de permission que vous avez posées sur chaque table, et la réponse revient par la même porte. Un scan de l’extérieur ne peut pas voir ces règles du tout, et c’est pour cela que le guide Base44 consacre son temps à ce qu’un inconnu peut atteindre, et vous laisse vos règles.

Ce qui dépend de vous sur une appli Base44

Une liste courte, et les deux notes D du relevé en viennent.

Une clé que vous avez collée. 103 des 5 438 applis Base44, 2 %, servaient quelque chose en forme de clé dans le code que chaque visiteur télécharge. 95 d’entre elles étaient des clés d’API Google, qui demandent généralement une restriction dans Google Cloud, et pas de rotation. L’une était une clé secrète Stripe, et cette appli a eu un D. Base44 garde ses propres identifiants sur son serveur, donc une clé dans votre bundle en est une que vous ou l’outil avez ajoutée pour une fonction : une carte, une balise d’analytics, un formulaire de paiement. Savoir de quel type il s’agit se lit en une minute, et une clé secrète se renouvelle là où elle a été émise avant de sortir du code.

Les règles de permission sur vos tables. Base44 les appelle data access rules, et elles décident qui peut lire et modifier chaque type d’enregistrement. Personne de l’extérieur ne peut les tester, nous compris, et c’est le seul endroit où un scan externe doit laisser un blanc. Le propre scan de sécurité de Base44 les lit, lui, et sa documentation dit qu’il est disponible dans chaque formule, y compris la gratuite.

Tout ce que vous avez connecté vous-même. L’autre D du relevé était une appli Base44 avec un projet Supabase à elle, et dedans une table nommée comme des données personnelles, qui répondait à une requête sans connexion. Connectez votre propre base et les règles par ligne habituelles s’appliquent en entier, parce que ce projet répond directement à internet.

Six lignes qu’un scan peut imprimer sur une appli Base44. Les quatre premières sont fixées par la plateforme pour chaque appli qu’elle héberge. Les deux dernières sont celles qu’un propriétaire peut changer, et les deux notes D du relevé en viennent.

Ce que vous pouvez changer depuis Base44

Deux en-têtes, vos règles de table et vos clés. Le reste est fixé pour chaque appli de la plateforme.

La documentation de Base44 liste ce que vous pouvez activer (lue le 16 septembre 2026). Dans le tableau de bord de votre appli, sous Security puis l’icône des réglages, vous pouvez activer deux en-têtes de sécurité. Prevent Embedding pose X-Frame-Options, qui empêche votre appli d’être affichée dans la page d’un autre site. Restrict Browser Features pose Permissions-Policy, qui limite ce que votre appli peut demander au navigateur, caméra et position comprises. Si des gens se connectent à votre appli et peuvent faire quelque chose de lourd de conséquences en un clic, activez le premier. La même page dit que Content-Security-Policy et Strict-Transport-Security « are not configurable at the individual app level ». C’est l’essentiel du signalement sur les en-têtes, et il est hors de vos mains.

Le propre scan de Base44 couvre l’intérieur : problèmes de permissions sur les données, secrets exposés, fonctions backend sans vérification de connexion, dépendances et, à partir de la formule Builder, vulnérabilités du code. Sa documentation ne mentionne ni les source maps ni l’en-tête CORS, ce qui est honnête, puisque les deux appartiennent à la plateforme. Un scan externe couvre ce qui est remis au navigateur d’un visiteur, et sur une appli Base44, c’est là que la liste est la plus courte.

Ce que dit le rapportQui le fixeQuoi faire
En-têtes de sécurité manquantsBase44, avec deux interrupteurs pour vousActiver Prevent Embedding si des gens se connectent. Laisser le reste.
API ouverte à n’importe quel siteBase44Rien. Regarder plutôt ce qui répond derrière.
Code source original publiéLe script du badge de Base44Rien. La map contient le code de Base44 pour le badge.
Une adresse répond sans connexionBase44, à /api/consent/configLire ce qu’elle renvoie. Les réglages de consentement sont faits pour être publics.
Une clé dans le bundleVousRenouveler une clé secrète à sa source. Restreindre une clé Google.
Une table lisibleVous, si vous avez connecté votre propre baseRow Level Security sur chaque table qui contient des personnes.

Quoi faire maintenant

Que faire

  • Lisez les trois lignes de plateforme de votre rapport comme celles de Base44, puis lisez le reste.
  • Appuyez sur F12 dans votre appli en ligne et ouvrez l’onglet Sources. Pas de dossier avec vos propres fichiers veut dire pas de map de votre code, quoi que dise le rapport.
  • Trouvez chaque clé dans l’appli et lisez son préfixe. Une clé secrète se renouvelle là où elle a été émise, puis se retire du code, dans cet ordre.
  • Activez Prevent Embedding sous Security si vos utilisateurs se connectent.
  • Ouvrez Data, choisissez une table, puis Permissions, et lisez la règle de chaque table qui contient des personnes.
  • Si vous avez connecté votre propre projet Supabase, activez Row Level Security sur chaque table qu’il contient et vérifiez qu’elle filtre vraiment.

Publier sur Base44, c’est un clic dans la barre du haut, et rien entre ce clic et internet ne relit l’appli à la recherche d’une clé collée pour faire marcher une fonction. Un scan lancé le mois dernier décrit l’appli du mois dernier.

Reeve Monitor est construit pour cela. Il relance les neuf vérifications toutes les heures sur trois applis au plus, surveille la disponibilité toutes les 60 secondes, vous prévient quand un résultat change au lieu d’attendre que vous alliez voir, et envoie un rapport mensuel. Il coûte €12 par mois au tarif de base, avec sept jours gratuits avant de vous facturer ; la page des tarifs est parfois en dessous du chiffre donné ici et jamais au-dessus. Monitor surveille et rien de plus, ce qui, pour une appli Base44, est la moitié qui convient : Care, notre formule de sauvegarde, ne sauvegarde que des projets Supabase, et une appli Base44 garde ses données dans Base44, sauf si vous avez connecté un projet à vous.

Le guide en langage clair pour cette plateforme est Votre appli Base44 est-elle sûre ?, et la checklist de sécurité en 10 minutes couvre ce qui vaut la peine d’être vérifié sur toute appli fraîchement lancée, quel que soit l’outil qui l’a construite.

FAQ

Mon scan dit que mon appli Base44 publie son code source original. C’est vrai ?

Sur les applis Base44 que nous avons revérifiées en septembre 2026, non. La seule source map qui répondait appartenait au script du badge de Base44, et elle contient le code de Base44 pour ce badge. Vos propres fichiers sont partis compressés et sans map sur chaque appli que nous avons ouverte. La même ligne sur une appli d’un autre outil veut généralement dire ce qu’elle dit, et là, elle mérite d’être lue.

Puis-je désactiver le joker CORS sur une appli Base44 ?

Non. La documentation de Base44 indique que la configuration CORS par appli n’est pas disponible et que la plateforme la gère. Ce que vous décidez, c’est ce que les adresses de votre appli renvoient à une requête sans connexion, et c’est de toute façon là que l’en-tête compterait. Sur les applis Base44 que nous avons rouvertes, la seule adresse qui répondait sans connexion renvoyait des réglages de consentement aux cookies.

Base44 est-il moins sûr que Lovable ?

Un scan ne peut pas classer des outils, et ces deux-là n’ont pas la même forme. Une appli Base44 remonte plus de signalements, et presque tous sont des réglages de plateforme qui n’exposent rien de vous. Une appli Lovable parle directement à sa base Supabase, donc le réglage qui fait fuir le plus de données, une table sans règles par ligne, est à la portée d’un créateur Lovable et pas d’un créateur Base44. Deux notes D sur 5 438 applis Base44 contre 407 sur 18 554 applis Lovable, c’est cette différence en chiffres. Cela ne dit rien de votre appli tant que vous ne l’avez pas scannée.

Que puis-je changer depuis Base44 ?

Deux en-têtes de sécurité (Prevent Embedding et Restrict Browser Features, sous Security dans le tableau de bord de votre appli), les règles de permission de chaque table, quelles fonctions backend exigent un utilisateur connecté, et quelles clés vous collez dans l’appli. CORS, Content-Security-Policy et Strict-Transport-Security sont fixés par la plateforme pour chaque appli, et la documentation de Base44 le dit.

Une source map publique expose-t-elle mes clés d’API ?

Une map expose du code, et une clé qui se trouve dans le code était déjà dans le fichier compressé que chaque visiteur télécharge. Sur une appli Base44, la seule map que nous avons trouvée appartient au badge, donc la vraie question est de savoir si une clé est dans votre bundle tout court. Notre scan lit le bundle pour cela, séparément. Sur les applis Base44, les clés qu’il trouve sont presque toujours des clés d’API Google, qui demandent généralement une restriction dans Google Cloud, et pas de rotation.

Écrit par

Vlad Tkachenko

Fondateur de Reeve

Je passe mes journées à examiner des applications créées avec Lovable, Bolt, v0, Cursor et Replit, et la courte liste d'erreurs qui y reviennent sans cesse.

En savoir plus sur l'auteur

À lire ensuite

Tous les articles

Vous ne savez pas où en est votre propre application ?

Lancez une analyse gratuite et obtenez une note claire de A à F en une vingtaine de secondes. Sans compte, sans carte.

Analyser mon application

Vérification externe automatisée, pas un audit complet. L'absence de problème n'est pas une garantie de sécurité.