Fundamentos de seguridad
¿Supabase está caído o es tu app? Cómo distinguirlo
¿Supabase está caído o es tu app? Un proyecto pausado, una base de datos llena y un fallo tuyo parecen lo mismo. Cuatro comprobaciones los separan.

En resumen
- ¿Supabase está caído? Puede ser. Un proyecto pausado, un proyecto que ha llegado a un límite y un fallo en tu propia app producen la misma pantalla en blanco.
- La página de estado de Supabase responde solo a la primera pregunta. Tu lista de proyectos y las páginas de tu propio proyecto responden a las dos siguientes, y los códigos de estado de tu navegador resuelven la última.
- Una caída termina sin ti. Un proyecto pausado sigue parado hasta que lo reanudas, y pasado un año esa opción desaparece.
Tu app se abre y luego no carga nada. La lista que debería mostrar los pedidos de tus clientes está vacía, el botón de inicio de sesión se queda girando o la página se queda en blanco. Alguien ya te ha escrito por eso. Así que buscas «supabase está caído», porque tu app se hizo con Lovable o Bolt sobre un proyecto de Supabase, y Supabase es la única pieza de la maquinaria que conoces por su nombre.
Aquí es donde la respuesta habitual se equivoca. Dice: mira la página de estado de Supabase. Es el primer paso correcto, y responde a una pregunta de cuatro. Tu proyecto deja de responder a tu app cuando Supabase tiene una caída, y también cuando Supabase lo ha pausado, cuando ha llegado a un límite y cuando tu propia app está rota mientras Supabase responde bien a cada petición. Tus clientes ven la misma pantalla en blanco en los cuatro casos, y la página de estado solo sabe del primero.
Piénsalo como un apagón en casa. Lo primero que hace cualquiera es asomarse a la ventana para ver si los vecinos también están a oscuras. Esa es la página de estado, y te habla de la calle. No dice nada de la carta en el buzón, del cuadro eléctrico del pasillo ni de la bombilla.
Cada página de Supabase, cada incidente y cada cifra de este artículo se leyeron el 30 de septiembre de 2026.
¿Supabase está caído o es tu app?
Desde la pantalla no puedes saberlo, y por eso la búsqueda te deja atascado. Cuatro fallos distintos producen el mismo resultado:
- Supabase está caído. Algo ha fallado del lado de Supabase, normalmente en una región o en un servicio. Se ha ido la luz en toda la calle.
- Tu proyecto está pausado. Supabase detiene los proyectos gratuitos que llevan alrededor de una semana sin actividad. Te han cortado el suministro, y a nadie más de la calle le afecta.
- Tu proyecto ha llegado a un límite. Llenó su espacio y pasó a solo lectura, o se quedó sin capacidad y se fue volviendo lento hasta que las peticiones se quedaron sin respuesta, o tu organización superó un cupo y quedó restringida. Ha saltado un interruptor.
- Tu app está rota. Supabase responde, y algo de tu lado, una clave, las reglas de acceso de una tabla o un trozo de código, convierte esa respuesta en una pantalla en blanco. La luz llega bien. Es la bombilla.
Aquí y en adelante, tu proyecto es la base de datos de Supabase donde tu app guarda sus datos, junto con el inicio de sesión, el almacenamiento de archivos y la API que la rodean.
Las comprobaciones de abajo los recorren en orden, de la más barata a la más cara, y cada una confirma o descarta un fallo.
Cuatro comprobaciones, de la más barata a la más cara
Paso 1: ¿Supabase está caído para todos?
Abre status.supabase.com. Si un incidente abierto nombra tu región o un servicio que usa tu app, ya tienes la respuesta, y la sección sobre caídas, más abajo, te dice qué hacer con ella.
La página enumera los servicios de Supabase uno a uno: la base de datos y la API
a través de la que tu app la lee, Auth para el inicio de sesión, Storage para
los archivos subidos, Realtime, Edge Functions, el panel y unos cuantos más.
Debajo hay una lista de regiones. Una región es la parte del mundo en la que
funciona tu proyecto, y la tuya aparece en la página Infrastructure de los
ajustes del proyecto, con un código como eu-west-1. Un incidente en
us-east-1 no tiene nada que ver con un proyecto en Irlanda, así que busca tu
código antes de leer nada más.
Lo que la página no tiene es una fila para tu proyecto. Informa de los problemas
que afectan a suficientes proyectos como para anunciarlos, y los incidentes
reales suelen ser acotados. Los cincuenta más recientes, que llegan hasta el 15
de julio de 2026, incluyen uno que tumbó solo los proyectos alojados en un
conjunto concreto de hardware en eu-west-1, otro que dejó sin respuesta, tras
unas horas funcionando, a los proyectos del tamaño más pequeño, el del plan
gratuito, y otro sobre errores 401 en una parte de los proyectos nuevos que
siguió abierto 46 días.
Así que una página en verde te dice que Supabase no ha anunciado ningún problema. Tu proyecto puede estar caído por debajo, y de eso tratan las tres comprobaciones siguientes.
El panel tiene su propia fila y sus propios incidentes. El 1 de septiembre de 2026 nadie podía iniciar sesión en él, y una app puede seguir funcionando durante algo así.
Ya que estás en la página, suscríbete a las actualizaciones. Basta con una dirección de correo, y Supabase publica además el historial de incidentes como feed RSS.
Paso 2: ¿Tu proyecto está pausado?
Abre el panel de Supabase y mira tu lista de proyectos. Un proyecto con Paused junto al nombre lo detuvo Supabase, casi siempre un proyecto gratuito que pasó alrededor de una semana sin actividad, y seguirá detenido hasta que lo reanudes. Todo lo demás sobre la pausa, incluido el plazo de un año y qué hacer cuando la opción de reanudar ya no está, lo tienes en qué hacer cuando tu proyecto de Supabase está pausado.
Paso 3: ¿Tu proyecto ha llegado a un límite?
Fíjate en lo que todavía funciona. Cada límite rompe algo distinto, y el patrón te dice qué interruptor ha saltado.
Las páginas cargan y no se guarda nada. Eso es el modo de solo lectura. Un
proyecto gratuito pasa a solo lectura cuando su base de datos supera los 500 MB,
y uno de pago cuando su disco se llena más deprisa de lo que Supabase tiene
permitido ampliarlo. La lectura sigue funcionando, así que la app parece estar
bien hasta que alguien intenta registrarse, hacer un pedido o guardar un
formulario, y cada escritura vuelve con
cannot execute INSERT in a read-only transaction. La salida es más espacio,
pasándote a un plan superior o borrando datos. Qué apaga cada límite del plan
gratuito cubre las dos vías, y la guía de
tamaño de la base de
datos de Supabase trae
el SQL.
Todo va más lento y luego deja de responder. El proyecto se ha quedado sin margen. Su tamaño de cómputo fija cuánta memoria tiene y cuánto puede exigirle a su disco, y los tamaños más pequeños reciben un cupo diario para superar ese nivel, que Supabase llama Disk IO Budget. Cuando se agota, la propia lista de Supabase de lo que puede pasar incluye tiempos de respuesta que suben de forma notable y una instancia que deja de responder. El cupo se recarga al día siguiente, y la página Database Health, dentro de Observability, te muestra dónde estás.
Puede que recibas un correo diciendo que el proyecto «is running out of Disk IO Budget», o que veas en el panel un aviso de que está unhealthy, con el botón Restart project debajo. Toma el correo como una pista. Tras un incidente el 10 de septiembre de 2026, Supabase avisó a los dueños afectados de que el correo sobre el Disk IO que habían recibido ya no era válido: lo había provocado el propio incidente.
Todas las peticiones fallan con un 402. Tu organización ha quedado
restringida por la Fair Use Policy de Supabase, por seguir por encima de un cupo
tras su periodo de gracia o por una factura sin pagar, y la restricción suele
alcanzar a todos los proyectos de la organización. El 402 indica el motivo con
un código como exceed_db_size_quota u overdue_payment, y Supabase dice que
mientras dure puedes seguir accediendo a tus datos desde el panel. Pasarte a un
plan superior levanta al momento una restricción por uso; si no, se levanta
cuando empieza el siguiente ciclo de facturación.
Eso es el cuadro eléctrico. Las tres cosas ocurren dentro de tu propio proyecto, así que la página de estado no muestra ninguna.
Paso 4: pregúntale directamente a tu proyecto
Envíale una petición y lee la respuesta. Si Supabase responde con normalidad, el fallo está en tu lado de la conexión.
La versión más rápida no necesita herramientas. La dirección de tu proyecto se
parece a https://abcdefghijklmnopqrst.supabase.co, y la ristra de letras antes
de .supabase.co aparece en la barra de direcciones de tu navegador siempre que
tienes el proyecto abierto en el panel. Añade /rest/v1/ al final, pégalo en
una pestaña nueva y mira qué vuelve.
- Una línea de texto entre llaves que dice que no se encontró ninguna clave de API. Supabase está respondiendo en la dirección de tu proyecto. Te ha rechazado porque la pestaña no envió ninguna clave, que es lo correcto. El proyecto existe y no está pausado.
- «No se puede acceder a este sitio web» o «servidor no encontrado». La dirección no se resuelve. La página de ayuda de Supabase sobre ese error da los motivos habituales: un proyecto pausado, uno borrado o una dirección mal escrita.
- Una página de error con un número de los 500, o nada después de una larga espera. La dirección existe y el proyecto que hay detrás está en apuros. Vuelve al paso 3 y mira otra vez la página de estado.
La versión completa es la pestaña Network de tu navegador, que muestra las respuestas que recibe tu app con su propia clave. Abre tu app, pulsa F12, elige Network, recarga la página y escribe en el cuadro de filtro las letras de la dirección de tu proyecto. Cada petición a tu proyecto aparece con un código de estado, y el código es casi todo el diagnóstico. Los significados de abajo salen de la lista de códigos de estado de Supabase y de la API de base de datos que funciona allí:
| Estado | Qué significa | A dónde ir |
|---|---|---|
200 | Supabase respondió y devolvió algo | Tu app, más abajo |
401 o 403 | Supabase respondió y rechazó la clave, la tabla o la sesión | La sección siguiente |
402 | Tu organización está restringida | Paso 3 |
405 al guardar, mientras las lecturas reciben 200 | La base de datos está en solo lectura | Paso 3 |
540 | El proyecto está pausado | Paso 2 |
503, 544 o ninguna respuesta | El proyecto está en marcha y no da abasto | Paso 3, y luego un reinicio |
| fallida, con «name not resolved» | La dirección no existe en este momento | Paso 2, y luego revisa la dirección |
La fila que hay que buscar primero es la de 200. Si las peticiones de tu app a
Supabase vuelven con 200 y la pantalla sigue en blanco, Supabase ha hecho su
parte, y la bombilla es tuya. Puede que las reglas de una tabla no dejen ver
ninguna fila a este visitante, lo que llega como un 200 con una lista vacía.
Puede que la app apunte a un proyecto distinto del que estás mirando. O que el
código que dibuja la página se haya roto con lo que recibió, y eso es una
pregunta para tu builder, con la petición y su respuesta en la mano.
¿Por qué Supabase me da de repente errores 401?
Porque Supabase respondió y rechazó a quien preguntaba. Un 401 significa que la petición llegó a tu proyecto, así que la plataforma funciona. Lo que se rechazó es una de tres cosas, y el mensaje te dice cuál: haz clic en la petición en la pestaña Network y abre su Response.
- La clave. El mensaje dice
Invalid API keyoLegacy API keys are disabled. Tu app envía una clave que el proyecto ya no acepta. La claveanonantigua, una cadena larga que empieza poreyJ, deja de funcionar cuando alguien desactiva las claves heredadas en los ajustes del proyecto, y Supabase ha advertido que un proyecto pausado que se restaura desde el 1 de noviembre de 2025 vuelve sin ella. En palabras de la propia Supabase, los proyectos pausados que se restauran corren el riesgo de romperse porque no tendrán las claves heredadas. La solución es poner la clave publicable actual del proyecto, la que empieza porsb_publishable_, en los ajustes de entorno de tu builder. Los dos formatos de clave se comparan uno junto al otro. - La tabla. El mensaje dice
permission denied for table. La clave está bien, y esa tabla no se ha abierto a este tipo de visitante. Desde el 30 de octubre de 2026 una tabla nueva de Supabase empieza así, y la forma segura de abrirla tiene su propio artículo. - La sesión. Las páginas sin iniciar sesión funcionan, las personas que han iniciado sesión reciben errores 401 que van y vienen, y el mensaje suele mencionar un JWT, el token firmado que tu app guarda por cada persona con la sesión iniciada. Del 14 de agosto al 29 de septiembre de 2026, la página de estado de Supabase mantuvo un incidente titulado «401 errors due to JWT rejections»: una parte de los proyectos nuevos rechazaba sesiones que acababan de renovarse. La solución de Supabase, publicada el 29 de septiembre, es una versión nueva del proyecto que instalas tú, con el botón Upgrade project de la página General de los ajustes del proyecto.
Esa actualización deja el proyecto fuera de servicio mientras dura, y el panel te muestra una estimación de cuánto antes de que confirmes. La guía de actualización de Supabase recomienda hacer antes una copia de tus datos. En el plan gratuito nadie más la está haciendo, y hacer una desde el panel no requiere terminal.
¿Cómo reinicio un proyecto de Supabase?
Desde el panel: abre el proyecto, ve a Project Settings, luego a General, y pulsa Restart project en Project availability. La flecha junto al botón ofrece Fast database reboot, que reinicia solo la base de datos y acorta el tiempo sin servicio. En ambos casos, Supabase avisa de unos minutos sin servicio.
Un reinicio es la herramienta adecuada para un proyecto sobrecargado o marcado como unhealthy, y es lo que Supabase pidió a los dueños afectados tras el incidente del 10 de septiembre. Si el proyecto se queda pequeño para su trabajo, el problema vuelve, y la solución duradera es un tamaño de cómputo mayor o consultas más ligeras. Un proyecto pausado necesita Resume project, que está en el mismo sitio. Una base de datos llena sigue llena después de un reinicio, y una clave rechazada sigue rechazada.
No toques el botón mientras haya un incidente que mencione acciones sobre proyectos. El 4 de septiembre de 2026, los reinicios, las restauraciones y los cambios de tamaño de cómputo daban errores en todas las regiones, Supabase pidió que no se intentaran y durante un tiempo los desactivó por completo.
¿Qué puedes hacer durante una caída de Supabase?
Muy poco, y esperar es lo correcto. La caída le toca arreglarla a Supabase, y tu proyecto vuelve sin que lo toques.
Eso hace de la caída el único fallo de este artículo que se arregla esperando, y es la razón de que el paso 2 vaya antes que cualquier cosa que hagas aquí. Un apagón se espera. Un corte del suministro sigue ahí hasta que llamas a la compañía, y un proyecto pausado sigue parado hasta que lo reanudas, con un año en el reloj desde el día en que se detuvo.
Lo que sí merece la pena mientras esperas:
- Confirma que te afecta. Comprueba que el incidente nombra tu región o un servicio que usa tu app.
- Suscríbete a ese incidente, para que te llegue la actualización que anuncia su final.
- Avisa a tus usuarios. Una línea allí donde te busquen, diciendo que la app está afectada por una caída de su proveedor de base de datos y que volverá.
- Deja el proyecto en paz. Durante el incidente del 4 de septiembre, Supabase desaconsejó crear proyectos, cambiar configuraciones, reiniciar o cambiar el tamaño de cómputo hasta que se resolviera. Los proyectos en marcha siguieron funcionando mientras esas acciones fallaban.
Además, no hay nada que reclamar por el tiempo sin servicio salvo que estés en Enterprise. El compromiso de disponibilidad de Supabase, con créditos de servicio para un mes por debajo del 99,9 %, está pensado solo para clientes Enterprise.
Qué tener preparado antes de la próxima
Cuatro cosas, todas más fáciles un día en que no pasa nada:
- Tu región, apuntada junto a la dirección de tu proyecto, y una suscripción a la página de estado.
- Tu app con la clave publicable. Supabase retira las claves antiguas
anonyservice_roleantes de que acabe 2026, y una app que todavía envíe una empezará a acumular errores 401 cuando desaparezcan. - Una copia de tu base de datos fuera de tu cuenta de Supabase. Una caída, una pausa y una restricción ocurren todas dentro de Supabase, y una copia guardada en otro sitio queda fuera de su alcance. En el plan gratuito, Supabase no guarda ninguna copia por ti.
- Algo que note cuando tu app deja de responder y te avise antes de que tenga que hacerlo un cliente.
Dónde encaja Reeve
Reeve Monitor vigila la dirección que cargan tus visitantes. Reeve Care, además, se conecta a la base de datos de Supabase que hay detrás y guarda una copia de ella fuera de tu cuenta de Supabase.
- Monitor comprueba la dirección de tu app cada 60 segundos desde fuera, y te envía un correo cuando deja de responder y otro cuando vuelve. Además, repite cada hora nuestras nueve comprobaciones de seguridad, en hasta tres apps.
- Care se conecta él mismo a tu base de datos de Supabase para hacer una copia, a diario en Care y más a menudo en los planes superiores. Una noche en la que la base de datos no responde es una copia que no se pudo hacer, y recibes un correo que cuenta qué pasó.
- La copia vive fuera de tu cuenta de Supabase, cifrada, y se vuelve a leer antes de contar como válida, así que una pausa o una restricción dejan tu última copia buena donde puedes llegar a ella.
- Restaurar es un botón, y antes se toma una instantánea del estado actual, así que la restauración tiene su propio deshacer.
Lo que cubre cada plan está en la página de precios, y la copia, la comprobación y la restauración aparecen dibujadas paso a paso en la página de backups de Supabase.
Qué hacer ahora
Qué hacer
- Busca la región de tu proyecto en la página Infrastructure de sus ajustes y suscríbete a la página de estado de Supabase.
- Cuando tu app se quede en blanco, comprueba en este orden: la página de estado, si tu lista de proyectos dice Paused, si las páginas cargan mientras guardar falla, y los códigos de estado en la pestaña Network de tu navegador.
- Si el proyecto está pausado, reanúdalo hoy. Esperar solo gasta el año que tienes.
- Si las peticiones vuelven con 401, lee el mensaje antes de cambiar nada. Una clave, una tabla y una sesión tienen cada una su propia solución.
- Durante una caída de verdad, deja el proyecto en paz: nada de reinicios, restauraciones ni actualizaciones hasta que el incidente se resuelva.
- Pasa tu app a la clave
sb_publishable_y guarda una copia de tu base de datos fuera de Supabase, mientras nada esté roto.
Antes de cerrar esta pestaña, abre los ajustes Infrastructure de tu proyecto, apunta el código de su región junto a su dirección y suscríbete a la página de estado. Si la pantalla en blanco de hoy ha resultado ser una pausa, aquí tienes qué hacer a continuación.
Preguntas frecuentes
¿Supabase está caído ahora mismo?
Mira status.supabase.com, que es donde Supabase publica sus propios incidentes, servicio por servicio y región por región. Busca primero la región de tu proyecto: aparece en la página Infrastructure de los ajustes del proyecto, con un código como eu-west-1. Si nada en la página de estado nombra esa región o un servicio que use tu app, Supabase no ha anunciado ningún problema, y el siguiente sitio donde mirar es tu propio proyecto.
Mi app no funciona pero la página de estado de Supabase está en verde. ¿Y ahora qué?
Mira tu propio proyecto. Comprueba en la lista de proyectos del panel de Supabase si pone Paused, y después si el proyecto aparece como unhealthy, en solo lectura o restringido. Si todo eso parece normal, abre tu app, pulsa F12, elige la pestaña Network y recarga. Una petición a tu proyecto que vuelve con 200 significa que Supabase respondió, y el fallo está de tu lado.
¿Un proyecto de Supabase pausado es lo mismo que una caída?
No, y piden respuestas opuestas. Una caída es cosa de Supabase y termina cuando la arreglan, así que esperar es lo correcto. Una pausa es Supabase deteniendo tu proyecto, casi siempre uno gratuito que pasó una semana sin actividad, y nada cambia hasta que lo reanudas desde el panel. Tienes un año para hacerlo. Después, el panel te ofrece una descarga en su lugar, y volver a estar en línea exige un proyecto nuevo con una dirección nueva.
¿Por qué Supabase me da de repente errores 401?
Un 401 significa que Supabase respondió y rechazó a quien preguntaba. Puede que tu app envíe una clave que el proyecto ya no acepta, algo que pasa cuando se desactiva la clave anon antigua o cuando un proyecto pausado se restaura sin ella. Una tabla puede negarse con permission denied. O pueden rechazarse las sesiones: del 14 de agosto al 29 de septiembre de 2026 le pasó justo eso a una parte de los proyectos nuevos, y la solución es Upgrade project en la página General.
¿Cómo reinicio mi proyecto de Supabase?
Abre el proyecto en el panel de Supabase y ve a Project Settings y luego a General. En Project availability, Restart project lo reinicia todo, y la flecha de al lado ofrece Fast database reboot, que reinicia solo la base de datos con menos tiempo fuera de servicio. Cuenta con unos minutos sin servicio en ambos casos. Un reinicio ayuda a un proyecto sobrecargado o marcado como unhealthy. Un proyecto pausado necesita Resume, en la misma página, y una base de datos llena necesita espacio.
¿Puedo hacer algo durante una caída de Supabase?
Muy poco, y esperar es lo correcto. Comprueba que el incidente nombra tu región, suscríbete a sus actualizaciones y cuéntales a tus usuarios qué están viendo. Deja los reinicios, las restauraciones, las actualizaciones y los cambios de tamaño de cómputo hasta que se resuelva: en un incidente de toda la plataforma el 4 de septiembre de 2026, Supabase desaconsejó justamente eso. La garantía de disponibilidad con créditos de servicio solo cubre a los clientes Enterprise.