Vault
Chiffrement au niveau champ pour les données sensibles d'Aurabase. AES-256-GCM avec clé dérivée par enregistrement (HKDF-SHA256), ou backend HashiCorp Vault transit en production — la même primitive protège les secrets de vos Edge Functions et les secrets internes de la plateforme.
Un service de chiffrement, pas un produit séparé
« Vault » n'est pas un service HTTP à part sur le gateway : c'est un moteur de chiffrement au niveau champ qui protège automatiquement vos données sensibles avant écriture en base — secrets MFA, jetons fournisseurs OAuth, chaînes de connexion projet, et les secrets de vos Edge Functions.
Ce que vous manipulez concrètement, en tant que développeur, ce sont les secrets par fonction : des paires clé/valeur définies via la CLI ou l'API REST, injectées comme variables d'environnement dans le worker qui exécute votre fonction.
Deux backends, un seul format de lecture
À l'écriture, le service choisit un backend : Vault transit si configuré (préféré — la clé de chiffrement racine ne quitte jamais Vault), sinon un repli AES-256-GCM local avec une clé dérivée par enregistrement via HKDF-SHA256. À la lecture, le format du texte chiffré indique quel backend l'a produit — aucune migration forcée n'est nécessaire pour basculer de l'un à l'autre.
project_id:function_name — le même secret chiffré deux fois pour deux fonctions produit deux textes chiffrés différents, et supprimer/renommer la fonction rend l'ancien texte chiffré illisible par construction.Ce que le service fournit
Trois façons d’écrire, une façon de lire
aura secrets) et l'endpoint REST dédié (/env) manipulent les mêmes données — les secrets d'une fonction — mais pas nécessairement par le même chemin d'écriture. Voir le point d'attention ci-dessous.Le chiffrement dépend du chemin d’écriture emprunté
aura-functions expose deux façons de modifier les variables d'environnement d'une fonction : l'endpoint dédié PUT /v1/functions/:projectId/:nom/env (qui chiffre systématiquement via EncryptionService avant écriture), et l'endpoint générique PATCH /v1/functions/:projectId/:nom utilisé pour mettre à jour l'ensemble d'une fonction — code, runtime, env_vars inclus — sans passer par ce chiffrement.
/env sont chiffrées au repos via AES-256-GCM avant d'être stockées. En développement local comme en production gérée, ce chiffrement s'exécute de façon transparente pour le développeur.