Una alternativa a dotenv que deja de filtrar tus .env.
dotenv nunca fue pensado para tres personas compartiendo un DATABASE_URL en Slack. Envshed es el reemplazo cifrado y consciente del equipo: un .envshed.json en la raíz del repo, valores que se traen bajo demanda y registro de auditoría en cada lectura.
dotenv es ese archivo que todos usan y que nadie admite gestionar por DM en Slack. Dos personas entran al equipo. Alguien olvida pegar la nueva RESEND_API_KEY. La CI rompe a las 2 de la madrugada. Estás leyendo esto porque ya pasó. Así se ve una alternativa a dotenv de verdad una vez que pasaste del proyecto solo.
Dónde dotenv deja de escalar
El .env es la fuente de verdad, y nadie confía en él
Cinco copias, todas ligeramente distintas. Staging tiene una clave de más. Prod tiene una de menos. Alguien lo commiteó a git en 2023 y el historial sigue ahí.
El dev nuevo espera días por un entorno local que funcione
Pair call, screenshare, DM con valor de secret. El onboarding no puede ser reconstruir un JSON a mano, línea por línea.
No sabes quién leyó qué, ni cuándo
Una clave rota. No hay forma de saber quién sigue con la antigua. Cada process.env es invisible.
Lo que Envshed entrega y dotenv no
Envshed mantiene el formato que ya entiendes — archivos con pares CLAVE=valor — y agrega las tres cosas que dotenv nunca hizo. Almacenamiento central, cifrado en reposo con AES-256-GCM, así los valores nunca quedan en texto plano en disco. Acceso por usuario y por proyecto, no "todos los del canal de Slack". Y un CLI que trae los valores actuales bajo demanda, así el archivo en tu laptop siempre es el correcto.
Tu flujo de dotenv, reconstruido
Tira el archivo. Mantén el flujo.
# antes: buscar el último .env en Slack cat .env # después: traer los valores reales de tu entorno envshed pull envshed run -- pnpm dev
Cada dolor de dotenv, reemplazado
Una fuente de verdad por entorno
Development, staging, production — cada uno tiene su vault. envshed pull --env staging es la única forma de tener los valores de staging en disco.
Acceso inmediato cuando alguien entra
Invita a la persona a la org. Corre envshed init && envshed pull y está desbloqueada en 30 segundos.
Cada lectura queda registrada
El registro de auditoría muestra qué usuario trajo qué secret, desde qué máquina, a qué hora. La rotación se vuelve una operación conocida, no un incidente.
Lo que obtienes
- Cifrado AES-256-GCM en reposo para cada valor de secret
- Un .envshed.json detecta cada paquete del monorepo
- Service tokens para la CI sin compartir credenciales humanas
- Overrides por usuario — tus valores locales siguen siendo locales
- US$ 5 por usuario por mes, fijo — sin escalones por asiento
De dotenv a Envshed, respondido
¿Puedo seguir usando un .env en dev local?
Sí. envshed pull escribe un .env en tu directorio de trabajo que cualquier herramienta (node, vite, next) lee exactamente igual que antes. La diferencia es que el archivo viene del vault, no de un DM en Slack.
¿Qué pasa con mis .env actuales?
Impórtalos. envshed push sube cada par CLAVE=valor al entorno de proyecto que elijas. Después puedes borrar las copias commiteadas.
¿Funciona con dotenv-cli, dotenvx, Next.js y Vite?
Sí. Envshed escribe el mismo formato .env que esas herramientas esperan. También puedes correr el proceso directo con envshed run -- tu-comando y saltarte el archivo intermedio.
¿Sigo necesitando python-dotenv o dotenv-cli?
Solo si quieres. Envshed puede emitir el archivo que ellos esperan, o inyectar los valores directo en tu proceso — tu código sigue leyendo process.env.X o os.environ['X'] sin loader.
Mueve tus .env a un lugar sensato
Regístrate, trae tu primer secret en menos de 30 segundos y borra ese .env.template que nadie actualiza.
Empezar gratisParte de Envshed.