Confiance

Sécurité

Le modèle d’isolation, le chiffrement, la gestion des identifiants, et les parties que nous n’avons pas encore construites.

01

Une cellule par projet

Chaque projet s’exécute dans sa propre cellule de base de données : un processus PostgreSQL dédié, son propre volume de stockage, ses propres identifiants et ses propres limites de processeur et de mémoire imposées par le système d’exploitation. Aucune base partagée, aucun schéma partagé, aucune séparation au niveau des lignes entre deux clients.

C’est tout l’argument d’isolation, et il est délibérément peu spectaculaire. Un voisin bruyant ne peut pas épuiser votre mémoire parce que la limite n’est pas partagée. Un bug dans la requête d’un autre locataire ne peut pas atteindre vos données parce que le processus ne les voit pas.

Un magasin K/V reçoit le même traitement : son propre processus, sa propre limite de mémoire, son propre stockage et ses propres identifiants. Il n'a aucune route réseau vers votre base de données ni vers l'internet public — seul le point de terminaison authentifié l'atteint.

02

Aucune sortie réseau depuis les cellules standard

Les cellules standard tournent dans un espace de noms réseau privé, avec une interface de bouclage et rien d’autre. Elles ne peuvent ouvrir aucune connexion sortante vers internet, vers une autre cellule ou vers le plan de contrôle - non par politique, mais parce qu’il n’existe pas de route.

Le trafic client atteint la cellule par une socket que la couche de routage lui remet. Les extensions qui émettent des appels réseau sortants sont indisponibles sur les cellules standard précisément pour cette raison, et nous préférons dire non plutôt que d’assouplir discrètement la frontière.

03

Chiffrement

  • -TLS sur chaque connexion publique, directe comme poolée, avec des certificats émis par région et des noms d’hôte vérifiés
  • -Le tableau de bord, l’API, la CLI et chaque SDK ne parlent que HTTPS, avec HSTS sur le domaine propre
  • -Le stockage des cellules et l’archive de sauvegarde sont chiffrés au repos
  • -Les sauvegardes et les segments du journal d’écriture anticipée sont chiffrés avant de quitter le nœud

04

Identifiants

La couche de routage relaie l’authentification SCRAM de PostgreSQL de bout en bout. Elle ne voit jamais votre mot de passe de base de données, ne le détient jamais et ne peut pas le reconstituer : elle transmet le défi et la réponse et se met en retrait.

Les clés d’API d’organisation ne sont stockées que sous forme de condensat et ne peuvent plus être relues après émission ; si vous en perdez une, vous la faites tourner. Les identifiants de base de données par projet que le plan de contrôle conserve pour les opérations de cycle de vie sont chiffrés au repos avec une clé qui n’est pas stockée à côté d’eux. La connexion est déléguée à un fournisseur d’identité dédié : aucun mot de passe vous appartenant n’existe donc dans nos systèmes, sous quelque forme que ce soit.

05

Sauvegardes et restauration

  • -Archivage continu hors du nœud : les segments du journal d’écriture anticipée partent au fil de leur production, pas selon un planning nocturne
  • -Restauration à un instant précis dans la fenêtre de rétention de votre formule, et pas seulement à la dernière sauvegarde complète
  • -Les restaurations sont exercées selon un planning plutôt que supposées fonctionnelles, et une sauvegarde périmée ou en échec déclenche une alerte sur laquelle nous agissons
  • -Les bases de preview sont fabriquées par clonage : tester une restauration ou une migration destructrice coûte un clone, pas une interruption
  • -Les opérations destructrices dans le tableau de bord, la CLI et le serveur MCP demandent d’abord un point de restauration

06

Accès des opérateurs

L’accès à la production est limité aux personnes qui exploitent la plateforme, accordé selon le besoin et non selon l’ancienneté, et exige une authentification multifacteur. L’accès à un nœud passe uniquement par des canaux authentifiés ; il n’y a ni identifiants partagés, ni console ouverte en permanence.

Un opérateur ne lit le contenu d’une cellule que pour une assistance que vous avez demandée, ou pour un incident impossible à résoudre autrement. Les deux sont journalisés, et c’est ce journal que nous vous montrerions si vous le demandiez.

07

Hygiène de la plateforme

  • -Correctifs de sécurité automatiques sur chaque nœud, avec des minuteurs réellement vérifiés plutôt que supposés actifs
  • -Analyse des dépendances et des vulnérabilités dans le pipeline de chaque dépôt, pour chaque langage de la pile
  • -Cloisonnement des services : l’unité de chaque cellule s’exécute avec une vue minimale du système de fichiers, un espace de noms réseau privé et des limites cgroup
  • -Les versions mineures de Postgres s’appliquent comme un redémarrage ; une cellule endormie reçoit sa mise à jour gratuitement au réveil suivant
  • -En-têtes de sécurité, politique de sécurité du contenu et limitation des abus sur les surfaces web publiques

08

Supervision et incidents

L’état des nœuds et des cellules, la fraîcheur des sauvegardes, la vérification des restaurations et la pression sur les ressources sont interrogés en continu et alertent un humain. La disponibilité par région est publiée en direct sur la page d’état.

Quand quelque chose casse et vous concerne, nous vous le disons par e-mail et sur la page d’état plutôt que d’attendre qu’on nous le demande. Si une violation de données personnelles atteint le seuil de notification, les délais de l’Accord de traitement des données s’appliquent.

09

Ce que nous ne revendiquons pas

CapyDB ne détient ni rapport SOC 2 ni certificat ISO 27001, et ne propose pas d’accord HIPAA. Nous préférons vous le dire sur la page sécurité plutôt que vous le laisser découvrir dans un questionnaire.

Ce que nous offrons : un accord de traitement des données en libre-service, en vigueur dès le premier jour, une position publiée sur les sous-traitants ultérieurs, une résidence des données dans l’UE pour les cellules et les sauvegardes, et une réponse franche à tout questionnaire de sécurité. Si une certification est une exigence ferme pour votre achat, dites-le : cela nous est utile de le savoir.

10

Signaler une vulnérabilité

Envoyez-la à l’adresse figurant dans notre security.txt, ou écrivez-nous directement. Joignez de quoi la reproduire. Nous accusons réception rapidement, vous disons ce que nous avons trouvé et vous créditons si vous le souhaitez. Il n’y a pas de programme de primes rémunérées.

Tester contre un projet qui vous appartient est autorisé et encouragé. Tester contre un autre locataire, ou lancer des attaques volumétriques contre la plateforme, ne l’est pas - et c’est la seule chose qui fera suspendre un compte sans avertissement préalable.