Aller au contenu

Bases de la sécurité

Supabase chiffre-t-il mes données ? Oui. Ce que cela arrête

Supabase chiffre-t-il les données ? Oui : AES-256 au repos, TLS en transit, SOC 2 et ISO 27001. Ce que couvre chacun, et la fuite qu'aucun n'arrête.

Vlad Tkachenko14 min de lecture
Une porte de coffre-fort ronde, fermée et verrouillée, éclairée en turquoise. À côté, un guichet est ouvert et une feuille en glisse.

En bref

  • Supabase chiffre-t-il les données ? Oui. Chaque projet est chiffré au repos en AES-256 et en transit en TLS, sur tous les forfaits, sans rien à activer.
  • Supabase détient aussi un rapport SOC 2 Type 2 et un certificat ISO 27001. Vous pouvez télécharger les deux à partir du forfait Team, et HIPAA exige en plus un accord signé.
  • Rien de tout cela ne décide à qui la base de données répond. Dans 2 096 des 3 680 apps Supabase que nous avons pu vérifier, une table donnait ses lignes à un inconnu sans connexion.

Un client vous écrit pour demander si ses données sont chiffrées. Ou un client plus important envoie un questionnaire de sécurité sous forme de tableur, et on y trouve les lignes que tous ces questionnaires contiennent : chiffrement au repos, chiffrement en transit, rapport SOC 2 de votre hébergeur. Votre app tourne sur Supabase parce que Lovable ou Bolt l'a installée ainsi, et jusqu'ici personne n'avait besoin que vous sachiez ce que tout cela veut dire.

Alors, Supabase chiffre-t-il vos données ? Oui. Toutes, sur tous les forfaits, et les certificats derrière cette affirmation sont réels.

La plupart des réponses se trompent en s'arrêtant là, comme si le chiffrement décidait qui peut lire vos données. Il décide de quelque chose de plus étroit. Voyez Supabase comme une banque. Le chiffrement au repos est le coffre-fort, le chiffrement en transit est le fourgon blindé, et SOC 2 est l'inspecteur qui vérifie que les deux fonctionnent comme la banque le dit. Chacun concerne quelqu'un qui n'aurait jamais dû entrer. La règle du guichet, qui dit de qui un client peut demander le relevé, est une chose à part, et c'est dans votre projet qu'elle s'écrit.

Chaque chiffre ci-dessous a été relevé sur les pages et la documentation de Supabase le 29 septembre 2026.

Supabase chiffre-t-il mes données ?

Oui. La page sécurité de Supabase indique que toutes les données clients sont chiffrées au repos en AES-256 et en transit en TLS, et vous n'avez rien à activer.

Au repos veut dire sur les disques. Votre base de données est écrite sur le stockage sous forme chiffrée, donc une copie du disque emportée hors des machines de Supabase est illisible à elle seule.

En transit veut dire sur le trajet entre votre visiteur et Supabase. Votre app parle à Supabase par ses API web, pour les données, les connexions et les fichiers, et le guide sur l'obligation SSL de Supabase indique que chacune de ces API refuse une connexion non chiffrée. L'exception est une connexion directe à la base Postgres en dessous, celle qu'un outil de sauvegarde ou un serveur à vous peut ouvrir. Celles-là acceptent une connexion non chiffrée tant que vous n'activez pas Enforce SSL on incoming connections dans Database Settings. Les navigateurs de vos visiteurs n'en ouvrent jamais.

Le chiffrement de colonnes est la seule couche qui reste désactivée. Il garde une valeur isolée, un numéro de téléphone par exemple, brouillée même à l'intérieur de la base. Supabase documentait autrefois une façon de le faire, et sa page pgsodium déconseille désormais cette fonction, en invoquant sa complexité opérationnelle et le risque de mauvaise configuration, et ajoute que le chiffrement au repos suffit probablement pour SOC 2 et HIPAA. Pour les secrets comme la clé API d'un service tiers, il existe Vault, qui les stocke chiffrés et les rend via une vue.

CoucheActif par défautCe contre quoi elle protège
Au repos, AES-256Oui, sur tous les forfaitsUne copie du disque lue sans passer par Supabase
En transit, TLSOui sur chaque API. Sur Postgres en direct, une fois l'obligation activéeQuelqu'un qui lit le trafic entre une app et Supabase
Chiffrement de colonnesNon, et Supabase déconseille l'ancienne fonctionUne valeur isolée lue par quelqu'un qui peut interroger sa table
VaultPour chaque secret que vous y rangezUn secret lisible sur le disque ou dans un fichier de sauvegarde

Contre quoi le chiffrement de Supabase protège-t-il ?

Contre quiconque atteint vos données sans les demander à la base. Quelqu'un qui part avec un disque, copie un fichier de sauvegarde ou écoute le trafic entre un navigateur et Supabase obtient des octets brouillés, et rien d'autre.

Une requête à laquelle la base décide de répondre, c'est une autre affaire. Le chiffrement au repos agit sous Postgres, donc la base lit ses propres fichiers en clair, pour chaque requête qu'elle sert. Les requêtes qu'elle sert sont fixées par les permissions de chaque table. Dans Supabase, c'est la Row Level Security, la règle qui dit quelles lignes chaque visiteur peut lire, et chaque table doit l'avoir activée, avec une règle écrite pour elle.

C'est le guichet de la banque. Le coffre s'ouvre pour le guichetier à chaque fois, parce que le guichetier travaille pour la banque. Si personne n'a écrit de qui un client peut voir les relevés, le guichetier remet ce qu'on lui demande, et le fourgon blindé le livre, scellé tout du long, à celui qui a demandé.

La documentation de Supabase dit la même chose de Vault, qui chiffre bel et bien des valeurs à l'intérieur de la base : "quiconque a accès à la vue a accès aux secrets déchiffrés."

Le chiffrement arrête les deux premiers chemins. Le troisième est une question à laquelle la base répond, et elle déchiffre pour y répondre.

Le chiffrement empêche-t-il un inconnu de lire mes tables ?

Non, et nous avons mesuré à quelle fréquence cela compte. En août 2026, nous avons scanné 30 998 apps en ligne construites avec Lovable, Base44, Replit, v0 et Bolt. Pour 3 680 d'entre elles, nous avons pu mener au bout la vérification qui demande à une base Supabase, sans connexion, si une table va livrer ses lignes. Pour 2 096, soit 57 %, au moins une table le faisait, et 394 d'entre elles avaient une table ouverte portant un nom de personnes : users, profiles, customers, orders.

Chacune de ces bases était chiffrée au repos du début à la fin, selon la description que la plateforme donne de son propre fonctionnement, et tout inconnu qui aurait demandé aurait reçu les lignes en TLS. Rien dans le chiffrement n'a lâché, et il n'a joué aucun rôle dans le choix de qui obtenait une réponse.

La requête elle-même est ordinaire. C'est celle que votre propre app envoie pour montrer ses commandes à un client connecté, envoyée sans la connexion : la clé publique censée se trouver dans votre page, et un GET vers /rest/v1/ suivi d'un nom de table. Notre scan a lu combien de lignes chaque table renverrait et s'est arrêté là, sans en récupérer une seule. La mesure complète explique de quoi ces 57 % sont une part et tout ce que nous n'avons pas pu voir.

Supabase est-il conforme SOC 2 ?

Oui. Supabase détient un rapport SOC 2 Type 2 établi par un auditeur indépendant, renouvelé chaque année.

Un rapport SOC 2 est le compte rendu d'un auditeur sur le fait que les contrôles de sécurité d'une entreprise ont fonctionné comme elle le dit. Type 2 signifie qu'ils ont été testés sur toute une période, et celle de Supabase va du 1er mars au 28 février. Il couvre la sécurité, la disponibilité, l'intégrité du traitement, la confidentialité et la vie privée, sur la base de données, Storage, Auth, Realtime, les Edge Functions et la Data API, et la page SOC 2 de Supabase marque où il s'arrête :

La conformité SOC 2 de Supabase ne se transmet pas aux environnements situés hors du produit Supabase ou hors du contrôle de Supabase.

Dans la banque, c'est le rapport de l'inspecteur sur le coffre et les fourgons. Les règles de vos tables restent en dehors, parce que c'est vous qui les écrivez : le modèle de responsabilité partagée de Supabase range la gestion des accès et l'application des contrôles de sécurité parmi ce dont le client est toujours responsable.

Deux choses en découlent. Si un client a besoin que votre entreprise soit conforme SOC 2, la page SOC 2 de Supabase indique qu'un client dans cette situation doit mettre les contrôles en place et passer son propre audit. Et savoir si Supabase est une plateforme solide pour construire est une autre question, avec son propre article.

Comment obtenir le rapport SOC 2 de Supabase ?

Depuis le tableau de bord de votre organisation, à partir du forfait Team. Il se trouve dans Legal Documents, à côté du certificat ISO 27001 et du questionnaire de sécurité standard de Supabase, et une organisation sur Free ou Pro y trouve un bouton de mise à niveau à la place.

Team commence à $599 par mois, là où Pro commence à $25, alors il vaut mieux savoir ce que la différence achète. La documentation de Supabase indique que chaque projet relève du même ensemble de contrôles de conformité, donc un projet sur Pro tourne sur la même plateforme auditée. Team ajoute les documents, plus l'authentification unique pour le tableau de bord, des sauvegardes quotidiennes conservées 14 jours là où Pro les garde 7, et l'accès à HIPAA. Si un client demande le rapport lui-même, demandez-lui si la page sécurité publique de Supabase suffit avant de changer de forfait pour un PDF.

Supabase est-il certifié ISO 27001 ?

Oui, selon ISO/IEC 27001:2022, ce que Supabase a annoncé le 22 avril 2026.

ISO 27001 certifie un système de management : les politiques, les analyses de risque et les processus qu'une entreprise utilise pour protéger les informations qu'elle détient. Un auditeur accrédité délivre le certificat pour trois ans et revient chaque année entre-temps pour vérifier que le système tourne toujours. Dans la banque, c'est l'inspecteur qui examine comment les procédures de sécurité sont décidées et tenues à jour. L'annonce de Supabase décrit SOC 2 comme largement reconnu en Amérique du Nord et ISO 27001 comme largement reconnu en Europe, en Asie et dans le secteur public. Le certificat se trouve dans la même section Legal Documents, sur les mêmes forfaits.

Supabase est-il conforme HIPAA ?

Il peut l'être pour votre projet, une fois que vous avez signé un Business Associate Agreement avec Supabase et payé son add-on HIPAA. Ce n'est pas automatique, et la page SOC 2 de Supabase indique que SOC 2 ne le remplace pas.

Un Business Associate Agreement, ou BAA, est le contrat écrit que le droit américain de la santé exige avant qu'une entreprise puisse traiter des informations de santé protégées pour votre compte. Supabase en signe un à partir du forfait Team. L'add-on n'a pas de prix publié : vous envoyez une demande, Supabase répond avec le prix et la procédure, et une organisation sur Free ou Pro qui postule doit tout de même passer à Team une fois acceptée.

La signature est le début de votre part. Le modèle de responsabilité partagée de Supabase liste ce qu'un client HIPAA doit faire, et voici les points qu'un propriétaire d'app a le moins de chances d'avoir déjà rencontrés :

  • Marquer le projet comme projet HIPAA, et traiter ce que le Security Advisor signale à son sujet.
  • Activer la connexion à deux facteurs sur chaque compte de l'organisation Supabase.
  • Activer la restauration à un instant donné, qui exige au moins l'add-on de calcul Small.
  • Activer l'obligation SSL et les restrictions réseau.
  • Garder les données de santé hors des buckets de stockage publics.

Le chiffrement au repos et en transit figure aussi sur cette liste, et c'est le seul point que Supabase a déjà réglé.

Supabase est-il conforme au RGPD ?

Supabase prend en charge les apps conformes au RGPD et fournit les deux pièces que lui seul peut fournir. Que votre app soit conforme dépend de ce qu'elle fait des données des gens.

La première pièce, c'est l'emplacement. Vous choisissez une région en créant un projet, et une région précise de l'UE garde là votre base de données, Auth et Storage. Choisissez la région par son nom, car l'option générale Europe de Supabase inclut aussi Londres et Zurich. La seconde est le Data Processing Addendum, le contrat de sous-traitance que le RGPD exige entre vous et une entreprise qui traite des données personnelles pour vous. Celui de Supabase fait partie de ses conditions d'utilisation, donc chaque organisation en a déjà un.

Le reste revient à votre app : pourquoi vous collectez chaque champ, comment les gens y consentent, qui peut le lire et comment vous le supprimez sur demande. La page RGPD de Supabase dit clairement que choisir une région ne rend pas une application conforme à lui seul. Ce que votre app doit au regard de la loi est une question pour un avocat.

Comment répondre au questionnaire de sécurité d'un client ?

Répartissez-le en deux piles avant d'écrire quoi que ce soit. Certaines lignes portent sur la plateforme de Supabase et se remplissent à partir de ses documents. Les autres portent sur votre projet, et vous êtes le seul à pouvoir y répondre.

Le questionnaire demandeQui répondOù se trouve la réponse
Les données sont-elles chiffrées au repos ?SupabaseAES-256, sur la page sécurité de Supabase
Les données sont-elles chiffrées en transit ?SupabaseTLS sur chaque API, et sur les connexions Postgres directes une fois l'obligation SSL activée
Votre fournisseur a-t-il SOC 2 ou ISO 27001 ?SupabaseLes deux, avec les documents téléchargeables sur Team ou Enterprise
Avez-vous un DPA avec vos sous-traitants ?SupabaseIntégré aux conditions d'utilisation de Supabase
Où les données sont-elles stockées ?VousLa région choisie à la création du projet
À quelle fréquence les données sont-elles sauvegardées ?Votre forfaitRien d'automatique sur Free, chaque jour sur Pro. Ce que garde chaque forfait
Qui peut lire quels enregistrements ?VousLa politique Row Level Security de chaque table
Où sont conservés les identifiants ?VousLa clé secrète sur un serveur uniquement. La clé publique est conçue pour être publique
Qui dispose d'un accès administrateur ?VousLes membres de votre organisation Supabase, avec la double authentification

Les lignes Supabase se recopient directement depuis ses documents. Les trois dernières sont celles que le client cherchait à connaître en envoyant le questionnaire, et y répondre demande d'avoir votre propre projet ouvert devant vous.

Que répondre à un client qui demande qui peut lire les données ?

L'état de vos politiques, table par table, et la date de votre dernière vérification. "Les données sont chiffrées" répond à une question sur des disques volés, et un client qui pose la question de l'accès parle du guichet.

Une réponse franche nomme les tables qui contiennent des données personnelles et dit que chacune a la Row Level Security activée, avec une politique qui lie chaque ligne à la personne connectée à qui elle appartient. Elle dit quand vous avez vérifié pour la dernière fois, de l'extérieur, en visiteur sans connexion, que ces tables ne renvoyaient rien. Si une table est publique exprès, une liste de produits ou des articles publiés, elle le dit aussi. Puis le côté administration : qui peut ouvrir votre tableau de bord Supabase, avec la double authentification, et où se trouve la clé secrète. Cette clé s'appelle service_role dans les projets plus anciens et sb_secret_… dans les plus récents, et sa place est sur un serveur.

Pour connaître l'état de vos tables, commencez par le Security Advisor de votre tableau de bord Supabase, qui liste chaque table dont la Row Level Security est désactivée. Une table peut passer ce contrôle et rester ouverte, par une politique qui laisse entrer tout le monde. Les quatre états dans lesquels une table peut se trouver montrent comment les distinguer, et il existe un guide en langage clair pour les apps Supabase.

Les deux tables sont chiffrées exactement de la même façon. La politique est la seule différence entre les deux réponses.

N'écrivez que ce que vous avez vérifié. Si vous n'avez pas encore lu la politique d'une table, donnez la date à laquelle vous le ferez.

Comment Reeve vérifie la réponse depuis l'extérieur

Les lignes qu'un questionnaire vous laisse portent sur qui obtient une réponse. Reeve interroge votre app en ligne comme le ferait un inconnu et vous dit quelles tables ont répondu.

  • Le scan gratuit demande à chaque table que votre app nomme combien de lignes un visiteur sans connexion obtiendrait, lit le nombre et s'arrête sans récupérer une seule ligne. Environ 20 secondes, sans compte : scannez votre app.
  • Reeve Monitor relance les neuf vérifications toutes les heures sur un maximum de trois apps et vous écrit le jour où votre note baisse, donc une table que votre builder ajoute après le renvoi du questionnaire est vérifiée dans l'heure.
  • Care effectue les mêmes vérifications et garde une copie de votre base Supabase hors de votre compte Supabase, prise selon un calendrier et relue avant de compter, ce qui répond à la ligne sur les sauvegardes. Chaque copie est chiffrée en AES-256-GCM avec une clé qui appartient à votre seul compte, et notre page juridique explique comment ces clés sont conservées. Comment une copie est prise et restaurée.

Ce que couvre et coûte chaque forfait se trouve sur la page des tarifs.

Que faire maintenant

Que faire

  • Répondez aux lignes sur le chiffrement à partir de la page sécurité de Supabase : AES-256 au repos et TLS en transit, sur tous les forfaits, sans rien à activer.
  • Si un client a besoin du rapport SOC 2 ou du certificat ISO 27001 eux-mêmes, cela veut dire le forfait Team. Téléchargez-les dans Legal Documents, dans le tableau de bord de votre organisation.
  • Si votre app contient des données de santé, signez le BAA et suivez la liste HIPAA de Supabase avant d'y mettre quoi que ce soit.
  • Répondez aux lignes sur l'accès à partir de votre propre projet. Ouvrez le Security Advisor, puis lisez la politique de chaque table qui contient des personnes.
  • Vérifiez le résultat de l'extérieur, en visiteur sans connexion, et notez la date à côté de votre réponse.

La moitié du questionnaire qui porte sur le chiffrement est déjà remplie pour vous. Avant de le renvoyer, scannez votre app et voyez lesquelles de vos tables répondent aujourd'hui à un inconnu.

FAQ

Supabase chiffre-t-il mes données au repos ?

Oui. Supabase chiffre toutes les données clients au repos en AES-256 et en transit en TLS, sur tous les forfaits, sans rien à activer de votre côté. Ce qu'il n'ajoute pas par défaut, c'est une seconde couche sur des colonnes précises à l'intérieur de la base, et Supabase déconseille désormais la fonction de chiffrement de colonnes qu'il documentait autrefois. Pour les secrets comme la clé API d'un service tiers, il propose Vault.

Supabase est-il conforme SOC 2 ?

Oui. Supabase détient un rapport SOC 2 Type 2 établi par un auditeur indépendant, renouvelé chaque année, sur une période d'audit qui va du 1er mars au 28 février. Il couvre la plateforme Supabase. Supabase précise que cette conformité ne s'étend pas au-delà de son produit, et les réglages de votre propre projet, comme qui peut lire chaque table, restent votre responsabilité.

Comment obtenir le rapport SOC 2 de Supabase ?

Téléchargez-le depuis Legal Documents dans le tableau de bord de votre organisation. Il est accessible aux organisations sur le forfait Team, à partir de $599 par mois, et sur Enterprise. Le certificat ISO 27001 et un questionnaire de sécurité standard se trouvent au même endroit. Sur Free ou Pro, la page propose une mise à niveau à la place.

Supabase est-il conforme HIPAA ?

Il peut l'être pour votre projet, et ce n'est pas automatique. Il vous faut un Business Associate Agreement signé et l'add-on HIPAA payant, tous deux à partir du forfait Team, et Supabase indique que SOC 2 ne remplace ni l'un ni l'autre. Ensuite, vous marquez le projet comme projet HIPAA et vous activez ce que Supabase liste pour lui, dont la connexion à deux facteurs, la restauration à un instant donné, l'obligation SSL et les restrictions réseau.

Le chiffrement me protège-t-il d'une table mal configurée ?

Non. Le chiffrement protège les données de quelqu'un qui accède au disque ou au trafic sans passer par la base de données. Une requête à laquelle la base décide de répondre est déchiffrée pour celui qui l'a envoyée, et les requêtes qui obtiennent une réponse sont fixées par la Row Level Security de chaque table. En août 2026, nous avons trouvé au moins une table ouverte à un inconnu dans 2 096 des 3 680 apps Supabase que nous avons pu vérifier.

Que répondre à un client qui demande si ses données sont chiffrées ?

Oui, avec le détail : AES-256 au repos et TLS en transit, appliqués par Supabase à chaque projet, avec un rapport SOC 2 Type 2 et une certification ISO 27001 derrière. Répondez ensuite à la question qui se cache dessous, à savoir qui peut les lire. Nommez les tables qui contiennent des données personnelles, la politique Row Level Security de chacune, et la date à laquelle vous avez vérifié pour la dernière fois, de l'extérieur, qu'un visiteur sans connexion ne récupère rien.

É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é.