Una variable de entorno es un par de nombre y valor que existe en el sistema donde se ejecuta el programa. El código lee ese valor al momento de ejecutarse. Así, los datos que cambian de un entorno a otro quedan separados del código.
Como funciona
Cuando abres una terminal o inicias un servidor, el sistema operativo entrega al programa un conjunto de variables. El programa consulta por nombre y recibe el valor.
El mismo código puede ejecutarse en tu computadora, en un servidor de pruebas y en producción. Lo que cambia es solo el valor de cada variable: la base de datos de pruebas y la de producción, por ejemplo.
En Node.js, la lectura es así:
const chave = process.env.OPENAI_API_KEY;
if (!chave) throw new Error("Faltou a variável OPENAI_API_KEY");Para definir una variable en la terminal:
export MINHA_CHAVE="valor-secreto"$env:MINHA_CHAVE = "valor-secreto"Estas definiciones valen para la sesión actual. Para algo permanente, se usa el panel del hosting, el archivo .env o la configuración del sistema.
Exemplo prático
Creaste un script que llama a una API de IA. Si escribes la clave directamente en el código y subes el proyecto a GitHub, cualquier persona puede verla y usarla, y la cuenta se vuelve cara.
La forma correcta es guardar la clave en una variable de entorno y leerla en el código. En el repositorio queda solo el nombre de la variable, nunca el valor. En un archivo de ejemplo, listas los nombres esperados para que otras personas sepan qué configurar.
Otro caso común: la dirección de la API cambia entre pruebas y producción. Con una variable como API_URL, cambias el destino sin tocar ninguna línea de código.
Para que serve
Sirve principalmente para proteger secretos, como claves de API, contraseñas y tokens. También sirve para configurar el comportamiento de la app en cada entorno, activar o desactivar recursos y definir puertos y direcciones.
Las plataformas de hosting y las herramientas de agentes de código usan variables de entorno para recibir las claves de los proveedores de modelos. En general, es el único lugar donde estos valores deberían estar.
Cuidados importantes
- Nunca envíes archivos con secretos al repositorio. Coloca
.enven.gitignore. - No imprimas variables sensibles en logs.
- Si una clave se filtra, genera otra y revoca la anterior inmediatamente.
- Las variables son texto plano en el proceso. Para secretos muy críticos, considera un gestor de secretos.
Siguiendo estos puntos, mantienes el proyecto limpio, portable y mucho más seguro.