Estandarditza com
les teves apps consumeixen
secrets.

Deixa de reinventar la càrrega de secrets a cada projecte. Defineix un contracte d'entorn i resol-lo a tot arreu.

AWS SSM · Azure Key Vault · GitHub Action · SDKs de runtime
npm install -g envilder
# AWS CLI configurat amb permisos a SSM aws sts get-caller-identity { "UserId": "AROAADALOVELACE1815DC", "Account": "123456789012", "Arn": "arn:aws:sts::123456789012:assumed-role/secrets-role/ada.lovelace" }   # Puja cada secret a SSM Parameter Store npx envilder --push --key=OPENAI_API_KEY --value=sk-proj-1ts4f4k3s3cr3tv4lu3 --secret-path=/openai/prod/api-key Pushed OPENAI_API_KEY=************************lu3 to secret store at path *****************key
AWS SSM
Azure Key Vault
GitHub Actions
npm

Per què la gestió de secrets està trencada

Cada equip, cada etapa, cada runtime gestiona els secrets de forma diferent. Sense estàndard. Sense consistència. Sense confiança.

💀

Fragmentada entre eines

L'entorn local utilitza fitxers .env. CI/CD llegeix d'integracions amb vaults. Producció té el seu propi mètode. Mateixa app, diferents fluxos de configuració a tot arreu.

📨

Secrets compartits per canals insegurs

Claus API enviades per Slack, fitxers .env als repositoris, pàgines wiki amb credencials en text pla. Un incident de seguretat esperant a passar.

🐌

El desfasament de configuració és inevitable

Sense una font única de veritat sobre quins secrets necessita una app. Dev, staging i producció es desincronitzen. Els desplegaments fallen. Ningú sap quina config és la correcta.

Per què Envilder?

Envilder és una capa de resolució sobre el teu gestor de secrets existent. Els secrets es queden al teu núvol. El mapeig JSON és només el contracte que manté cada entorn consistent.

🧱

Zero infraestructura

Sense servidors, sense proxies, sense SaaS intermediari. Construït sobre AWS SSM i Azure Key Vault, serveis que ja utilitzes i pagues.

📋

Un fitxer, tots els secrets

Un sol contracte JSON defineix cada secret per a cada entorn. Versionat a Git, revisable en PRs, comparable. El teu equip revisa canvis de secrets al mateix PR que el codi.

🔄

Rotació de secrets segura

Rota valors a AWS SSM o Azure Key Vault. Cada consumidor (local, CI/CD i runtime) resol el nou valor automàticament. Sense reescriure .env, sense canvis als pipelines.

☁️

Multi-Cloud, sense lock-in

AWS SSM, Azure Key Vault, GCP Secret Manager (pròximament). Canvia de proveïdor sense modificar el codi de l'app. El teu núvol, les teves regles.

També inclou

⚙️
GitHub Action Obté secrets en workflows CI/CD. Mateix mapeig, zero intervenció manual.
🔄
Sincronització bidireccional Obté a .env o puja valors .env al teu proveïdor al núvol via CLI.
🔌
Els secrets no toquen disc SDKs de runtime carreguen secrets directament a memòria a l'inici de l'app. Sense fitxers .env escrits a disc.
🔒
IAM i RBAC natiu Polítiques IAM d'AWS o RBAC d'Azure. Sense capa d'auth extra.
📊
Traçabilitat completa Cada accés registrat a CloudTrail o Azure Monitor automàticament.
👤
Suport de perfils AWS Canvia entre perfils AWS CLI per a configuracions multi-compte.

Com funciona

Defineix. Resol. Desplega.

PAS 01

Defineix el model de mapeig

Un fitxer JSON que mapeja noms de variables d'entorn a rutes de secrets al núvol. Fes-ne commit. Revisa'l en PRs. Compara entre entorns. Un model per a cada etapa i runtime.

envilder.json json
{
  "DB_PASSWORD": "/my-app/prod/db-password",
  "API_KEY":     "/my-app/prod/api-key",
  "SECRET_TOKEN": "/my-app/prod/secret-token"
}
PAS 02

Resol amb la CLI

Una comanda obté cada secret del teu vault al núvol i els escriu a .env. Utilitza'l localment o en scripts. Mateix mapeig, mateix comportament.

terminal bash
$ envilder --map=envilder.json --envfile=.env

 Obtingut DB_PASSWORD ···word
 Obtingut API_KEY ···key
 Obtingut SECRET_TOKEN ···oken
 Fitxer d'entorn escrit a .env
PAS 03

Carrega en runtime amb SDKs

Salta't el fitxer .env completament. Carrega secrets directament a la teva aplicació a l'inici amb SDKs natius: Python, .NET, Node.js i més.

pip install envilder
settings.py python
from envilder import Envilder, SecretProviderType

# One-liner: load secrets into os.environ
Envilder.load("envilder.json")

# Or resolve as a dict without injecting
secrets = Envilder.resolve_file("envilder.json")

# Fluent builder with provider override
secrets = (
    Envilder.from_map_file("envilder.json")
    .with_provider(SecretProviderType.AZURE)
    .with_vault_url("https://my-vault.vault.azure.net")
    .inject()
)
dotnet add package Envilder
Program.cs csharp
using Envilder;

var builder = WebApplication.CreateBuilder(args);

// Load secrets into IConfiguration
builder.Configuration.AddEnvilder("envilder.json");

// Register EnvilderClient in DI
builder.Services.AddEnvilder("envilder.json");

// --- Or standalone (no ASP.NET) ---

// One-liner: resolve + inject into Environment
Env.Load("envilder.json");

// Fluent builder with provider override
Env.FromMapFile("envilder.json")
    .WithProvider(SecretProviderType.Azure)
    .WithVaultUrl("https://my-vault.vault.azure.net")
    .Inject();
npm install @envilder/sdk
config.ts typescript
import { Envilder, SecretProviderType } from '@envilder/sdk';

// One-liner: resolve + inject into process.env
await Envilder.load('envilder.json');

// Or resolve as a Map without injecting
const secrets = await Envilder.resolveFile('envilder.json');

// Fluent builder with provider override
const override = await Envilder.fromMapFile('envilder.json')
  .withProvider(SecretProviderType.Azure)
  .withVaultUrl('https://my-vault.vault.azure.net')
  .inject();
PAS 04

Push des de dev al vault

Necessites afegir o rotar un secret? Puja valors des del teu entorn local al proveïdor al núvol. Sense necessitat de consola.

terminal bash
$ envilder --push --envfile=.env --map=envilder.json

 Pujat DB_PASSWORD /my-app/prod/db-password
 Pujat API_KEY /my-app/prod/api-key
 Pujat SECRET_TOKEN /my-app/prod/secret-token
PAS 05

Els secrets es queden al teu vault

Sense intermediaris. El teu núvol gestiona l'emmagatzematge, la rotació i el control d'accés. Envilder resol, mai emmagatzema.

Mira'l en acció

Mira com Envilder simplifica la gestió de secrets en menys de 2 minuts.

El teu núvol. La teva elecció.

Envilder funciona amb AWS SSM Parameter Store, Azure Key Vault i GCP Secret Manager (pròximament). Configura en línia o amb flags CLI.

AWS SSM Parameter Store

envilder.json json
{
  "$config": {
    "provider": "aws",
    "profile": "prod-account"
  },
  "DB_PASSWORD": "/my-app/prod/db-password",
  "API_KEY": "/my-app/prod/api-key"
}
$ envilder --map=envilder.json --envfile=.env
  • ✔ Suport de GetParameter amb WithDecryption
  • ✔ Suport de perfil AWS per a multi-compte
  • ✔ Control d'accés basat en polítiques IAM
  • ✔ Registre d'auditoria CloudTrail

Azure Key Vault

envilder.json json
{
  "$config": {
    "provider": "azure",
    "vaultUrl": "https://my-vault.vault.azure.net"
  },
  "DB_PASSWORD": "my-app-prod-db-password",
  "API_KEY": "my-app-prod-api-key"
}
$ envilder --provider=azure --vault-url=https://my-vault.vault.azure.net --map=envilder.json --envfile=.env
  • ✔ Auto-normalitza noms de secrets (barres → guions)
  • ✔ Autenticació DefaultAzureCredential
  • ✔ Control d'accés Azure RBAC
  • ✔ Registre d'auditoria Azure Monitor

GCP Secret Manager

Pròximament
envilder.json json
{
  "$config": {
    "provider": "gcp",
    "projectId": "my-project-id"
  },
  "DB_PASSWORD": "my-app-prod-db-password",
  "API_KEY": "my-app-prod-api-key"
}
$ envilder --provider=gcp --map=envilder.json --envfile=.env
  • ✔ Integració amb Google Cloud Secret Manager
  • ✔ Application Default Credentials (ADC)
  • ✔ Control d'accés basat en IAM
  • ✔ Cloud Audit Logs

Comença ara

En funcionament en menys d'un minut.

Prerequisits

  • Node.js v22.12+
  • AWS CLI configurat (per AWS SSM)
  • Azure CLI configurat (per Azure Key Vault)
  • Permisos IAM: ssm:GetParameter / ssm:PutParameter

Instal·lar

pnpm pnpm add -g envilder
npm npm install -g envilder
npx npx envilder --help

Inici ràpid

  1. Crea un envilder.json que mapegi variables d'entorn a rutes de secrets
  2. Executa envilder --map=envilder.json --envfile=.env
  3. El teu fitxer .env està llest ✔
# Instal·lar globalment $ npm install -g envilder   # Crear fitxer de mapeig $ echo '{"API_KEY": "/app/api-key"}' > envilder.json   # Obtenir secrets $ envilder --map=envilder.json --envfile=.env   Fet! Fitxer .env generat.   # Pujar un secret $ envilder --push --key=API_KEY --value=sk_live_abc123 --secret-path=/app/api-key   Secret pujat correctament.
# Instal·lar l'SDK $ pip install envilder   # Carregar secrets a l'inici from envilder import Envilder   Envilder.load("envilder.json")   # Els secrets ja són a os.environ db_pass = os.environ["DB_PASSWORD"]