- Inicio
- Habilidades
- Despliegue
- Auditoria de Variables de Entorno
Auditoria de Variables de Entorno
Encuentra variables de entorno faltantes, sin usar o expuestas antes de que causen problemas en produccion.
El Problema
Los problemas con variables de entorno son los asesinos silenciosos de los deployments. Una variable faltante hace crashear tu app en runtime, una sin usar ensucia tu configuracion, y una expuesta en un archivo .env commiteado es un incidente de seguridad. La mayoria de los desarrolladores descubren estos problemas despues del deploy — cuando ya es demasiado tarde.
El Prompt
Audita las variables de entorno en mi proyecto. Proporcionare mis archivos de configuracion y referencias en el codigo. Identifica cada problema.
.ENV.EXAMPLE (o .env.local):
[pega tu .env.example o template .env aqui]
CODIGO QUE REFERENCIA VARIABLES DE ENTORNO:
[pega archivos de codigo relevantes — o describe: "App Next.js con Prisma y Stripe"]
PLATAFORMA DE DEPLOYMENT: [ej. Vercel, AWS, Docker, Netlify]
Verifica estos problemas:
1. **Variables Faltantes** — Referenciadas en codigo pero no en .env.example
2. **Variables Sin Usar** — Definidas en .env pero nunca referenciadas en codigo
3. **Secrets Expuestos** — Valores sensibles que podrian estar commiteados o filtrarse al cliente
4. **Fugas al Cliente** — Secrets de servidor accesibles en el navegador (ej. manejo faltante de prefijo NEXT_PUBLIC_)
5. **Valores por Defecto Riesgosos** — Valores fallback que causarian fallos silenciosos en produccion
6. **Inconsistencias de Nombres** — Convenciones mezcladas (camelCase vs SCREAMING_SNAKE)
7. **Validacion Faltante** — Sin verificacion al inicio de que las variables requeridas esten configuradas
Para cada problema, proporciona severidad (Critico/Advertencia/Info) y la solucion.
Ejemplo de Salida
## Resultado de Auditoria: 4 problemas encontrados
### CRITICO: Secret expuesto al cliente
`STRIPE_SECRET_KEY` se usa en `src/lib/stripe.ts` que es importado por un componente cliente.
Solucion: Mover la inicializacion de Stripe a un modulo server-only (ej. `src/lib/stripe.server.ts`).
### CRITICO: Faltante en produccion
`REDIS_URL` se referencia en `src/lib/cache.ts` pero no esta listada en .env.example.
Solucion: Agregar `REDIS_URL=` a .env.example y configurarla en tu plataforma de deployment.
### ADVERTENCIA: Variable sin usar
`OLD_API_KEY` esta definida en .env pero no se referencia en ningun lugar del codigo.
Solucion: Eliminar de .env.example y todas las configuraciones de deployment.
### INFO: Sin validacion al inicio
Solucion: Agregar una verificacion de validacion al arranque de la app usando zod o una funcion de asercion simple.
Cuando Usar
Ejecutar esta auditoria antes de cada deployment a un nuevo entorno, despues de incorporar nuevos miembros al equipo que podrian configurar variables incorrectamente, o como revision de seguridad periodica. Particularmente valioso al migrar entre plataformas de hosting donde las convenciones de nombres de variables difieren.
Tips Pro
- Incluir tu configuracion de deployment — pega tu
vercel.json,docker-compose.ymlo configuracion CI para que la IA pueda cruzar datos de cuales variables estan realmente configuradas en cada entorno. - Pedir un snippet de validacion — continuar con “Genera un modulo de validacion de entorno en TypeScript usando zod que verifique todas las variables requeridas al iniciar.”
- Automatizar — pedir a la IA que genere un script que compare las claves de
.env.examplecontra las referencias aprocess.enven tu codebase.