[{"data":1,"prerenderedAt":653},["ShallowReactive",2],{"blog-fr-is-supabase-secure":3,"blog-index-fr":411},{"id":4,"title":5,"body":6,"category":367,"cover":368,"coverAlt":369,"description":370,"draft":371,"extension":372,"faq":373,"image":391,"keywords":392,"meta":400,"navigation":401,"ogTitle":25,"path":402,"published":403,"seo":404,"stem":405,"tldr":406,"updated":403,"__hash__":410},"blog_fr\u002Fblog\u002Fis-supabase-secure.md","Supabase est-il sûr ? Oui. Votre projet est une autre question",{"type":7,"value":8,"toc":355},"minimark",[9,13,21,26,29,40,43,46,50,53,59,68,71,77,80,84,87,90,93,101,108,112,115,235,238,242,245,251,262,272,277,287,291,313,325,332,336,339,342,345,348],[10,11,12],"p",{},"Quelqu'un vous a dit que Supabase ne valait rien pour de vraies données\nutilisateurs. Quelqu'un d'autre vous a dit qu'il fait tourner la moitié des apps\ndont vous avez entendu parler cette année. Les deux étaient sûrs d'eux, et aucun\ndes deux n'avait ouvert votre app.",[10,14,15,16,20],{},"Voici ce que guide après guide se trompe : ",[17,18,19],"strong",{},"\"Supabase est-il sûr\" et \"mon\nprojet Supabase est-il sûr\" sont deux questions auxquelles répondent deux\npersonnes différentes."," Supabase répond à la première, et il y répond bien. La\nseconde est à vous, qu'on vous ait dit ou non qu'elle vous avait été confiée.",[22,23,25],"h2",{"id":24},"supabase-est-il-sûr","Supabase est-il sûr ?",[10,27,28],{},"Oui. Des auditeurs extérieurs ont examiné la plateforme, et ses certifications\nsont consignées.",[10,30,31,32,39],{},"Supabase est conforme SOC 2 Type 2 et certifié ISO 27001. Les données clients\nsont chiffrées au repos en AES-256 et en transit en TLS. Il existe une offre\nHIPAA pour les données de santé, qui demande un add-on et un accord signé. Des\ntests de pénétration réguliers sont menés avec des experts extérieurs, et tout\ncela est publié sur ",[33,34,38],"a",{"href":35,"rel":36},"https:\u002F\u002Fsupabase.com\u002Fsecurity",[37],"nofollow","leur page sécurité",".",[10,41,42],{},"Voyez cela comme un immeuble. Les fondations tiennent, les portes coupe-feu\nfonctionnent, il y a un gardien à l'entrée, et un certificat au mur signé par\nquelqu'un qui est venu vérifier. C'est vraiment ce que vous achetez.",[10,44,45],{},"Votre projet est un appartement dans cet immeuble.",[22,47,49],{"id":48},"que-couvre-réellement-ce-certificat","Que couvre réellement ce certificat ?",[10,51,52],{},"L'immeuble. Supabase écrit la frontière en une phrase, dans sa propre\ndocumentation SOC 2 :",[54,55,56],"blockquote",{},[10,57,58],{},"La conformité SOC 2 de Supabase ne se transmet pas aux environnements situés\nhors du produit Supabase ou hors du contrôle de Supabase.",[10,60,61,62,67],{},"La même page ajoute que les données du côté client de cette frontière relèvent\nde la responsabilité du client, et leur\n",[33,63,66],{"href":64,"rel":65},"https:\u002F\u002Fsupabase.com\u002Fdocs\u002Fguides\u002Fdeployment\u002Fshared-responsibility-model",[37],"modèle de responsabilité partagée","\nprécise quel côté est lequel. Supabase gère l'infrastructure, le système\nd'exploitation, les mises à jour Postgres et la supervision de la plateforme.\nVotre côté tient votre compte et qui y a accès, vos données, les secrets de\nvotre base et vos clés API, et Row Level Security, que cette même page vous\nrecommande de toujours appliquer.",[10,69,70],{},"Ce dernier point, c'est tout cet article. Row Level Security est la règle posée\nsur chaque table qui dit qui a le droit de lire quelles lignes. Elle reste\ndésactivée jusqu'à ce que quelqu'un l'active, et on l'active dans votre projet,\nsur une page que vous n'avez peut-être jamais ouverte.",[72,73],"diagram",{"alt":74,"caption":75,"src":76},"Deux enceintes imbriquées. Le mur extérieur est plein, coché, et porte une plaque SOC 2 ; une requête passe par sa porte gardée. Le mur intérieur, étiqueté RLS, a une brèche, et la requête continue par cette brèche jusqu'à une pile de lignes de base de données.","Le mur extérieur est inspecté et certifié. La requête qui atteint vos lignes est passée par une brèche du mur intérieur, celui que votre projet trace.","\u002Fblog\u002Fis-supabase-secure\u002Fwhere-the-certificate-stops-1600x760.png",[10,78,79],{},"Le certificat concerne l'immeuble. La seule chose que la plateforme fait au\nsujet des appartements, c'est montrer les portes : le Security Advisor de votre\ntableau de bord nomme chaque table dont la règle est désactivée, et vous laisse\nla décision.",[22,81,83],{"id":82},"pourquoi-tant-dapps-supabase-laissent-elles-fuir-des-données","Pourquoi tant d'apps Supabase laissent-elles fuir des données ?",[10,85,86],{},"Parce que tout ce qui se trouve de votre côté de cette ligne continue de\nfonctionner parfaitement pendant que c'est grand ouvert.",[10,88,89],{},"En août 2026 nous avons scanné 30 998 apps en ligne construites avec Lovable,\nBase44, Replit, v0 et Bolt. Dans 3 680 d'entre elles nous avons pu mener à son\nterme la vérification qui demande à une base de données, sans aucun login, si\nelle va livrer des lignes. 2 096 ont dit oui sur au moins une table. Storage\nracontait la même histoire sous un autre angle : sur les 27 269 apps\nvérifiables, 792 avaient un bucket qu'un inconnu pouvait lister.",[10,91,92],{},"Rien de tout cela n'était une défaillance de Supabase. Chacune de ces réponses\nvenait d'une base de données à jour et chiffrée, sur une plateforme certifiée,\nfaisant exactement ce que son propre projet lui avait dit de faire. L'immeuble\nallait bien. Les portes à l'intérieur étaient ouvertes.",[10,94,95,96,100],{},"Cela arrive à cause de l'ordre dans lequel les choses se construisent. Votre app\nfonctionne dès le premier jour, et elle fonctionne que les règles soient écrites\nou non, donc il n'y a aucun moment où quelque chose casse et vous pousse à\nregarder. La\n",[33,97,99],{"href":98},"\u002Fblog\u002Fcan-anyone-read-your-supabase-database","mesure complète"," détaille ce que\nnous avons pu voir et ce que nous n'avons pas pu voir.",[10,102,103,104,39],{},"Si vous voulez la réponse pour votre propre app plutôt que pour la plateforme,\nnotre scan gratuit fait la même requête anonyme depuis l'extérieur et vous dit\nlesquelles de vos tables ont répondu. Une vingtaine de secondes, sans compte :\n",[33,105,107],{"href":106},"\u002F#scan","scanner votre app",[22,109,111],{"id":110},"supabase-convient-il-pour-la-production","Supabase convient-il pour la production ?",[10,113,114],{},"Oui, et ce que vous avez à faire est court, parce que Supabase a déjà fait la\nmoitié longue.",[116,117,118,134],"table",{},[119,120,121],"thead",{},[122,123,124,128,131],"tr",{},[125,126,127],"th",{},"Sujet",[125,129,130],{},"Qui s'en charge",[125,132,133],{},"Ce que cela veut dire pour vous",[135,136,137,149,158,167,177,190,211,223],"tbody",{},[122,138,139,143,146],{},[140,141,142],"td",{},"Correctifs serveur, mises à jour Postgres, OS",[140,144,145],{},"Supabase",[140,147,148],{},"Rien à faire",[122,150,151,154,156],{},[140,152,153],{},"Chiffrement au repos et en transit",[140,155,145],{},[140,157,148],{},[122,159,160,163,165],{},[140,161,162],{},"Sécurité physique, sécurité réseau, tests d'intrusion",[140,164,145],{},[140,166,148],{},[122,168,169,172,174],{},[140,170,171],{},"Sauvegardes de votre base de données",[140,173,145],{},[140,175,176],{},"Quotidiennes en plan payant, aucune en gratuit. Regardez lequel vous avez",[122,178,179,182,187],{},[140,180,181],{},"Quelles lignes un visiteur a le droit de lire",[140,183,184],{},[17,185,186],{},"Vous",[140,188,189],{},"Une politique Row Level Security sur chaque table contenant de vraies données",[122,191,192,195,199],{},[140,193,194],{},"Quelle clé est partie dans votre app",[140,196,197],{},[17,198,186],{},[140,200,201,202,206,207,210],{},"La clé publiable y a sa place. ",[203,204,205],"code",{},"service_role"," et ",[203,208,209],{},"sb_secret_"," jamais",[122,212,213,216,220],{},[140,214,215],{},"Quels fichiers un inconnu peut lister",[140,217,218],{},[17,219,186],{},[140,221,222],{},"Le réglage public de chaque bucket, distinct des règles de vos tables",[122,224,225,228,232],{},[140,226,227],{},"Qui peut se connecter à votre compte Supabase",[140,229,230],{},[17,231,186],{},[140,233,234],{},"Un mot de passe que personne d'autre n'a, et le double facteur sur le compte",[10,236,237],{},"Chaque ligne de la moitié basse est un réglage, et chaque réglage tient en\nquelques minutes dans un tableau de bord. La plateforme arrive prête pour la\nproduction. La configuration arrive dans l'état où votre builder l'a laissée.",[22,239,241],{"id":240},"comment-vérifier-mon-propre-projet","Comment vérifier mon propre projet ?",[10,243,244],{},"Trois endroits, et aucun ne vous demande de lire une ligne de SQL.",[10,246,247,250],{},[17,248,249],{},"Ouvrez le Security Advisor dans votre tableau de bord Supabase."," Il liste\nchaque table dont Row Level Security est désactivé, la version la plus brute du\nproblème, et Supabase est bon pour le signaler. Un projet dont cette liste est\nvide a réglé la première question.",[10,252,253,256,257,261],{},[17,254,255],{},"Puis lisez la politique de toute table qui contient des personnes."," L'Advisor\nne peut pas décider si une politique permissive était voulue, parce que sur un\ncatalogue produits elle serait correcte. Une table peut avoir l'interrupteur\nactivé, une politique valide et une coche verte dans le tableau de bord, et\nlivrer quand même ses lignes à quiconque demande ;\n",[33,258,260],{"href":259},"\u002Fblog\u002Fsupabase-rls-on-but-table-still-public","les quatre états possibles d'une table","\nexpliquent comment reconnaître le vôtre.",[10,263,264,267,268,39],{},[17,265,266],{},"Puis regardez Storage."," Les buckets ont leurs propres réglages et les règles\nde vos tables ne vont pas jusque-là, donc une base bien fermée ne vous dit rien\nsur\n",[33,269,271],{"href":270},"\u002Fblog\u002Fsupabase-storage-bucket-public","les fichiers que vos utilisateurs ont envoyés",[72,273],{"alt":274,"caption":275,"src":276},"Un épais mur extérieur portant une plaque SOC 2 cochée traverse l'arrière-plan. Devant lui se tient une enceinte plus petite avec trois portes, chacune étiquetée en police à chasse fixe : RLS, public et service_role.","Le mur derrière est inspecté par quelqu'un d'autre. Ces trois poignées sont à l'intérieur de votre propre projet, et chacune est une page de votre tableau de bord.","\u002Fblog\u002Fis-supabase-secure\u002Fthree-doors-you-own-1600x700.png",[10,278,279,280,284,285,39],{},"Il reste une quatrième question à laquelle le tableau de bord ne peut pas\nrépondre : quelle clé est réellement partie dans votre app. La page des réglages\nliste les clés que possède votre projet, et votre app est le seul endroit qui\ngarde trace de celle qui y est entrée. Lire la clé sur votre propre page en\nligne est\n",[33,281,283],{"href":282},"\u002Fblog\u002Fwhich-api-keys-are-safe-in-your-frontend","l'affaire de deux minutes",", ou\nnotre scan gratuit la lit pour vous avec tout le reste :\n",[33,286,107],{"href":106},[22,288,290],{"id":289},"que-faire-maintenant","Que faire maintenant",[292,293,294],"key-takeaways",{},[295,296,297,301,304,307,310],"ul",{},[298,299,300],"li",{},"Arrêtez de demander si Supabase est sûr. Il l'est, avec un rapport SOC 2 Type 2, ISO 27001, un chiffrement AES-256 au repos et des tests de pénétration réguliers derrière cette affirmation.",[298,302,303],{},"Lisez la frontière dans leurs propres mots. La conformité couvre le produit Supabase, et vos politiques Row Level Security, vos clés et vos buckets sont de votre côté.",[298,305,306],{},"Ouvrez le Security Advisor en premier. Il coûte une minute et répond à la version la plus brute de la question.",[298,308,309],{},"Lisez la politique de chaque table qui contient des personnes, parce qu'une politique permissive apparaît dans le tableau de bord comme une table protégée.",[298,311,312],{},"Vérifiez Storage séparément de vos tables. Les deux ont des réglages différents et une base stricte ne dit rien sur vos fichiers.",[10,314,315,316,320,321,39],{},"Si vous préférez tout parcourir sous forme de liste, la\n",[33,317,319],{"href":318},"\u002Fchecklist","checklist de sécurité en 10 minutes"," couvre ceci en même temps que\nles autres réglages à fermer dans une app fraîchement lancée, et il existe une\nexplication en langage clair pour\n",[33,322,324],{"href":323},"\u002Fis-your-supabase-app-safe","les apps Supabase",[10,326,327,328,39],{},"Parcourir cette liste prend une soirée, et la réponse qu'elle vous donne est\nvraie le soir où vous le faites. La garder vraie est la partie qui ne tient pas\nen une soirée, et c'est pour cela que nous avons construit Reeve Care : il\nrelance ces mêmes vérifications sur votre app selon un calendrier et vous écrit\nquand l'une d'elles se met à répondre autrement.\n",[33,329,331],{"href":330},"\u002F#pricing","Ce qu'il surveille et ce qu'il coûte",[22,333,335],{"id":334},"reeve-garde-une-copie-de-votre-base-de-données-supabase","Reeve garde une copie de votre base de données Supabase",[10,337,338],{},"En dehors du compte d'où elle vient, selon un calendrier, et vérifiée avant\nd'être comptée. La première des trois est celle que les sauvegardes de Supabase\nne peuvent pas faire pour vous.",[10,340,341],{},"Supabase prend une copie quotidienne en plan payant et aucune en gratuit, et\ndans les deux cas cette copie vit à l'intérieur du projet dont elle est issue.\nC'est le bon outil pour l'après-midi où vous cassez vos propres données. Elle\nest hors d'atteinte le jour où le problème est le compte lui-même : un paiement\nqui échoue, une suppression, un accès dans lequel plus personne n'entre.",[10,343,344],{},"Reeve Care garde une copie ailleurs. Prise selon le calendrier fixé par votre\nplan, chiffrée avant de quitter la machine qui l'a produite, puis relue et\ncontrôlée avant que nous la comptions comme sauvegarde, pour que la date de\nvotre tableau de bord soit la date où une copie a été prouvée existante et non\nla date où un travail a démarré. Elle couvre votre base de données Supabase, et\nles fichiers envoyés par vos utilisateurs dès que vous les connectez.",[10,346,347],{},"Une restauration fait trois choses autour de la remise en place elle-même. Elle\nvérifie que la copie va toujours à votre base avant de remettre une seule ligne,\nelle prend d'abord un instantané de sécurité de ce qui est là maintenant, et\nelle prouve ensuite que la base accepte l'écriture en y écrivant, parce qu'une\nrestauration qui vous laisse en lecture seule n'a pas fini. Vous pouvez aussi\ntélécharger n'importe quelle copie que nous détenons et partir avec.",[10,349,350,351,39],{},"Chaque vérification de cette page vous dit où en est votre app aujourd'hui. Les\nsauvegardes sont pour le jour où quelque chose a déjà mal tourné.\n",[33,352,354],{"href":353},"\u002Fsupabase-backups","Ce que Reeve sauvegarde sur Supabase, à quelle fréquence, et ce que fait une restauration",{"title":356,"searchDepth":357,"depth":357,"links":358},"",3,[359,361,362,363,364,365,366],{"id":24,"depth":360,"text":25},2,{"id":48,"depth":360,"text":49},{"id":82,"depth":360,"text":83},{"id":110,"depth":360,"text":111},{"id":240,"depth":360,"text":241},{"id":289,"depth":360,"text":290},{"id":334,"depth":360,"text":335},"Bases de la sécurité","\u002Fblog\u002Fis-supabase-secure\u002Fcover-1200x630.png","Un immeuble aux fenêtres éclairées dont un battant s'ouvre à un étage, laissant un trou sombre dans une façade par ailleurs fermée.","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.",false,"md",[374,377,380,383,385,388],{"q":375,"a":376},"Supabase est-il assez sûr pour de vraies données clients ?","Oui. Supabase est conforme SOC 2 Type 2 et certifié ISO 27001, chiffre les données clients au repos en AES-256 et en transit en TLS, et fait des tests de pénétration réguliers. Ce que cela ne vous dit pas, c'est si les règles à l'intérieur de votre propre projet laissent un inconnu lire vos tables, parce que ce réglage appartient à votre projet et non à la plateforme.",{"q":378,"a":379},"Supabase est-il conforme SOC 2 ?","Oui, SOC 2 Type 2. Les clients Enterprise et Team peuvent demander le rapport depuis leur tableau de bord. Le périmètre, c'est le produit Supabase lui-même : leur infrastructure, leurs contrôles, leur supervision.",{"q":381,"a":382},"Le rapport SOC 2 de Supabase couvre-t-il mon app ?","Non, et Supabase l'écrit noir sur blanc. Leur documentation SOC 2 indique que la conformité ne se transmet pas aux environnements situés hors du produit Supabase ou hors du contrôle de Supabase, et que les données du côté client de cette frontière relèvent de la responsabilité du client. Vos politiques Row Level Security, vos clés API et vos réglages Storage sont tous de votre côté.",{"q":111,"a":384},"Oui, et le travail de votre côté est court. Activez Row Level Security sur chaque table qui contient de vraies données et écrivez une politique qui nomme une condition, gardez la clé secrète hors de tout ce que vos visiteurs téléchargent, et regardez quels buckets Storage sont marqués publics. Ces trois réglages décident si un inconnu atteint vos données, et c'est par là que nous commençons quand nous scannons une app.",{"q":386,"a":387},"Supabase est-il conforme HIPAA ?","Supabase propose la conformité HIPAA, et elle n'est pas automatique. Elle demande l'add-on HIPAA et un Business Associate Agreement signé, et leur documentation dit explicitement que SOC 2 ne le remplace pas. Les données de santé protégées imposent aussi des règles sur l'endroit où vous pouvez les mettre, dont la consigne de ne pas les stocker dans des buckets Storage publics.",{"q":389,"a":390},"Supabase est-il plus sûr que mon propre back-end ?","Sur les parties dont Supabase se charge, presque certainement. Les correctifs serveur, les mises à jour de base de données, le chiffrement au repos, la sécurité réseau et un régime d'accès audité sont rarement faits aussi sérieusement par une personne seule. Les parties qui restent les vôtres sont les mêmes dans les deux cas, et avec votre propre back-end il y en a une de plus : le code entre votre app et votre base de données.","\u002Fblog\u002Fis-supabase-secure\u002Fcard-800x500.png",[393,394,395,396,397,398,399],"supabase est-il sûr","supabase est il securise","supabase securite","supabase est-il fiable","supabase en production","supabase shared responsibility model","supabase soc 2",{},true,"\u002Fblog\u002Fis-supabase-secure","2026-08-29",{"title":5,"description":370},"blog\u002Fis-supabase-secure",[407,408,409],"Supabase est-il sûr ? La plateforme, oui : SOC 2 Type 2, ISO 27001, AES-256 au repos, TLS en transit et des tests de pénétration réguliers.","La documentation SOC 2 de Supabase dit que cette conformité prend fin à la limite de leur produit. Vos tables, vos clés et vos buckets Storage sont de l'autre côté de cette ligne.","Nous avons scanné 30 998 apps en ligne en août 2026. Dans 2 096 des 3 680 que nous avons pu vérifier, une table a répondu à un inconnu, sur une plateforme qui fonctionnait exactement comme prévu.","ITVgloiRn0eUL_3VnJ0FnodtLV9DSfk41ZCV2JxDPgM",[412,419,425,431,437,443,449,455,461,467,473,479,485,491,497,503,509,515,521,527,533,539,545,551,557,563,564,570,576,582,588,594,599,605,611,616,621,627,633,638,643,649],{"path":413,"title":414,"description":415,"published":416,"category":417,"image":418,"draft":371},"\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":420,"title":421,"description":422,"published":423,"category":367,"image":424,"draft":371},"\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":426,"title":427,"description":428,"published":429,"category":367,"image":430,"draft":371},"\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.","2026-09-21","\u002Fblog\u002Fis-lovable-safe\u002Fcard-800x500.png",{"path":432,"title":433,"description":434,"published":435,"category":367,"image":436,"draft":371},"\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":438,"title":439,"description":440,"published":441,"category":367,"image":442,"draft":371},"\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":444,"title":445,"description":446,"published":447,"category":367,"image":448,"draft":371},"\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":450,"title":451,"description":452,"published":453,"category":367,"image":454,"draft":371},"\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":456,"title":457,"description":458,"published":459,"category":367,"image":460,"draft":371},"\u002Fblog\u002Fis-cursor-ai-safe","Cursor AI est-il sûr ? L’éditeur, le code et l’appli publiée","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.","2026-09-16","\u002Fblog\u002Fis-cursor-ai-safe\u002Fcard-800x500.png",{"path":462,"title":463,"description":464,"published":465,"category":367,"image":466,"draft":371},"\u002Fblog\u002Fis-replit-safe","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":468,"title":469,"description":470,"published":471,"category":417,"image":472,"draft":371},"\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":474,"title":475,"description":476,"published":477,"category":417,"image":478,"draft":371},"\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":480,"title":481,"description":482,"published":483,"category":417,"image":484,"draft":371},"\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":486,"title":487,"description":488,"published":489,"category":367,"image":490,"draft":371},"\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":492,"title":493,"description":494,"published":495,"category":367,"image":496,"draft":371},"\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":498,"title":499,"description":500,"published":501,"category":367,"image":502,"draft":371},"\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":504,"title":505,"description":506,"published":507,"category":367,"image":508,"draft":371},"\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":510,"title":511,"description":512,"published":513,"category":367,"image":514,"draft":371},"\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":516,"title":517,"description":518,"published":519,"category":367,"image":520,"draft":371},"\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":522,"title":523,"description":524,"published":525,"category":367,"image":526,"draft":371},"\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":528,"title":529,"description":530,"published":531,"category":367,"image":532,"draft":371},"\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":534,"title":535,"description":536,"published":537,"category":367,"image":538,"draft":371},"\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":540,"title":541,"description":542,"published":543,"category":367,"image":544,"draft":371},"\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":546,"title":547,"description":548,"published":549,"category":417,"image":550,"draft":371},"\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":552,"title":553,"description":554,"published":555,"category":367,"image":556,"draft":371},"\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":558,"title":559,"description":560,"published":561,"category":417,"image":562,"draft":371},"\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":402,"title":5,"description":370,"published":403,"category":367,"image":391,"draft":371},{"path":565,"title":566,"description":567,"published":568,"category":367,"image":569,"draft":371},"\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":571,"title":572,"description":573,"published":574,"category":367,"image":575,"draft":371},"\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":577,"title":578,"description":579,"published":580,"category":367,"image":581,"draft":371},"\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":583,"title":584,"description":585,"published":586,"category":417,"image":587,"draft":371},"\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":589,"title":590,"description":591,"published":592,"category":417,"image":593,"draft":371},"\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":270,"title":595,"description":596,"published":597,"category":367,"image":598,"draft":371},"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":600,"title":601,"description":602,"published":603,"category":367,"image":604,"draft":371},"\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":606,"title":607,"description":608,"published":609,"category":417,"image":610,"draft":371},"\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":98,"title":612,"description":613,"published":614,"category":367,"image":615,"draft":371},"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":617,"title":618,"description":619,"published":614,"category":367,"image":620,"draft":371},"\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":622,"title":623,"description":624,"published":625,"category":367,"image":626,"draft":371},"\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":628,"title":629,"description":630,"published":631,"category":417,"image":632,"draft":371},"\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":259,"title":634,"description":635,"published":636,"category":367,"image":637,"draft":371},"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":639,"title":640,"description":641,"published":636,"category":417,"image":642,"draft":371},"\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":644,"title":645,"description":646,"published":647,"category":417,"image":648,"draft":371},"\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":282,"title":650,"description":651,"published":647,"category":367,"image":652,"draft":371},"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",1790150953935]