Estandariza cómo
tus apps consumen
secretos.
Deja de reinventar la carga de secretos en cada proyecto. Define un contrato de entorno y resuélvelo en todas partes.
❯ npm install -g envilder
Por qué la gestión de secretos está rota
Cada equipo, cada etapa, cada runtime gestiona los secretos de forma diferente. Sin estándar. Sin consistencia. Sin confianza.
Fragmentada entre herramientas
El entorno local usa archivos .env. CI/CD lee de integraciones con vaults. Producción tiene su propio método. Misma app, diferentes flujos de configuración.
Secretos compartidos por canales inseguros
Claves API enviadas por Slack, archivos .env en repositorios, páginas wiki con credenciales en texto plano. Un incidente de seguridad esperando a ocurrir.
El desfase de configuración es inevitable
Sin una fuente única de verdad sobre qué secretos necesita una app. Dev, staging y producción se desincronizan. Los despliegues fallan. Nadie sabe qué config es la correcta.
Por qué Envilder?
Envilder es una capa de resolución sobre tu gestor de secretos existente. Los secretos se quedan en tu nube. El mapeo JSON es solo el contrato que mantiene cada entorno consistente.
Cero infraestructura
Sin servidores, sin proxies, sin SaaS intermediario. Construido sobre AWS SSM y Azure Key Vault, servicios que ya usas y pagas.
Un archivo, todos los secretos
Un solo contrato JSON define cada secreto para cada entorno. Versionado en Git, revisable en PRs, comparable. Tu equipo revisa cambios de secretos en el mismo PR que el código.
Rotación de secretos segura
Rota valores en AWS SSM o Azure Key Vault. Cada consumidor (local, CI/CD y runtime) resuelve el nuevo valor automáticamente. Sin reescribir .env, sin cambios en los pipelines.
Multi-Cloud, sin lock-in
AWS SSM, Azure Key Vault, GCP Secret Manager (próximamente). Cambia de proveedor sin modificar el código de tu app. Tu nube, tus reglas.
También incluye
Cómo funciona
Define. Resuelve. Despliega.
Define el modelo de mapeo
Un archivo JSON que mapea nombres de variables de entorno a rutas de secretos en la nube. Haz commit. Revísalo en PRs. Compara entre entornos. Un modelo para cada etapa y runtime.
{
"DB_PASSWORD": "/my-app/prod/db-password",
"API_KEY": "/my-app/prod/api-key",
"SECRET_TOKEN": "/my-app/prod/secret-token"
} Resuelve con la CLI
Un comando obtiene cada secreto de tu vault en la nube y los escribe en .env. Úsalo localmente o en scripts. Mismo mapeo, mismo comportamiento.
$ envilder --map=envilder.json --envfile=.env
✔ Obtenido DB_PASSWORD → ···word
✔ Obtenido API_KEY → ···key
✔ Obtenido SECRET_TOKEN → ···oken
✔ Archivo de entorno escrito en .env Carga en runtime con SDKs
Sáltate el archivo .env por completo. Carga secretos directamente en tu aplicación al iniciar con SDKs nativos: Python, .NET, Node.js y más.
pip install envilder 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 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 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(); Push desde dev al vault
¿Necesitas añadir o rotar un secreto? Sube valores desde tu entorno local al proveedor en la nube. Sin necesidad de consola.
$ envilder --push --envfile=.env --map=envilder.json
✔ Subido DB_PASSWORD → /my-app/prod/db-password
✔ Subido API_KEY → /my-app/prod/api-key
✔ Subido SECRET_TOKEN → /my-app/prod/secret-token Los secretos se quedan en tu vault
Sin intermediarios. Tu nube gestiona el almacenamiento, la rotación y el control de acceso. Envilder resuelve, nunca almacena.
Míralo en acción
Mira cómo Envilder simplifica la gestión de secretos en menos de 2 minutos.
Tu nube. Tu elección.
Envilder funciona con AWS SSM Parameter Store, Azure Key Vault y GCP Secret Manager (próximamente). Configura en línea o con flags CLI.
AWS SSM Parameter Store
{
"$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
- ✔ Soporte de GetParameter con WithDecryption
- ✔ Soporte de perfil AWS para multi-cuenta
- ✔ Control de acceso basado en políticas IAM
- ✔ Registro de auditoría CloudTrail
Azure Key Vault
{
"$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-normaliza nombres de secretos (barras → guiones)
- ✔ Autenticación DefaultAzureCredential
- ✔ Control de acceso Azure RBAC
- ✔ Registro de auditoría Azure Monitor
GCP Secret Manager
Próximamente{
"$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ón con Google Cloud Secret Manager
- ✔ Application Default Credentials (ADC)
- ✔ Control de acceso basado en IAM
- ✔ Cloud Audit Logs
Empieza ahora
En funcionamiento en menos de un minuto.
Prerrequisitos
- Node.js v22.12+
- AWS CLI configurado (para AWS SSM)
- Azure CLI configurado (para Azure Key Vault)
- Permisos IAM:
ssm:GetParameter/ssm:PutParameter
Instalar
Inicio rápido
- Crea un envilder.json que mapee variables de entorno a rutas de secretos
- Ejecuta envilder --map=envilder.json --envfile=.env
- Tu archivo .env está listo ✔