[{"data":1,"prerenderedAt":808},["ShallowReactive",2],{"blog-fr-is-cursor-ai-safe":3,"blog-index-fr":565},{"id":4,"title":5,"body":6,"category":516,"cover":517,"coverAlt":518,"description":519,"draft":520,"extension":521,"faq":522,"image":541,"keywords":542,"meta":553,"navigation":554,"ogTitle":5,"path":555,"published":556,"seo":557,"stem":558,"tldr":559,"updated":563,"__hash__":564},"blog_fr\u002Fblog\u002Fis-cursor-ai-safe.md","Cursor AI est-il sûr ? L’éditeur, le code et l’appli publiée",{"type":7,"value":8,"toc":502},"minimark",[9,13,21,24,29,32,54,57,63,67,70,73,84,93,102,111,116,120,123,132,135,157,176,180,183,192,195,198,206,211,215,218,221,244,247,251,254,262,265,370,382,393,397,400,439,443,446,458,462,491],[10,11,12],"p",{},"Vous avez construit quelque chose dans Cursor, ça marche, et vous êtes sur le\npoint d’y mettre de vraies personnes. Quelque part dans cette semaine, vous\navez tapé « cursor ai est-il sûr » dans un moteur de recherche, et ce qui est\nrevenu, c’est une page sur les réglages de confidentialité de Cursor, une page\nsur la qualité du code écrit par une IA, et une page proposant des curseurs de\nsouris personnalisés à télécharger. Aucune n’a dit un mot de l’appli que vous\nallez publier.",[10,14,15,16,20],{},"Voici ce que la plupart de ces réponses ratent : ",[17,18,19],"strong",{},"« Cursor AI est-il sûr ? »,\nce sont trois questions dans une seule phrase",", et elles ont trois réponses\ndifférentes. Deux portent sur Cursor et les modèles derrière lui. La troisième\nporte sur ce que vous avez publié, et c’est elle qui décide si un inconnu peut\nlire les données de vos utilisateurs.",[10,22,23],{},"Voyez Cursor comme un entrepreneur que vous avez engagé pour bâtir une maison.\nS’il garde une copie de vos plans est une question. Si ce qu’il construit est\naux normes en est une deuxième. Si les portes ferment à clé une fois que vous\navez emménagé est la troisième, et elle reste votre question aussi longtemps\nque vous y habitez.",[25,26,28],"h2",{"id":27},"cursor-ai-est-il-sûr","Cursor AI est-il sûr ?",[10,30,31],{},"En tant qu’éditeur, c’est un outil cloud ordinaire : un interrupteur de\nconfidentialité, une page sécurité publiée et une attestation SOC 2 Type II.\nCela répond à l’une des trois questions, et pas à celle qui décide si des\ninconnus peuvent lire les données de vos utilisateurs.",[33,34,35,42,48],"ol",{},[36,37,38,41],"li",{},[17,39,40],{},"L’éditeur."," Cursor garde-t-il votre code, s’entraîne-t-il dessus, le\ntransmet-il à quelqu’un d’autre. C’est la copie des plans chez\nl’entrepreneur.",[36,43,44,47],{},[17,45,46],{},"Le code."," Ce que l’IA écrit est-il sûr. C’est la question de savoir si la\nmaison est aux normes, et personne ne l’inspecte à l’entrée.",[36,49,50,53],{},[17,51,52],{},"L’appli que vous avez publiée."," Ce qu’un inconnu peut atteindre depuis la\nrue : une clé dans le code qu’un navigateur télécharge, une base de données\nqui répond sans connexion, un fichier qui n’aurait jamais dû avoir d’URL. Ce\nsont les portes.",[10,55,56],{},"Rien du côté de Cursor ne peut répondre à la troisième. Rien du nôtre ne peut\nrépondre aux deux premières.",[58,59],"diagram",{"alt":60,"caption":61,"src":62},"Trois panneaux côte à côte. Le premier porte le logo Cursor avec un nuage et un cadenas à côté. Le deuxième porte un signe de code surmonté d’une étincelle. Le troisième montre une page de navigateur, trois visiteurs qui tendent la main vers elle et une loupe dessinée sur ce panneau seulement.","Trois questions dans une seule recherche. Une analyse depuis l’extérieur lit le troisième panneau et rien des deux autres.","\u002Fblog\u002Fis-cursor-ai-safe\u002Fthree-questions-1600x700.png",[25,64,66],{"id":65},"cursor-garde-t-il-mon-code","Cursor garde-t-il mon code ?",[10,68,69],{},"Le temps de vous répondre, oui. Ensuite, cela dépend d’un interrupteur.",[10,71,72],{},"Cursor est un outil cloud. Quand vous lui demandez quoi que ce soit, les\nparties pertinentes de votre projet quittent votre ordinateur, vont sur les\nserveurs de Cursor et sont transmises à un fournisseur de modèles (OpenAI,\nAnthropic, Google, selon le modèle choisi) pour être traitées. C’est ainsi que\nle produit fonctionne. Les plans doivent parvenir à l’entrepreneur.",[10,74,75,76,83],{},"Ce qui se passe ensuite, c’est l’interrupteur, et la\n",[77,78,82],"a",{"href":79,"rel":80},"https:\u002F\u002Fcursor.com\u002Fdata-use",[81],"nofollow","page sur l’usage des données"," de Cursor met les\ndeux positions dans un même paragraphe. Avec le Privacy Mode activé, « les\ndonnées clients ne seront pas utilisées par Cursor pour l’entraînement » et\nCursor « maintient des accords de rétention zéro (ZDR) avec tous les\nfournisseurs », c’est-à-dire que les entreprises qui font tourner les modèles\ns’engagent à ne rien garder non plus. Désactivé, Cursor « peut utiliser et\nstocker les données de la base de code, les prompts, les actions dans\nl’éditeur, les extraits de code et d’autres données et actions liées au code\npour améliorer nos fonctions d’IA et entraîner nos modèles ».",[10,85,86,87,92],{},"L’interrupteur existe dans tous les forfaits, gratuit compris, et un\nadministrateur d’équipe ou d’entreprise peut l’activer pour tout le monde et\nempêcher les membres de le désactiver. Le propre\n",[77,88,91],{"href":89,"rel":90},"https:\u002F\u002Fcursor.com\u002Fdocs\u002Fenterprise\u002Fsecurity-hardening",[81],"guide de durcissement","\nde Cursor dit qu’il est activé par défaut sur les comptes Enterprise. Dans un\nforfait individuel, c’est un réglage, et ce réglage mérite d’être trouvé\naujourd’hui.",[10,94,95,96,101],{},"Une chose de plus à son sujet, parce que quelqu’un s’y est déjà fait prendre.\nDepuis la mi-2025, il en existe deux versions : « Privacy Mode », qui laisse\nCursor stocker certaines données pour des fonctions comme ses agents cloud et\nses mémoires, et « Privacy Mode (Legacy) », qui ne stocke rien. En juillet\n2026, un\n",[77,97,100],{"href":98,"rel":99},"https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=48737226",[81],"utilisateur sur Hacker News","\na raconté s’être connecté à l’appli iOS et avoir trouvé son compte basculé du\nréglage Legacy vers l’actuel. Un employé de Cursor a répondu que l’invite\nd’activation des agents cloud avait fait la bascule « sans dire clairement ce\nque cela signifiait ni que c’est difficile à annuler », et que revenir en\narrière n’était pas possible dans l’appli. Si vous aviez choisi la plus\nstricte, vérifiez qu’elle est toujours sélectionnée.",[10,103,104,105,110],{},"Les certificats répondent à une question plus étroite qu’il n’y paraît. La\n",[77,106,109],{"href":107,"rel":108},"https:\u002F\u002Fcursor.com\u002Fsecurity",[81],"page sécurité"," de Cursor liste une attestation\nSOC 2 Type II, ISO\u002FIEC 27001 et ISO\u002FIEC 42001. Elles signifient qu’un auditeur\nexterne a vérifié que Cursor a des contrôles sur la façon dont il traite les\ndonnées qu’il détient, comme l’attestation d’assurance d’un entrepreneur dit\nque l’entrepreneur est assuré. Elles ne disent rien du code qu’il écrit ni de\nl’appli que vous déployez avec.",[58,112],{"alt":113,"caption":114,"src":115},"À gauche, une fenêtre d’éditeur d’où un document s’en va le long d’une flèche, à travers un nuage, jusqu’à un serveur à droite. Sous le nuage se trouve un interrupteur à bascule. À côté de l’interrupteur en position activée, un cylindre de stockage dessiné en pointillés, et à côté de lui en position désactivée, un cylindre plein surmonté d’une étincelle.","Votre code quitte votre machine à chaque requête. L’interrupteur décide si quelque chose est conservé ensuite, et si cela sert à l’entraînement.","\u002Fblog\u002Fis-cursor-ai-safe\u002Fwhere-your-code-goes-1600x680.png",[25,117,119],{"id":118},"quenvoie-lindexation-du-code","Qu’envoie l’indexation du code ?",[10,121,122],{},"Un index de votre projet, conservé sur les serveurs de Cursor, avec les chemins\nde fichiers chiffrés et le code lui-même jamais stocké en texte lisible.",[10,124,125,126,131],{},"L’indexation est ce qui permet à Cursor de répondre à une question sur tout\nvotre projet plutôt que sur le fichier ouvert. Il découpe vos fichiers en\nmorceaux, les envoie sur les serveurs de Cursor pour en faire des embeddings\n(un résumé numérique de ce dont chaque morceau parle), et garde ces embeddings\npour que, quand vous demandez « où gère-t-on les remboursements », il trouve\nles bons morceaux. La\n",[77,127,130],{"href":128,"rel":129},"https:\u002F\u002Fcursor.com\u002Fdocs\u002Fcontext\u002Fcodebase-indexing",[81],"documentation"," de Cursor\ndit : « Les chemins de fichiers sont chiffrés avant d’être envoyés aux serveurs\nde Cursor. Le contenu du code n’est jamais stocké en clair. » Ce qui reste de\nleur côté est une carte de votre code, et c’est autre chose qu’une copie.",[10,133,134],{},"Deux choses valent d’être sues sur cette carte.",[10,136,137,140,141,145,146,149,150,153,154,156],{},[17,138,139],{},"Certains fichiers sont exclus par défaut, et vous pouvez en ajouter."," Cursor\nsaute tout ce qui figure dans votre ",[142,143,144],"code",{},".gitignore"," et une liste par défaut qui\ncomprend ",[142,147,148],{},".env*",", le fichier où vivent d’ordinaire vos clés secrètes. Un\nfichier ",[142,151,152],{},".cursorignore"," à la racine du projet, écrit dans la même syntaxe que\n",[142,155,144],{},", tient tout ce que vous y nommez hors de l’index et hors de ce qui\nest montré à l’IA.",[10,158,159,162,163,168,169,171,172,175],{},[17,160,161],{},"Le terminal de l’agent ne lit pas cette liste."," C’est la réserve qui compte\npour les clés. La\n",[77,164,167],{"href":165,"rel":166},"https:\u002F\u002Fcursor.com\u002Fdocs\u002Fcontext\u002Fignore-files",[81],"page sur les fichiers d’exclusion","\nde Cursor dit que « les outils de terminal et de serveur MCP utilisés par\nl’Agent ne peuvent pas bloquer l’accès au code régi par ",[142,170,152],{}," », et\nqu’« une protection complète n’est pas garantie en raison de l’imprévisibilité\ndes LLM ». Quand l’agent exécute une commande sur votre machine, il peut lire\n",[142,173,174],{},".env"," comme n’importe quelle commande le peut. Le fichier est hors de l’index\net toujours à portée. Si une clé se trouve dans le dossier de projet que vous\navez ouvert dans Cursor, traitez-la comme une clé que l’agent peut voir.",[25,177,179],{"id":178},"le-code-que-cursor-écrit-est-il-sûr","Le code que Cursor écrit est-il sûr ?",[10,181,182],{},"Pas par défaut, et c’est mesuré, même si la mesure porte sur les modèles que\nCursor utilise et non sur Cursor lui-même.",[10,184,185,186,191],{},"Veracode, une entreprise qui vend des tests de sécurité du code, a fait passer\nplus de 150 modèles par les mêmes 80 tâches de programmation, dans quatre\nlangages, chaque tâche offrant une façon sûre et une façon non sûre de faire le\ntravail. Sa\n",[77,187,190],{"href":188,"rel":189},"https:\u002F\u002Fwww.veracode.com\u002Fblog\u002Fspring-2026-genai-code-security\u002F",[81],"mise à jour de printemps 2026",",\npubliée le 24 mars 2026, a trouvé que seuls 55 % des résultats étaient sûrs, un\nchiffre que Veracode qualifie de « pratiquement identique à celui d’il y a deux\nans », tandis que la part qui compilait dépassait 95 %. Sur deux des quatre\ntypes de failles, les modèles n’ont presque jamais choisi la version sûre : le\ncross-site scripting, qui laisse le texte d’un visiteur s’exécuter comme du\ncode dans le navigateur d’un autre, a été réussi 15 % du temps, et l’injection\nde logs 13 %.",[10,193,194],{},"Le propre résumé de Veracode est que les modèles « sont devenus excellents\npour écrire du code qui compile. Ils ont échoué à écrire du code qui est sûr. »",[10,196,197],{},"Pour vous, la personne qui n’a pas écrit le code, l’écart entre ces deux\nnombres est tout le constat. Le test que vous faites sur un projet Cursor,\nc’est de savoir s’il fonctionne : vous cliquez à travers l’appli et les bonnes\nchoses apparaissent. C’est le 95 %. Le test que personne ne fait, c’est de\nsavoir si le code a décidé qui a le droit de voir quoi, et le 55 % dit que\ncette décision a été prise environ une fois sur deux. Une appli peut réussir\nentièrement le premier test et échouer au second, parce qu’une page qui vous\nmontre vos commandes et une page qui montre à n’importe qui les commandes de\ntout le monde ont exactement la même allure pour la personne qui possède le\ncompte.",[10,199,200,201,205],{},"Où cette décision doit vivre, et pourquoi « charge les commandes » ne la prend\njamais tout seul, c’est le milieu du ",[77,202,204],{"href":203},"\u002Fis-your-cursor-app-safe","guide Cursor",".",[58,207],{"alt":208,"caption":209,"src":210},"Deux barres horizontales sur une même échelle. La barre du haut, précédée d’une coche, court presque sur toute la largeur et se termine par le nombre 95 précédé d’un signe supérieur. La barre du bas, précédée d’un cadenas, s’arrête un peu après la moitié et se termine par le nombre 55.","Le test de printemps 2026 de Veracode sur plus de 150 modèles. La barre du haut est le code qui a compilé. Celle du bas est le code qui était sûr.","\u002Fblog\u002Fis-cursor-ai-safe\u002Fcompiles-versus-safe-1600x560.png",[25,212,214],{"id":213},"linjection-de-prompt-en-langage-clair","L’injection de prompt, en langage clair",[10,216,217],{},"Le modèle traite les instructions comme des instructions partout où il les\ntrouve, y compris dans des choses qu’il était seulement censé lire.",[10,219,220],{},"Vous dites à Cursor « résume ce fil » ou « range ce fichier », et pour cela il\nlit le fil ou le fichier. Si le fil contient une phrase écrite pour ressembler\nà une instruction destinée à une IA, le modèle peut la suivre, parce qu’il n’a\naucun moyen fiable de distinguer votre voix de celle de la page. C’est\nl’injection de prompt, et dans un agent de programmation, qui peut modifier des\nfichiers et exécuter des commandes sur votre machine, les conséquences vont au\ndelà d’un mauvais résumé.",[10,222,223,224,229,230,233,234,239,240,243],{},"Deux cas nommés, tous deux contre Cursor. En mars 2025, Pillar Security a\npublié\n",[77,225,228],{"href":226,"rel":227},"https:\u002F\u002Fwww.pillar.security\u002Fblog\u002Fnew-vulnerability-in-github-copilot-and-cursor-how-hackers-can-weaponize-code-agents",[81],"« Rules File Backdoor »"," :\ndes instructions cachées à l’aide de caractères Unicode invisibles dans un\nfichier ",[142,231,232],{},".cursor\u002Frules",", le fichier de configuration qui dit à Cursor comment\nvous voulez que votre code soit écrit. Le fichier paraissait propre dans\nl’éditeur et dans un diff GitHub, et il disait en silence à l’IA d’ajouter à\nchaque page générée un script venant du domaine d’un attaquant, et de ne jamais\nle mentionner. La réponse de Cursor a été que ce n’était pas une vulnérabilité\nde sa plateforme et que la responsabilité revient à l’utilisateur. En août\n2025, Aim Security a révélé\n",[77,235,238],{"href":236,"rel":237},"https:\u002F\u002Fthehackernews.com\u002F2025\u002F08\u002Fcursor-ai-code-editor-fixed-flaw.html",[81],"CVE-2025-54135",",\nqu’ils ont baptisée CurXecute : un message dans un canal Slack public, lu par\nCursor à travers un serveur MCP (une extension qui permet à l’agent d’atteindre\ndes outils externes), pouvait amener l’agent à écrire une entrée dans sa propre\nconfiguration ",[142,241,242],{},"mcp.json",", et Cursor lançait cette entrée, exécutant la commande\nde l’attaquant, avant que vous ayez approuvé la modification. Cursor l’a\ncorrigée dans la version 1.3 le 29 juillet 2025, et chaque modification de ce\nfichier attend désormais votre approbation.",[10,245,246],{},"Ce qui en découle pour vous est court. Un fichier de règles que vous avez copié\nd’un dépôt ou d’un billet de blog est du code, et il oriente tout ce que\nl’agent écrit ensuite, alors lisez-le comme du code. Gardez Cursor à jour,\npuisque le correctif de CurXecute était un numéro de version. Et chaque serveur\nMCP que vous branchez et qui lit du texte venu de l’extérieur, une boîte de\nréception, une file de tickets, une recherche, remet à l’agent des phrases que\nvous n’avez pas écrites.",[25,248,250],{"id":249},"ce-quune-analyse-de-30-998-applis-en-ligne-dit-de-la-troisième-question","Ce qu’une analyse de 30 998 applis en ligne dit de la troisième question",[10,252,253],{},"Que rien de l’éditeur n’atteint l’appli que vous avez publiée. Nous ne savons\npas distinguer depuis l’extérieur une appli faite avec Cursor d’une autre, et\nc’est cela, le constat.",[10,255,256,257,261],{},"Entre le 12 et le 14 août 2026, nous avons passé les neuf vérifications\nexternes que n’importe qui peut lancer gratuitement sur notre page d’accueil\nsur 30 998 applis en ligne. Nous les avons trouvées par l’endroit où elles\nétaient publiées : 18 554 sur le domaine de Lovable, 5 438 sur celui de Base44,\n3 042 sur celui de Replit, et ainsi de suite. Un projet Cursor se déploie là où\nvous le mettez, sur Vercel, sur Netlify, sur un domaine que vous avez acheté, et\nla page qu’un visiteur télécharge ne porte aucune marque de l’éditeur qui l’a\nécrite. Il n’y a donc pas de colonne Cursor dans\n",[77,258,260],{"href":259},"\u002Fresearch\u002Fvibe-coded-app-security-2026","le rapport",", et il ne peut pas y en\navoir.",[10,263,264],{},"Ce qu’il y a, sur chaque builder que nous avons mesuré, c’est la même courte\nliste de choses qu’un propriétaire a laissées ouvertes, et aucune n’est\ndécidée par l’éditeur. Chaque part ci-dessous porte sur les applis pour\nlesquelles la vérification a répondu, parce qu’une vérification qui n’a pas pu\naboutir est inconnue et non réussie. Aucune appli n’est nommée ici ni nulle\npart ailleurs chez nous.",[266,267,268,284],"table",{},[269,270,271],"thead",{},[272,273,274,278,281],"tr",{},[275,276,277],"th",{},"Ce que nous avons vérifié",[275,279,280],{},"Applis",[275,282,283],{},"Qui en décide sur un projet Cursor",[285,286,287,299,310,321,331,341,359],"tbody",{},[272,288,289,293,296],{},[290,291,292],"td",{},"Une table de base de données lisible sans connexion",[290,294,295],{},"2 096 sur 3 680 (57 %)",[290,297,298],{},"Vous, dans la base de données",[272,300,301,304,307],{},[290,302,303],{},"Une route d’API qui a répondu à un inconnu avec des données",[290,305,306],{},"3 852 sur 30 926 (12 %)",[290,308,309],{},"Vous, dans le code",[272,311,312,315,318],{},[290,313,314],{},"Source map servie (sur Base44, surtout la plateforme)",[290,316,317],{},"3 885 sur 30 987 (13 %)",[290,319,320],{},"Vous, dans le build, hors Base44",[272,322,323,326,329],{},[290,324,325],{},"Quelque chose en forme de clé dans le code qu’un visiteur télécharge",[290,327,328],{},"1 332 sur 30 998 (4 %)",[290,330,309],{},[272,332,333,336,339],{},[290,334,335],{},"Une clé qui facture un compte ou contourne toutes les règles",[290,337,338],{},"52 sur 30 998",[290,340,309],{},[272,342,343,353,356],{},[290,344,345,346,348,349,352],{},"Un fichier privé comme ",[142,347,174],{}," ou ",[142,350,351],{},".git\u002Fconfig"," à une URL publique",[290,354,355],{},"8 sur 30 749",[290,357,358],{},"Vous, dans le déploiement",[272,360,361,364,367],{},[290,362,363],{},"En-têtes de sécurité du navigateur manquants",[290,365,366],{},"30 756 sur 30 981 (99 %)",[290,368,369],{},"Vous, chez l’hébergeur",[10,371,372,373,377,378,381],{},"La première ligne est mesurée sur les 3 680 applis qui nommaient un projet\nSupabase et dont la base de données a répondu à la question, d’où sa base plus\npetite ;\n",[77,374,376],{"href":375},"\u002Fblog\u002Fcan-anyone-read-your-supabase-database","ce que cette vérification lit et ne lit pas","\ndonne toute l’échelle. La cinquième ligne est celle qui coûte de l’argent à\nelle seule : une clé secrète OpenAI, Anthropic, AWS ou Stripe, ou une clé\n",[142,379,380],{},"service_role"," Supabase, dans le code qu’un navigateur télécharge.",[10,383,384,385,387,388,392],{},"La dernière colonne est ce qui change avec Cursor. Sur le domaine propre d’un\nbuilder, deux de ces lignes appartiennent à l’hébergeur : les en-têtes sont\nenvoyés par ce qui sert la page, et les source maps suivent les réglages de\nbuild du builder. Un projet Cursor, c’est votre dépôt, votre build et votre\ndéploiement, si bien que chaque ligne de ce tableau est à vous, y compris les\ndeux qu’un propriétaire Lovable ne contrôle pas. C’est plus de contrôle et plus\nà vérifier, et c’est pourquoi le ",[77,386,204],{"href":203},"\npasse son temps sur la sortie de votre build et votre base de données plutôt\nque sur l’éditeur. Le ",[77,389,391],{"href":390},"\u002Fblog\u002Fis-replit-safe","billet sur Replit"," pose les mêmes\ntrois questions à une plateforme qui héberge l’appli et vous laisse en même\ntemps livrer un serveur à vous.",[25,394,396],{"id":395},"la-vérification-de-cinq-minutes-depuis-lextérieur","La vérification de cinq minutes depuis l’extérieur",[10,398,399],{},"Utilisez une fenêtre privée pour les trois premières, afin que votre propre\nconnexion ne réponde pas à la place d’un inconnu.",[33,401,402,413,416,419,432],{},[36,403,404,405,408,409,412],{},"Ouvrez votre adresse publiée avec ",[142,406,407],{},"\u002F.env"," à la fin, puis avec\n",[142,410,411],{},"\u002F.git\u002Fconfig",". Les deux doivent échouer. Si l’une affiche du texte, faites\ntourner aujourd’hui chaque clé qu’elle contient, puis corrigez le\ndéploiement pour que ce fichier ne soit jamais servi.",[36,414,415],{},"Ouvrez de la même façon l’une de vos propres routes d’API, une que vous ne\nvoudriez pas voir lue par un inconnu. Si elle répond avec des données, cette\nroute a besoin d’une vérification de connexion.",[36,417,418],{},"Ouvrez votre appli en ligne, puis l’onglet Sources des outils de\ndéveloppement de votre navigateur. Si vous pouvez lire vos fichiers\nd’origine avec leurs commentaires, les source maps sont activées dans votre\nbuild de production.",[36,420,421,422,424,425,427,428,431],{},"Si vos données sont dans Supabase, la moitié intérieure de la vérification\nest dans le ",[77,423,204],{"href":203}," : cherchez\n",[142,426,380],{}," et ",[142,429,430],{},"sk_live_"," dans la sortie du build, puis ouvrez la page\ndes politiques.",[36,433,434,435,205],{},"Ou laissez l’analyse s’en charger. Elle lance celles-ci et le reste des neuf\ndepuis l’extérieur, prend une vingtaine de secondes, ne demande aucun compte\net affiche « Impossible de vérifier » pour tout ce à quoi elle n’a pas pu\nrépondre, plutôt qu’une coche : ",[77,436,438],{"href":437},"\u002Fsecurity-scanner","analysez votre appli",[25,440,442],{"id":441},"quest-ce-qui-change-après-le-prochain-push","Qu’est-ce qui change après le prochain push ?",[10,444,445],{},"N’importe quoi. Un projet Cursor part en ligne quand vous le poussez, et rien\nentre votre éditeur et internet ne relit l’appli à la recherche d’une route qui\na perdu sa vérification de connexion, d’une clé collée à minuit pour passer un\nbuild qui échouait, ou d’une source map revenue avec un changement de\nconfiguration. Le chiffre de Veracode est la raison pour laquelle cela compte\ndavantage ici que sur un builder : chaque session avec l’agent est du code neuf\nqui compile et n’est peut-être pas sûr, et une analyse faite le mois dernier\ndécrit l’appli du mois dernier.",[10,447,448,452,453,457],{},[77,449,451],{"href":450},"\u002Fpricing","Reeve Monitor"," est construit pour cela. Il relance les neuf\nvérifications toutes les heures sur trois applis au plus, surveille la\ndisponibilité toutes les 60 secondes, vous prévient quand un résultat change au\nlieu d’attendre que vous alliez voir, et envoie un rapport mensuel. Il coûte\n€12 par mois au tarif de base, avec sept jours gratuits avant de vous\nfacturer ; la page des tarifs est parfois en dessous du chiffre donné ici et\njamais au-dessus. Monitor surveille et rien de plus. Si votre appli Cursor\ngarde ses données dans Supabase, ",[77,454,456],{"href":455},"\u002Fsupabase-backups","Care"," est la formule qui\nconserve en plus une copie de cette base de données, et de vos fichiers\ntéléversés une fois que vous connectez un identifiant Storage. Si les données\nvivent ailleurs, Monitor est la moitié qui convient.",[25,459,461],{"id":460},"à-faire-cette-semaine","À faire cette semaine",[463,464,465],"key-takeaways",{},[466,467,468,471,477,480,488],"ul",{},[36,469,470],{},"Trouvez le Privacy Mode dans les réglages de Cursor et vérifiez quelle version est sélectionnée. En équipe, faites-le imposer par l’administrateur.",[36,472,473,474,476],{},"Traitez toute clé présente dans le dossier de projet ouvert comme une clé que l’agent peut lire. ",[142,475,152],{}," la tient hors de l’index, et le terminal ne lit pas cette liste.",[36,478,479],{},"Lisez comme du code tout fichier de règles ou configuration MCP copié depuis internet, et gardez Cursor à jour.",[36,481,482,483,427,485,487],{},"Ouvrez ",[142,484,407],{},[142,486,411],{}," sur votre adresse publiée dans une fenêtre privée. Les deux doivent échouer.",[36,489,490],{},"Ouvrez vos propres routes d’API sans connexion. Toute route qui répond avec des données privées a besoin d’une vérification de connexion.",[10,492,493,494,496,497,501],{},"La moitié intérieure de tout cela, la sortie du build et la base de données,\nc’est le ",[77,495,204],{"href":203},". La\n",[77,498,500],{"href":499},"\u002Fchecklist","checklist de sécurité en 10 minutes"," couvre ce qui mérite d’être\nconfirmé sur toute appli fraîchement lancée, quel que soit ce qui l’a écrite.",{"title":503,"searchDepth":504,"depth":504,"links":505},"",3,[506,508,509,510,511,512,513,514,515],{"id":27,"depth":507,"text":28},2,{"id":65,"depth":507,"text":66},{"id":118,"depth":507,"text":119},{"id":178,"depth":507,"text":179},{"id":213,"depth":507,"text":214},{"id":249,"depth":507,"text":250},{"id":395,"depth":507,"text":396},{"id":441,"depth":507,"text":442},{"id":460,"depth":507,"text":461},"Bases de la sécurité","\u002Fblog\u002Fis-cursor-ai-safe\u002Fcover-1200x630.png","Le logo Cursor sur une tuile blanche, une flèche vers une fenêtre d’éditeur avec une étincelle, puis une page publiée et trois visiteurs.","Cursor AI est-il sûr ? Trois questions dans une recherche : ce que Cursor garde, ce que son code rate, et si l’appli que vous avez publiée est ouverte.",false,"md",[523,526,529,532,535,538],{"q":524,"a":525},"Cursor s’entraîne-t-il sur mon code ?","Seulement si le Privacy Mode est désactivé. Quand il est activé, Cursor déclare que les données clients ne servent pas à l’entraînement et qu’il détient des accords de rétention zéro avec chaque fournisseur de modèles, si bien que rien n’est conservé de leur côté non plus. Quand il est désactivé, Cursor dit qu’il peut utiliser et stocker votre code, vos prompts et vos actions dans l’éditeur pour améliorer ses fonctions et entraîner ses modèles. L’interrupteur existe dans tous les forfaits, gratuit compris, et un administrateur d’équipe peut l’activer pour tout le monde.",{"q":527,"a":528},"Que fait vraiment le Privacy Mode ?","Il décide ce qu’il advient de votre code une fois la requête traitée. Votre code quitte toujours votre ordinateur à chaque requête, parce que c’est ainsi qu’un éditeur cloud fonctionne. Le Privacy Mode empêche Cursor de s’entraîner dessus et engage les fournisseurs de modèles à ne rien conserver. Depuis la mi-2025 il en existe deux versions : l’actuelle laisse Cursor stocker certaines données pour des fonctions comme les agents cloud et les mémoires, et celle désormais étiquetée Legacy ne stocke rien. Si vous aviez choisi la plus stricte, vérifiez qu’elle est toujours sélectionnée.",{"q":530,"a":531},"L’indexation du code est-elle sûre ?","L’indexation envoie des morceaux de votre projet à Cursor pour en faire des embeddings, un résumé numérique qui lui permet de retrouver le bon fichier quand vous posez une question. Cursor indique que les chemins de fichiers sont chiffrés avant de quitter votre machine et que le code lui-même n’est jamais stocké en texte lisible, donc ce qui reste sur ses serveurs est une carte de votre projet. Les fichiers listés dans .gitignore et les fichiers .env sont ignorés par défaut, et un fichier .cursorignore tient tout le reste hors de l’index. La réserve, c’est le terminal : Cursor documente que l’agent, quand il exécute une commande, peut lire un fichier que .cursorignore exclut.",{"q":533,"a":534},"Cursor est-il certifié SOC 2 ?","Cursor affiche une attestation SOC 2 Type II sur sa page sécurité, aux côtés d’ISO\u002FIEC 27001 et d’ISO\u002FIEC 42001. Un rapport SOC 2 signifie qu’un auditeur externe a vérifié que l’entreprise a des contrôles sur la façon dont elle traite les données qu’elle détient. Il ne dit rien sur la sûreté du code que Cursor écrit, ni sur l’appli que vous avez déployée avec, qui sont les deux questions qui inquiètent la plupart des gens tapant « cursor ai est-il sûr ».",{"q":536,"a":537},"Le code généré par IA est-il moins sûr que celui que j’écris ?","La réponse mesurée porte sur les modèles, pas sur vous. Veracode fait passer 80 tâches de programmation à chaque grand modèle, chacune offrant une façon sûre et une façon non sûre de faire le travail, et dans sa mise à jour de printemps 2026 seuls 55 % des résultats étaient sûrs alors que plus de 95 % compilaient. C’est l’écart qu’il faut retenir : le code réussit le test que vous faites, à savoir s’il fonctionne, et environ une fois sur deux il n’a pas pris la décision de sécurité que personne ne vérifie pour vous.",{"q":539,"a":540},"Cursor est-il sûr pour du travail client ?","Cela dépend de ce que le contrat du client dit sur l’endroit où son code peut aller. Cursor envoie les parties pertinentes d’un projet sur ses serveurs, puis à un fournisseur de modèles, à chaque requête ; le Privacy Mode change ce qui est conservé ensuite, pas le fait que cela voyage. Si le contrat autorise un outil cloud sous accord de rétention zéro, le Privacy Mode est le réglage qui vous en donne un, et dans un forfait équipe l’administrateur peut l’imposer pour que personne sur le projet ne puisse le désactiver.","\u002Fblog\u002Fis-cursor-ai-safe\u002Fcard-800x500.png",[543,544,545,546,547,548,549,550,551,552],"cursor ai est-il sûr","cursor est-il sûr","cursor ai sécurité","cursor privacy mode","cursor entraîne sur mon code","cursor indexation du code confidentialité","cursor soc 2","le code généré par ia est-il sûr","risques de sécurité cursor","is cursor ai safe",{},true,"\u002Fblog\u002Fis-cursor-ai-safe","2026-09-16",{"title":5,"description":519},"blog\u002Fis-cursor-ai-safe",[560,561,562],"Cursor AI est-il sûr ? En tant qu’éditeur, c’est un outil cloud ordinaire : votre code part sur ses serveurs pour être traité, un interrupteur décide ce qui reste, et il détient une attestation SOC 2 Type II.","Le code qu’il écrit est une deuxième question. Dans le test de printemps 2026 de Veracode, plus de 150 modèles ont produit du code qui compilait plus de 95 % du temps et qui était sûr 55 % du temps.","L’appli que vous avez publiée est la troisième, et la seule qu’une analyse depuis l’extérieur peut trancher. Nous ne savons pas distinguer une appli faite avec Cursor d’une autre, et c’est justement le point : rien de l’éditeur n’atteint ce que vous avez publié.","2026-09-21","TfzSWQMtRDDfGSR0ORsEjWf3tDUiHOWlZUyzWI69g70",[566,573,579,584,590,596,602,608,609,614,620,626,632,638,644,650,656,662,668,674,680,686,692,698,704,710,716,722,728,734,740,746,752,758,764,769,774,780,786,792,797,803],{"path":567,"title":568,"description":569,"published":570,"category":571,"image":572,"draft":520},"\u002Fblog\u002Fsupabase-backup-auth-users","Pourquoi votre dump Supabase ne contient aucun utilisateur","Lancez supabase db dump tout seul et vous obtenez la forme de votre base et aucune de ses lignes, sans le schéma auth où vivent vos utilisateurs.","2026-09-23","Backups","\u002Fblog\u002Fsupabase-backup-auth-users\u002Fcard-800x500.png",{"path":574,"title":575,"description":576,"published":577,"category":516,"image":578,"draft":520},"\u002Fblog\u002Fdomain-and-certificate-expiry","Domaine expiré, site hors ligne : ce qui se passe ensuite","Votre domaine a expiré et votre site est hors ligne. Le compte à rebours qui démarre, pourquoi le certificat est le moindre souci, et comment vérifier les deux.","2026-09-22","\u002Fblog\u002Fdomain-and-certificate-expiry\u002Fcard-800x500.png",{"path":580,"title":581,"description":582,"published":563,"category":516,"image":583,"draft":520},"\u002Fblog\u002Fis-lovable-safe","Lovable est-il sûr ? Ce que 18 554 applications Lovable ont montré","Lovable est-il sûr ? 18 554 applications, neuf vérifications. La plateforme était la plus propre des cinq. Les trouvailles étaient dans les applications.","\u002Fblog\u002Fis-lovable-safe\u002Fcard-800x500.png",{"path":585,"title":586,"description":587,"published":588,"category":516,"image":589,"draft":520},"\u002Fblog\u002Fvibe-coded-app-security-checklist","La checklist de sécurité du vibe coding, en neuf vérifications","Une checklist de sécurité du vibe coding en neuf points, chacun vérifiable de l’extérieur sur votre appli en ligne, et chacun avec un test d’une ligne.","2026-09-20","\u002Fblog\u002Fvibe-coded-app-security-checklist\u002Fcard-800x500.png",{"path":591,"title":592,"description":593,"published":594,"category":516,"image":595,"draft":520},"\u002Fblog\u002Fstripe-secret-key-in-frontend","Une clé secrète Stripe dans votre frontend peut déplacer de l’argent","Une clé secrète Stripe exposée dans votre frontend peut rembourser, débiter et lire chaque fiche client que vous détenez. Votre clé pk_live_ y a sa place.","2026-09-19","\u002Fblog\u002Fstripe-secret-key-in-frontend\u002Fcard-800x500.png",{"path":597,"title":598,"description":599,"published":600,"category":516,"image":601,"draft":520},"\u002Fblog\u002Fvite-and-next-public-env-vars","Variables d’environnement Vite exposées : le préfixe dit publier","Variables d’environnement Vite exposées : votre appli a fait ce que le préfixe demandait. VITE_ et NEXT_PUBLIC_ veulent dire publier, et l’IA ignorait le prix.","2026-09-18","\u002Fblog\u002Fvite-and-next-public-env-vars\u002Fcard-800x500.png",{"path":603,"title":604,"description":605,"published":606,"category":516,"image":607,"draft":520},"\u002Fblog\u002Fbase44-source-maps","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.","2026-09-17","\u002Fblog\u002Fbase44-source-maps\u002Fcard-800x500.png",{"path":555,"title":5,"description":519,"published":556,"category":516,"image":541,"draft":520},{"path":390,"title":610,"description":611,"published":612,"category":516,"image":613,"draft":520},"Replit est-il sûr ? Ce que 3 042 applications Replit nous ont montré","Replit est-il sûr ? 3 042 applications Replit en ligne, neuf vérifications externes. Les trouvailles étaient dans l’application publiée, pas chez l’hébergeur.","2026-09-15","\u002Fblog\u002Fis-replit-safe\u002Fcard-800x500.png",{"path":615,"title":616,"description":617,"published":618,"category":571,"image":619,"draft":520},"\u002Fblog\u002Fsupabase-storage-backup","Supabase storage backup : votre copie de base n'a aucun fichier","Un Supabase storage backup est une tâche à part. Les sauvegardes de la base gardent la liste de vos fichiers et aucun des fichiers, donc chaque upload casse.","2026-09-14","\u002Fblog\u002Fsupabase-storage-backup\u002Fcard-800x500.png",{"path":621,"title":622,"description":623,"published":624,"category":571,"image":625,"draft":520},"\u002Fblog\u002Fsupabase-point-in-time-recovery","Point-in-time recovery Supabase : prix et limites","Le point-in-time recovery de Supabase rembobine votre base à la seconde près sur la dernière semaine. $100 par mois en plus de Pro, et rien que la base.","2026-09-13","\u002Fblog\u002Fsupabase-point-in-time-recovery\u002Fcard-800x500.png",{"path":627,"title":628,"description":629,"published":630,"category":571,"image":631,"draft":520},"\u002Fblog\u002Fsupabase-project-paused-recover","Projet Supabase en pause ? Vos données sont toujours là","Supabase a mis votre projet en pause après une semaine sans activité. Rien n'est supprimé, Restaurer est à côté du nom, et vous avez un an pour cliquer.","2026-09-12","\u002Fblog\u002Fsupabase-project-paused-recover\u002Fcard-800x500.png",{"path":633,"title":634,"description":635,"published":636,"category":516,"image":637,"draft":520},"\u002Fblog\u002Fsafest-ai-app-builder","Quel builder d'app IA est le plus sûr ? 30 998 apps testées","Quel builder d'app IA est le plus sûr ? Nous avons scanné 30 998 apps actives de Lovable, Base44, Replit, v0 et Bolt. Ce n'est pas le builder qui décide.","2026-09-11","\u002Fblog\u002Fsafest-ai-app-builder\u002Fcard-800x500.png",{"path":639,"title":640,"description":641,"published":642,"category":516,"image":643,"draft":520},"\u002Fblog\u002Fenable-rls-on-every-supabase-table","Activer Row Level Security sur chaque table Supabase, et le prouver","Activer Row Level Security dans Supabase sans politique ferme la table entièrement. Une politique sans le réglage ne fait rien. Voici le SQL, et le test.","2026-09-10","\u002Fblog\u002Fenable-rls-on-every-supabase-table\u002Fcard-800x500.png",{"path":645,"title":646,"description":647,"published":648,"category":516,"image":649,"draft":520},"\u002Fblog\u002Fsupabase-rls-disabled-in-public","Supabase \"RLS disabled in public\" : ce que l'alerte rate","Supabase signale \"RLS disabled in public\" comme une erreur. Elle ne dit rien de la politique de lecture qui laisse votre table tout aussi ouverte.","2026-09-09","\u002Fblog\u002Fsupabase-rls-disabled-in-public\u002Fcard-800x500.png",{"path":651,"title":652,"description":653,"published":654,"category":516,"image":655,"draft":520},"\u002Fblog\u002Frotate-supabase-service-role-key","Faire tourner une clé service_role Supabase qui a fuité","Supabase dit de colmater la fuite d'abord. D'autres guides disent de faire tourner la clé tout de suite. Tout dépend d'où votre clé service_role a fuité.","2026-09-08","\u002Fblog\u002Frotate-supabase-service-role-key\u002Fcard-800x500.png",{"path":657,"title":658,"description":659,"published":660,"category":516,"image":661,"draft":520},"\u002Fblog\u002Fvibe-coding-security-scanners-compared","Scanners de sécurité vibe coding comparés, le nôtre compris","Le meilleur scanner de sécurité vibe coding tient à trois questions qu'aucune liste de fonctions ne traite. Dix outils comparés, avec les prix.","2026-09-07","\u002Fblog\u002Fvibe-coding-security-scanners-compared\u002Fcard-800x500.png",{"path":663,"title":664,"description":665,"published":666,"category":516,"image":667,"draft":520},"\u002Fblog\u002Fsupabase-security-checker","Supabase security checker : les cinq vérifications à faire soi-même","Un Supabase security checker lit votre app publiée plutôt que les réglages de votre projet. Voici les cinq vérifications, et comment faire chacune vous-même.","2026-09-06","\u002Fblog\u002Fsupabase-security-checker\u002Fcard-800x500.png",{"path":669,"title":670,"description":671,"published":672,"category":516,"image":673,"draft":520},"\u002Fblog\u002Fvibe-coding-security-scanner","Scanner de sécurité vibe coding : ce qu’un scan d’URL rate","Un scanner de sécurité vibe coding lit votre app en ligne depuis l’extérieur. Ce qu’il couvre, les quatre choses qu’il ne voit pas, et comment lire le résultat.","2026-09-05","\u002Fblog\u002Fvibe-coding-security-scanner\u002Fcard-800x500.png",{"path":675,"title":676,"description":677,"published":678,"category":516,"image":679,"draft":520},"\u002Fblog\u002Fmissing-security-headers","En-têtes de sécurité manquants : quand cela compte","Les en-têtes de sécurité manquants sont notre constat le plus fréquent. Contre quoi ils protègent, et quand ils comptent le moins dans votre rapport.","2026-09-04","\u002Fblog\u002Fmissing-security-headers\u002Fcard-800x500.png",{"path":681,"title":682,"description":683,"published":684,"category":516,"image":685,"draft":520},"\u002Fblog\u002Fopenai-api-key-exposed-in-frontend","Votre clé API OpenAI est exposée dans votre frontend. Changez-la.","Une clé API OpenAI exposée dans votre frontend ne peut être liée à aucun domaine. Changez-la aujourd'hui, passez par votre serveur et plafonnez la dépense.","2026-09-03","\u002Fblog\u002Fopenai-api-key-exposed-in-frontend\u002Fcard-800x500.png",{"path":687,"title":688,"description":689,"published":690,"category":516,"image":691,"draft":520},"\u002Fblog\u002Fwhat-secrets-leak-from-vibe-coded-apps","Clé API exposée dans le frontend : ce que 30 998 applis livrent","Une clé API exposée dans votre frontend est le plus souvent une clé Google Maps. Nous avons scanné 30 998 applis vibe-codées et compté ce qui fuit vraiment.","2026-09-02","\u002Fblog\u002Fwhat-secrets-leak-from-vibe-coded-apps\u002Fcard-800x500.png",{"path":693,"title":694,"description":695,"published":696,"category":571,"image":697,"draft":520},"\u002Fblog\u002Fsupabase-backup-tools-compared","Outils de sauvegarde Supabase comparés, le nôtre compris","Quatre familles d'outil de sauvegarde Supabase, ce que chacun copie vraiment, et quand une GitHub Action gratuite bat le fait de payer, nous compris.","2026-09-01","\u002Fblog\u002Fsupabase-backup-tools-compared\u002Fcard-800x500.png",{"path":699,"title":700,"description":701,"published":702,"category":516,"image":703,"draft":520},"\u002Fblog\u002Freplit-secrets-explained","Utiliser les secrets sur Replit, et ce qui est publié quand même","Utiliser les secrets sur Replit : en ajouter un, le relire, corriger les deux causes du undefined. Et les clés que l'outil Secrets ne peut pas protéger.","2026-08-31","\u002Fblog\u002Freplit-secrets-explained\u002Fcard-800x500.png",{"path":705,"title":706,"description":707,"published":708,"category":571,"image":709,"draft":520},"\u002Fblog\u002Fback-up-supabase-free-tier","Sauvegardes du plan gratuit Supabase : en faire une sans terminal","Le plan gratuit de Supabase ne fait aucune sauvegarde : la copie vient de vous. Comment la faire depuis le tableau de bord, et ce que le CSV oublie.","2026-08-30","\u002Fblog\u002Fback-up-supabase-free-tier\u002Fcard-800x500.png",{"path":711,"title":712,"description":713,"published":714,"category":516,"image":715,"draft":520},"\u002Fblog\u002Fis-supabase-secure","Supabase est-il sûr ? Oui. Votre projet est une autre question","Supabase est-il sûr ? La plateforme est auditée, chiffrée et testée en intrusion. Sa documentation dit où cela s'arrête et où vos réglages commencent.","2026-08-29","\u002Fblog\u002Fis-supabase-secure\u002Fcard-800x500.png",{"path":717,"title":718,"description":719,"published":720,"category":516,"image":721,"draft":520},"\u002Fblog\u002Fwhere-to-find-supabase-api-keys","Où trouver vos clés API Supabase : anon, service_role et URL","L'URL du projet, la clé anon et la clé service_role tiennent sur une page du tableau de bord. Voici où elle est, et laquelle des quatre va dans votre app.","2026-08-28","\u002Fblog\u002Fwhere-to-find-supabase-api-keys\u002Fcard-800x500.png",{"path":723,"title":724,"description":725,"published":726,"category":516,"image":727,"draft":520},"\u002Fblog\u002Fnew-row-violates-row-level-security-policy","New row violates row-level security policy sur Supabase : et après ?","\"New row violates row-level security policy\" signifie que Supabase a refusé une écriture. Le correctif rapide rouvre la table à tout le monde.","2026-08-27","\u002Fblog\u002Fnew-row-violates-row-level-security-policy\u002Fcard-800x500.png",{"path":729,"title":730,"description":731,"published":732,"category":516,"image":733,"draft":520},"\u002Fblog\u002Fcors-wildcard-security-risk","Un joker CORS est-il un risque de sécurité ? Rarement.","Un joker CORS est-il un risque de sécurité ? C'est souvent le réglage par défaut de votre builder, et il ne livre rien que votre serveur ne donnait déjà.","2026-08-26","\u002Fblog\u002Fcors-wildcard-security-risk\u002Fcard-800x500.png",{"path":735,"title":736,"description":737,"published":738,"category":571,"image":739,"draft":520},"\u002Fblog\u002Fsupabase-branching-is-not-a-backup","Le branching Supabase n'est pas une sauvegarde de vos données.","Pourquoi le branching Supabase n'est pas une sauvegarde : une branche démarre sans vos données, et un merge ne déplace que le schéma. À quoi il sert vraiment.","2026-08-25","\u002Fblog\u002Fsupabase-branching-is-not-a-backup\u002Fcard-800x500.png",{"path":741,"title":742,"description":743,"published":744,"category":571,"image":745,"draft":520},"\u002Fblog\u002Fhow-to-restore-a-supabase-backup","Restaurer une sauvegarde Supabase, et ce qui casse après","Restaurer une sauvegarde Supabase depuis le tableau de bord ou un fichier de dump, ce que la restauration remplace et pourquoi votre app peut rester cassée.","2026-08-24","\u002Fblog\u002Fhow-to-restore-a-supabase-backup\u002Fcard-800x500.png",{"path":747,"title":748,"description":749,"published":750,"category":516,"image":751,"draft":520},"\u002Fblog\u002Fsupabase-storage-bucket-public","Votre bucket Supabase Storage est public. Est-ce un problème ?","Un bucket Supabase Storage public signifie que celui qui a l'URL d'un fichier peut l'ouvrir. Il ne signifie pas que quelqu'un peut lister ce qu'il contient.","2026-08-23","\u002Fblog\u002Fsupabase-storage-bucket-public\u002Fcard-800x500.png",{"path":753,"title":754,"description":755,"published":756,"category":516,"image":757,"draft":520},"\u002Fblog\u002Fgoogle-api-key-exposed-in-frontend","Une clé API Google dans votre frontend, est-ce un problème ?","Une clé API Google exposée dans votre frontend est la clé que notre scanner trouve le plus souvent, et en général tout va bien. Un réglage gratuit tranche.","2026-08-22","\u002Fblog\u002Fgoogle-api-key-exposed-in-frontend\u002Fcard-800x500.png",{"path":759,"title":760,"description":761,"published":762,"category":571,"image":763,"draft":520},"\u002Fblog\u002Fai-agent-deleted-my-database","Un agent IA a supprimé mes données Supabase. Que puis-je récupérer ?","Un agent IA a supprimé des données de votre base. Ce que vous pouvez récupérer était déjà décidé avant, et les prochaines minutes décident du reste.","2026-08-21","\u002Fblog\u002Fai-agent-deleted-my-database\u002Fcard-800x500.png",{"path":375,"title":765,"description":766,"published":767,"category":516,"image":768,"draft":520},"Qui peut lire votre base Supabase ? Nous avons testé 3 680 apps","N'importe qui peut-il lire votre base de données Supabase sans se connecter ? Nous avons scanné 30 998 apps en ligne créées avec des builders IA.","2026-08-18","\u002Fblog\u002Fcan-anyone-read-your-supabase-database\u002Fcard-800x500.png",{"path":770,"title":771,"description":772,"published":767,"category":516,"image":773,"draft":520},"\u002Fblog\u002Fsource-maps-exposed-in-production","Source maps exposées : votre app publie son code original","Une source map exposée laisse n'importe qui lire le code original de votre app, commentaires compris. Le test de 30 secondes, et ce qui compte vraiment.","\u002Fblog\u002Fsource-maps-exposed-in-production\u002Fcard-800x500.png",{"path":775,"title":776,"description":777,"published":778,"category":516,"image":779,"draft":520},"\u002Fblog\u002Fsupabase-new-api-keys","Les nouvelles clés API Supabase : laquelle va dans votre app ?","Supabase a remplacé anon et service_role par des clés publiables et secrètes. Laquelle a sa place dans votre app, et laquelle jamais ?","2026-08-12","\u002Fblog\u002Fsupabase-new-api-keys\u002Fcard-800x500.png",{"path":781,"title":782,"description":783,"published":784,"category":571,"image":785,"draft":520},"\u002Fblog\u002Fdoes-supabase-back-up-my-database","Supabase sauvegarde-t-il ma base de données ? Cela dépend du plan.","Supabase sauvegarde-t-il votre base de données ? Chaque jour sur les plans payants, jamais sur le gratuit. Comment savoir ce que vous avez vraiment.","2026-08-11","\u002Fblog\u002Fdoes-supabase-back-up-my-database\u002Fcard-800x500.png",{"path":787,"title":788,"description":789,"published":790,"category":516,"image":791,"draft":520},"\u002Fblog\u002Fsupabase-rls-on-but-table-still-public","Supabase Row Level Security est activé. La table reste publique.","Activer Supabase Row Level Security ne protège pas une table. Ce sont vos politiques, et celle qui a réparé votre app laisse peut-être entrer tout le monde.","2026-08-10","\u002Fblog\u002Fsupabase-rls-on-but-table-still-public\u002Fcard-800x500.png",{"path":793,"title":794,"description":795,"published":790,"category":571,"image":796,"draft":520},"\u002Fblog\u002Fversion-history-is-not-a-backup","L'historique des versions n'est pas une sauvegarde de vos données.","Lovable et Bolt tiennent un historique des versions de votre code. Votre base de données est un service à part, et revenir en arrière ne la ramène pas.","\u002Fblog\u002Fversion-history-is-not-a-backup\u002Fcard-800x500.png",{"path":798,"title":799,"description":800,"published":801,"category":571,"image":802,"draft":520},"\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database","Trois façons de sauvegarder une base Supabase, et ce qui manque","Le tableau de bord, pg_dump et un service géré. Ce que chacun enregistre, ce qu'il laisse de côté sans le dire, et lequel survit à la perte du compte.","2026-08-09","\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database\u002Fcard-800x500.png",{"path":804,"title":805,"description":806,"published":801,"category":516,"image":807,"draft":520},"\u002Fblog\u002Fwhich-api-keys-are-safe-in-your-frontend","Quelles clés API sont sûres côté navigateur, et lesquelles non","Votre clé anon Supabase est faite pour être publique. Votre clé service_role non, et elle ignore toutes les règles que vous posez. Comment les distinguer.","\u002Fblog\u002Fwhich-api-keys-are-safe-in-your-frontend\u002Fcard-800x500.png",1790150953872]