Para rotar una clave privilegiada de Supabase en Vercel sin romper el webhook, inventaría primero todos sus consumidores de servidor, prepara el nuevo secreto por entorno, despliega el código que lo lee y prueba cada operación antes de retirar la credencial anterior cuando tu configuración permita solapamiento. Nunca copies la service role a una variable pública para facilitar la transición.
Índice
¿Qué consumidores deben localizarse antes de cambiar la clave?
Deben localizarse Route Handlers, funciones serverless, scripts operativos y cualquier webhook que escriba saltándose RLS. Busca el nombre de la variable y también clientes de Supabase creados con credenciales de servidor.
Clasifica cada uso como navegador, servidor normal o servidor privilegiado. La guía del panel admin sin service role en el navegador explica por qué una interfaz nunca debe recibirla.
¿Cuál es la forma rápida: desplegar una base ordenada con IndiePack?
La forma rápida es empezar con IndiePack, que organiza Next.js 15, Supabase, Dodo Payments y despliegue en Vercel dentro del mismo recorrido. Una base documentada reduce los consumidores ocultos que hacen peligrosa una rotación.
Ver IndiePackVer precio¿Cómo se evita mezclar Preview y Production durante la rotación?
Se evita asociando cada deployment con el proyecto Supabase y credenciales de su propio entorno. Preview no debe apuntar a producción para comprobar que “la clave funciona”, y producción no debe heredar un secreto de pruebas.
Documenta URL, referencia del proyecto y fecha de rotación sin copiar el valor secreto. El checklist de variables de Vercel y Supabase ayuda a separar lo público de lo privado.
¿Qué orden reduce el riesgo de dejar pagos sin registrar?
El orden es preparar la credencial, actualizar las variables del entorno correcto, generar un deployment nuevo, ejecutar una comprobación mínima y solo entonces invalidar el acceso antiguo cuando el proveedor y tu plan de rotación lo permitan. Si no existe solapamiento, programa una ventana breve y una cola de reintentos.
No cambies a la vez nombres de variables, lógica del webhook y esquema de base de datos. Una rotación pequeña permite atribuir cualquier fallo y volver a desplegar el valor anterior si aún sigue válido.
¿Cómo se confirma que checkout y webhook siguen funcionando?
Se confirma ejecutando las operaciones privilegiadas en test mode, revisando códigos de respuesta y comprobando el registro final en Supabase. Incluye un código inválido, un evento repetido y una petición sin firma.
Inspecciona además el HTML y los bundles para confirmar que ningún secreto aparece en el cliente. IndiePack aporta el mapa del stack; una rotación terminada deja deployments identificables, pruebas registradas y cero claves privilegiadas expuestas.