Stockage Externe (BYOS)

Hébergez vos secrets chiffrés sur votre propre infrastructure.

Qu'est-ce que le BYOS ?

BYOS (Bring Your Own Storage) vous permet de garder le contrôle total de vos données en les stockant sur votre propre serveur, tout en utilisant l'interface et les outils EnvSafe.

Avantages

Souveraineté des données

Vos secrets restent physiquement sur vos serveurs

Conformité réglementaire

Respectez les exigences de localisation des données (RGPD, HDS...)

Contrôle total

Vous gérez vos backups, votre base de données, votre infrastructure

Configuration

1

Déployer l'agent EnvSafe

Lancez le conteneur Docker sur votre infrastructure

git clone https://github.com/Ifiboys/storage-agent
cd storage-agent

# Générer un secret sécurisé
openssl rand -hex 32

# Configurer les variables
cp .env.example .env
nano .env
2

Lancer l'agent avec Docker

Docker Compose lancera automatiquement PostgreSQL et l'agent

docker-compose up -d

# Vérifier les logs
docker-compose logs -f agent
3

Configurer le projet

Dans les paramètres du projet, activez le mode 'Stockage Externe'

4

Saisir les identifiants

Renseignez l'URL de votre agent et le secret partagé

Exemple de configuration :

URL : https://envsafe-storage.votre-domaine.com
Secret : <le secret généré à l'étape 1>
✓

Vérifier la connexion

EnvSafe teste la connexion et confirme la configuration

Options de Déploiement

Déployez l'agent sur votre infrastructure préférée

VPS (DigitalOcean, Hetzner, OVH...)

Parfait pour un contrôle total et un coût prévisible

# 1. Installer Docker sur votre serveur
ssh root@votre-serveur.com
curl -fsSL https://get.docker.com | sh

# 2. Cloner et configurer
git clone https://github.com/Ifiboys/storage-agent
cd storage-agent
cp .env.example .env
nano .env  # Configurez AUTH_SECRET et DATABASE_URL

# 3. Lancer
docker-compose up -d

# 4. Configurer Nginx + SSL (HTTPS obligatoire)
sudo apt install nginx certbot python3-certbot-nginx
sudo certbot --nginx -d envsafe-storage.votre-domaine.com

AWS (ECS Fargate)

Serverless, scalable automatiquement

# 1. Créer un ECR repository
aws ecr create-repository --repository-name envsafe-agent

# 2. Build et push l'image
docker build -t envsafe-agent .
docker tag envsafe-agent:latest <account>.dkr.ecr.region.amazonaws.com/envsafe-agent
docker push <account>.dkr.ecr.region.amazonaws.com/envsafe-agent

# 3. Créer une Task Definition avec vos variables d'environnement
# 4. Lancer un service Fargate avec un Load Balancer HTTPS

Google Cloud Run

Déploiement en une commande, HTTPS automatique

# Build
gcloud builds submit --tag gcr.io/PROJECT-ID/envsafe-agent

# Deploy
gcloud run deploy envsafe-agent \
  --image gcr.io/PROJECT-ID/envsafe-agent \
  --platform managed \
  --region us-central1 \
  --set-env-vars AUTH_SECRET=<secret>,DATABASE_URL=<db>

Kubernetes

Pour les infrastructures enterprise

# 1. Créer les secrets
kubectl create secret generic envsafe-secrets \
  --from-literal=auth-secret=<your-secret> \
  --from-literal=database-url=<your-db-url>

# 2. Appliquer les manifests (voir repo GitHub)
kubectl apply -f k8s-deployment.yaml

Sécurité

Le stockage externe utilise une authentification HMAC-SHA256. Seul votre serveur EnvSafe (SaaS) peut communiquer avec votre agent.

Les données restent chiffrées

Même sur votre serveur, les secrets sont stockés sous forme chiffrée (AES-256-GCM). L'agent ne peut pas les lire.

Exemple de requête authentifiée :

GET /get-secret?key=API_KEY&environmentId=env123
Headers:
  Authorization: Bearer sk_live_abc...xyz
  X-EnvSafe-Timestamp: 1706990000000
  X-EnvSafe-Signature: a1b2c3d4e5f6...

Agent de stockage (Exemple)

Vous pouvez utiliser notre agent open-source ou créer le vôtre

// L'agent stocke UNIQUEMENT des données chiffrées
// Il ne peut PAS les lire

await prisma.encryptedVariable.create({
  data: {
    key: "DATABASE_URL",
    encryptedValue: "U2FsdGVkX1...", // ❌ Illisible
    environmentId: "prod"
  }
});

// Seul le client (CLI/Dashboard) avec la clé privée
// peut déchiffrer cette valeur