Revault Docs
Sécurité

Confidentialité & isolation

Isolation par client (RLS Postgres), résidence des données et minimisation de l'exposition.

Revault est conçu pour que les données d'un client restent strictement cloisonnées et exposées au minimum.

Isolation par client (Row-Level Security)

Chaque table contenant des données client est protégée par la Row-Level Security (RLS) de PostgreSQL. À chaque requête, le contexte du client actif est injecté dans la connexion, et la base filtre automatiquement les lignes :

  • même une requête qui oublierait de filtrer par client ne renvoie aucune ligne d'un autre client ;
  • une tentative d'insertion avec un mauvais client est rejetée par la base.

Cela couvre les tenants, sauvegardes, jobs, notifications, journaux d'audit, membres d'équipe, sessions, etc. L'application tourne avec un rôle base de données dépourvu du privilège de contourner la RLS — la protection ne dépend donc pas uniquement du code applicatif.

C'est une défense en profondeur : la séparation est garantie au niveau de la base, en plus des contrôles applicatifs (rôles, plans).

Le serveur ne conserve pas vos sauvegardes (mode S3)

Quand un tenant utilise S3, la copie locale de chaque sauvegarde est supprimée après l'envoi. Le serveur Revault ne détient alors aucune donnée de sauvegarde durable — elle vit dans votre bucket, chiffrée. Voir Stockage.

Secrets jamais renvoyés au client

  • Les tokens Okta et clés S3 sont utilisés côté serveur uniquement : ils ne sont jamais inclus dans une réponse HTTP, y compris lors d'un test de connexion.
  • Les appels vers Okta utilisent l'authentification SSWS en HTTPS ; le token n'est déchiffré qu'au moment de l'appel.

Minimisation & journalisation

  • Le journal d'audit est en ajout seul et chaîné par hachage : les événements ne peuvent pas être modifiés ou supprimés rétroactivement sans rompre la chaîne. Voir Journal d'audit.
  • Les opérations sensibles (rotation de clé, restauration, suppression live, export RGPD…) sont tracées.

Résidence des données

Chaque client porte une région de résidence. En mode S3, vous choisissez en plus la région de votre bucket, ce qui vous donne la maîtrise de l'emplacement physique des sauvegardes (par exemple une région européenne pour des contraintes RGPD).

En transit

Les échanges sont protégés par HTTPS avec HSTS, une politique de sécurité de contenu (CSP) stricte, et des cookies de session HttpOnly, Secure et SameSite=Lax (voir Authentification).

On this page