Usa variables de entorno para los secretos
Mantén las API keys y contraseñas fuera del código
⏱ Estim. ~7 min
01 · Leer
El error que le ha costado millones a las empresas: hacer commit de API keys y contraseñas directamente al código fuente.
Una vez que un secreto entra al historial de git, queda ahí para siempre. Aunque lo borres en el siguiente commit, cualquiera que clone el repositorio puede encontrarlo en el historial. Los bots escanean GitHub activamente buscando keys subidas por accidente y las explotan en minutos.
La solución es simple: variables de entorno. En vez de escribir el secreto en el código, lo guardas en un archivo .env que nunca se hace commit. Tu programa lee los valores en tiempo de ejecución y tus secretos quedan seguros.
💡 Imagínalo asíPiensa en las variables de entorno como la caja fuerte de una oficina. No pegas la contraseña en la pantalla (eso es hardcodearla en el código). La guardas bajo llave (el archivo .env) y la sacas cuando la necesitas. Y por supuesto no fotocopias el contenido de la caja fuerte y se lo repartes a todos (commit a git).
02 · Leer
Heredas una app de Node.js con un problema serio: secretos hardcodeados en el código fuente. Vamos a encontrarlos y a arreglar la configuración para guardarlos de forma segura.
03 · Práctica de terminal
Primero busca los secretos hardcodeados en el código. Usa grep para buscar cualquier cosa que parezca una API key o una contraseña.
(Esta sección es interactiva — activa JavaScript para usarla.)
04 · Práctica de terminal
Ahora crea un archivo .env para guardar los secretos de forma segura. Este archivo guarda los valores reales y nos vamos a asegurar de que nunca se haga commit a git.
(Esta sección es interactiva — activa JavaScript para usarla.)
05 · Práctica de terminal
El paso más crítico: agrega .env a .gitignore para que nunca se haga commit. Sin esto, un git add . mete tus secretos en el siguiente commit.
(Esta sección es interactiva — activa JavaScript para usarla.)
06 · Ejemplo de código
Así se ve el app.js arreglado. En vez de valores hardcodeados, lee de process.env después de cargar el .env.
app.js — usando variables de entorno (arreglado)
require('dotenv').config();
const express = require('express');
const app = express();
// Secrets come from .env, not hardcoded
const API_KEY = process.env.API_KEY;
const DB_PASSWORD = process.env.DB_PASSWORD;
const PORT = process.env.PORT || 3000;
console.log('API key loaded:', API_KEY ? 'Yes' : 'No');
// NEVER log the actual key value!
process.env lee del archivo .env una vez que dotenv lo carga. El || 3000 da un valor por defecto cuando PORT no está configurada — un patrón común para que tu app funcione incluso sin .env.
07 · Quiz
¿Por qué nunca deberías hacer commit del archivo .env a git?
- Contiene secretos que se expondrían a cualquiera que clone el repo
- Hace que el repo sea muy grande
- Git no soporta archivos .env
- Los archivos .env solo funcionan en tu máquina local
08 · Completar
Con dotenv en Node.js, accedes a una variable de entorno llamada API_KEY con process._____.API_KEY.
09 · Lista de verificación
Checklist de seguridad para variables de entorno. Estos tres pasos deben volverse un reflejo en cada proyecto.
- .env está listado en .gitignore
- Nunca logueo los valores reales de los secretos
- Creé un .env.example con valores de marcador
Otras lecciones de este capítulo
⚠ La experiencia interactiva completa necesita JavaScript. Actívalo y vuelve a cargar la página.
※ Este es un proyecto educativo independiente — no es un producto oficial de Anthropic. Claude™ es una marca registrada de Anthropic, PBC.