Centro de ayuda

Troubleshooting

Rotar secrets y variables de entorno

Procedimiento seguro para rotar API keys, webhook secrets y tokens sin downtime.

Actualizado: 2026-05-05

Rotar secrets y variables de entorno

Debes rotar un secret cuando: sospechas que fue comprometido, el proveedor lo invalida automáticamente, o como parte de tu política de seguridad periódica. Este artículo describe el procedimiento correcto para cada secret crítico del sistema.

Regla general

Siempre genera el nuevo secret antes de invalidar el anterior. Esto garantiza que no haya ventana de downtime entre la rotación y el redespliegue.

---

1. ELEVENLABS_WEBHOOK_SECRET

1. En ElevenLabs → Agents → tu agente → Webhook → haz clic en Rotate Signing Secret.

2. Copia el nuevo secret antes de confirmar la rotación.

3. En Vercel → SettingsEnvironment Variables, actualiza ELEVENLABS_WEBHOOK_SECRET con el nuevo valor.

4. Haz clic en Save en Vercel.

5. Redespliega el proyecto: en Vercel → DeploymentsRedeploy (último deployment exitoso).

6. Confirma la rotación en ElevenLabs.

7. Verifica en los logs de Vercel que el próximo webhook llega con 200 OK.


ELEVENLABS_WEBHOOK_SECRET=whsec_NUEVO_SECRET_AQUI

---

2. PAYPAL_CLIENT_SECRET

1. En PayPal Developer Dashboard → My Apps & Credentials → tu app → haz clic en Rotate Secret.

2. Copia el nuevo Client Secret.

3. Actualiza PAYPAL_CLIENT_SECRET en Vercel.

4. Redespliega.

5. Prueba una orden de pago de prueba en sandbox para confirmar.

---

3. TWILIO_AUTH_TOKEN

Twilio tiene un Secondary Auth Token que permite la rotación sin downtime:

1. En la consola Twilio → AccountAPI keys & tokens → haz clic en Secondary auth tokenCreate.

2. Actualiza TWILIO_AUTH_TOKEN en Vercel con el Secondary Token.

3. Redespliega y verifica que los SMS siguen funcionando.

4. En Twilio, promueve el Secondary Token a Primary y genera un nuevo Secondary.

5. Actualiza Vercel de nuevo con el nuevo Primary.

---

4. RESEND_API_KEY

1. En Resend → API KeysCreate API Key (crea uno nuevo antes de eliminar el viejo).

2. Actualiza RESEND_API_KEY en Vercel.

3. Redespliega.

4. Envía un correo de prueba desde el dashboard.

5. Elimina el API Key viejo en Resend.

---

5. SUPABASE_SERVICE_ROLE_KEY

Este es el secret más crítico — tiene acceso total a la base de datos sin restricciones de RLS.

1. En Supabase → Project SettingsAPI → haz clic en Generate new service_role key (la función está en la parte inferior de la página).

2. Actualiza SUPABASE_SERVICE_ROLE_KEY en Vercel antes de que el key anterior expire.

3. Redespliega inmediatamente.

4. Confirma que el dashboard carga correctamente.

> Nunca expongas SUPABASE_SERVICE_ROLE_KEY en el cliente (nunca en variables NEXT_PUBLIC_*).

---

6. WHATSAPP_ACCESS_TOKEN

Los System User Tokens de Meta no tienen rotación automática, pero deben rotarse si el sistema de seguridad de Meta los revoca.

1. En Meta Business Manager → System Users → tu usuario → Generate Token.

2. Selecciona los permisos whatsapp_business_messaging y whatsapp_business_management.

3. Copia el nuevo token.

4. Actualiza WHATSAPP_ACCESS_TOKEN en Vercel y redespliega.

---

Verificación post-rotación (checklist)

Después de cualquier rotación, verifica:

  • [ ] Los webhooks de ElevenLabs llegan con 200 OK
  • [ ] Los webhooks de PayPal llegan con 200 OK
  • [ ] Un recordatorio de prueba llega al canal configurado
  • [ ] El dashboard carga las citas correctamente
  • [ ] El widget en /a/[slug] inicia llamadas sin error

Si algún item falla, revisa los Vercel Logs para identificar qué variable no fue actualizada correctamente.