PTENES
MÓDULO 4.4

🔐 Secretos: la clave nunca viaja en el bolsillo del código

Tu automatización necesita contraseñas y claves para comunicarse con otros servicios, pero esas claves no pueden estar dentro del código que envías al repositorio. En este módulo aprenderás dónde se guardan realmente y por qué esa separación evita una filtración costosa.

6
Temas
30
Minutos
Intermedio
Nivel
Práctico
Tipo
0 de 60%
1

📓 El cuaderno de contraseñas que no sale de casa

¿Eres nuevo aquí? Un archivo .env (se lee «dot env», de «environment», entorno) es un archivo de texto simple que solo está en tu máquina y guarda variables de entorno — pares de nombre y valor que tu automatización lee al ejecutarse, sin que esos valores queden escritos dentro del código. En este archivo se guardan las contraseñas y claves de acceso que necesita la automatización.

Piensa en una libreta de papel para contraseñas, de esas que se guardan en un cajón de la casa. Anotas ahí la contraseña del banco, del correo y del wifi. ¿Tiene sentido llevar esa libreta al trabajo? No — se queda en casa, solo tú (y quienes viven contigo) tienen acceso. El .env es exactamente este cuaderno: está en tu computadora y nunca va junto cuando envías el código a PRO repositorio (la “caja compartida” donde se guarda y versiona el código — vimos esto en el módulo 4.2: es GitHub).

💡 Concepto principal

El código es para compartir. El secreto es para guardar. Mezclar ambos es el error n.º 1 de quien empieza a publicar automatizaciones.

  • •El código (la lógica de la automatización) puede —y debe— ir al repositorio.
  • •La clave que autentica este código con otro servicio nunca se incluye.
.env
Dónde está la clave
Local
Solo en tu computadora
Nunca
Va al repositorio
Panel
Dónde vuelve a aparecer en la nube
2

🚪 El .gitignore es el portero de la puerta

¿Eres nuevo aquí? O .gitignore es un archivo de texto, dentro de tu proyecto, con una lista de nombres de archivos y carpetas que el git (el programa que controla qué se sube al repositorio — módulo 4.2) debe ignorar por completo. Si un archivo está en esta lista, git finge que no existe: nunca aparece para enviarlo, aunque escribas el comando equivocado e intentes enviarlo todo de una vez.

Es el guardia que se queda plantado en la puerta de casa con la lista de quienes no pueden salir. Aunque tú, distraído, intentes llevarte el cuaderno de contraseñas junto con la mochila del trabajo, el guardia te detiene en la puerta. El .env siempre debería estar en esta lista; en la práctica, casi todo proyecto nuevo ya viene con esa línea lista, pero vale la pena comprobarlo.

🔒 .env API_KEY=SUA_CHAVE se queda solo en la laptop (tu gestor de contraseñas) 🚪 portero .gitignore bloquea el .env en el puerto solo pasa el código Repositorio solo código, sin clave escribes a mano Panel de Trigger.dev clave registrada en la nube Automatización en ejecución código + clave si encuentran en la nube

Leyenda: el código y la clave viajan por caminos separados. El código pasa por el portero y llega al repositorio; la clave nunca pasa por ahí: la escribes directamente en el panel de la plataforma, y solo allí, en la nube, ambos vuelven a encontrarse.

🔍 Por dentro

  • Clave de API: un código secreto que te identifica (o identifica a tu automatización) ante otro servicio, como una credencial de acceso.
  • Panel / dashboard: la página de administración de una plataforma web, donde configuras tu cuenta y tus automatizaciones sin escribir código.
3

🧪 Verificar en la práctica que .env está protegido

No hace falta confiar a ciegas: puedes comprobar con unos pocos pasos que tu .env está efectivamente fuera de la lista de envío. El objetivo aquí es simple: crear un .env por ejemplo, confirmar que esté en la lista de .gitignore, y usar un comando de git para ver con tus propios ojos que no aparece como algo que se vaya a enviar.

Objetivo: tener un .env con marcadores de posición (nunca una clave real), protegido por .gitignore, y confirmar esto ejecutando git status.

# conteúdo de exemplo do arquivo .env (na raiz do projeto)
API_KEY=SUA_CHAVE_AQUI
OUTRO_SERVICO_TOKEN=SEU_TOKEN_AQUI

# conteúdo do .gitignore que garante que o .env nunca suba
.env
node_modules/
dist/

# comando para checar o que o git está prestes a enviar
git status

Cómo verificar: después de ejecutar git status, el archivo .env no debe aparecer en ninguna lista —ni en "archivos modificados" ni en "archivos sin seguimiento". Si aparece, es señal de que la línea .env no está en el .gitignore (o está mal escrita) — corrígela antes de continuar.

✓ .env en .gitignore

  • ✓git status no muestra el .env
  • ✓La clave queda solo en tu máquina
  • ✓Puedes compartir el código sin miedo

✗ .env agregado al commit por error

  • ✗git status muestra el .env listo para enviar
  • ✗La clave real queda visible para cualquiera que tenga acceso al repositorio
  • ✗Necesita cambiar la clave completa después; no se puede "borrar" lo que ya se envió
4

🗂️ Registrar una clave nueva en el panel

¿Eres nuevo aquí? O Trigger.dev es la plataforma de ejecución que mencionamos en el módulo 4.2: el servicio que ejecuta tu automatización en la nube, las 24 horas del día. Cuando tu automatización necesita comunicarse con otro servicio (enviar un correo electrónico, leer una hoja de cálculo, consultar una IA), la clave de ese servicio no se guarda en el código: se registra manualmente, una sola vez, en el panel de Trigger.dev. Consulta el flujo completo de principio a fin:

1

Genera la clave en el proveedor del servicio

Entra al sitio del servicio que vas a usar (por ejemplo, un proveedor de correo electrónico o de IA) y genera una clave de API nueva en la sección de cuenta.

2

Pega en el panel de Trigger.dev, en el entorno de desarrollo

Dentro del proyecto, en el área de «variables de entorno» (environment variables), pega la clave en el entorno de dev (prueba — tema del módulo 4.3) primero.

3

Prueba la automatización en dev

Ejecuta la automatización en este entorno de prueba y revisa en el log (la lista de eventos registrados; volveremos a esto en el módulo 4.7) si la clave está funcionando.

4

Repite en producción — con una clave propia

Cuando tengas confianza, registra la misma variable en el entorno de producción — de preferencia, generando una segunda clave, dedicada solo a producción, en el proveedor.

5

🔀 Desarrollo y producción tienen claves separadas

Así como el módulo 4.3 mostró dos «mundos» separados (desarrollo y producción) que ejecutan la misma automatización, las claves siguen esa misma separación: el panel de Trigger.dev guarda una variable de entorno por entorno. Esto significa que la clave que usas en tus pruebas no tiene que ser necesariamente la misma que se usa cuando la automatización está atendiendo a usuarios reales.

✓ Clave registrada en el panel

  • ✓La propia plataforma la guarda de forma cifrada
  • ✓Cambiar la clave solo requiere editarla en el panel, sin tocar el código
  • ✓Dev y producción pueden usar claves diferentes, sin mezclarlas

✗ Clave escrita directamente en el código

  • ✗Queda expuesta a cualquiera que abra el archivo
  • ✗Cambiar la clave exige editar código y volver a publicar
  • ✗Dev y producción terminan usando la misma clave por accidente

⚠️ Atención

Nunca pegues una clave de API real en un mensaje, una captura de pantalla compartida, un chat con el agente de código para pedirle ayuda para «depurar» ni en ningún ejemplo público. Si sospechas que una clave real apareció en algún lugar por accidente, el siguiente tema te muestra qué hacer, y es rápido.

6

🚨 Si se filtra una clave: el plan de acción

Las filtraciones ocurren — lo importante es reaccionar rápido. Si una clave real termina apareciendo donde no debía (en un commit por error, un mensaje, una captura), el paso no es "borrar" el rastro — en muchos casos eso no es suficiente, porque alguien podría haber copiado ya la clave o algún sistema automático que rastrea Internet en busca de ellas. Lo correcto es ir al panel del proveedor del servicio y revocar (revocar) esa clave y generar una nueva enseguida.

💡 Consejo práctico

  • •Revoca la clave antigua en el proveedor: esto la vuelve inútil de inmediato, aunque alguien ya tenga una copia.
  • •Genera una clave nueva y regístrala en el panel de Trigger.dev, repitiendo el flujo del tema 4.
  • •Verifica si el .gitignore esté correcto antes de seguir trabajando, para no repetir el error.

Con el secreto protegido, el siguiente módulo (4.5) aborda otro tipo de riesgo: qué hacer cuando una etapa de la automatización falla a mitad del proceso —cómo reaccionar sin duplicar nada.

Verificación rápida (opcional): ¿dónde debe estar una clave de API real que use tu automatización?

✅ Resumen del módulo

✓
.env local: cuaderno de contraseñas que nunca sale de tu máquina.
✓
.gitignore: el guardián que garantiza que el .env nunca llegue al repositorio.
✓
Panel de Trigger.dev: donde se registra manualmente la clave real, separada por entorno.
✓
Si se filtra: revoca en el proveedor y genera una clave nueva: no basta con "borrar".

Próximo módulo:

4.5 — Reintentos y colas