Fundamentos de seguridad
¿Supabase cifra mis datos? Sí. Esto es lo que detiene
¿Supabase cifra los datos? Sí: AES-256 en reposo, TLS en tránsito, SOC 2 e ISO 27001. Qué cubre cada uno, y la fuga que ninguno de ellos detiene.

En resumen
- ¿Supabase cifra los datos? Sí. Cada proyecto está cifrado en reposo con AES-256 y en tránsito con TLS, en todos los planes, sin nada que activar.
- Supabase también tiene un informe SOC 2 Type 2 y un certificado ISO 27001. Puedes descargar los dos desde el plan Team en adelante, y HIPAA exige además un acuerdo firmado.
- Nada de eso decide a quién responde la base de datos. En 2.096 de las 3.680 apps de Supabase que pudimos revisar, una tabla le entregaba sus filas a un desconocido sin iniciar sesión.
Un cliente te escribe para preguntar si sus datos están cifrados. O un cliente más grande te manda un cuestionario de seguridad en una hoja de cálculo, y ahí están las filas que tiene todo cuestionario: cifrado en reposo, cifrado en tránsito, el informe SOC 2 de tu proveedor de alojamiento. Tu app funciona sobre Supabase porque Lovable o Bolt lo configuraron así, y hasta hoy nadie necesitaba que supieras qué significa nada de eso.
Entonces, ¿Supabase cifra tus datos? Sí. Todos, en todos los planes, y los certificados detrás de esa afirmación son reales.
La mayoría de las respuestas se equivoca al quedarse ahí, como si el cifrado decidiera quién puede leer tus datos. Decide algo más estrecho. Piensa en Supabase como un banco. El cifrado en reposo es la cámara acorazada, el cifrado en tránsito es el furgón blindado, y SOC 2 es el inspector que comprueba que los dos funcionan como dice el banco. Cada uno tiene que ver con alguien que nunca debió entrar. La regla de la ventanilla, la que dice de quién puede pedir el extracto un cliente, es otra cosa, y se escribe en tu proyecto.
Cada cifra de abajo se leyó en las páginas y la documentación de Supabase el 29 de septiembre de 2026.
¿Supabase cifra mis datos?
Sí. La página de seguridad de Supabase dice que todos los datos de sus clientes están cifrados en reposo con AES-256 y en tránsito con TLS, y no tienes que activar nada.
En reposo quiere decir en los discos. Tu base de datos se escribe en el almacenamiento de forma cifrada, así que una copia del disco sacada de las máquinas de Supabase es ilegible por sí sola.
En tránsito quiere decir en el camino entre tu visitante y Supabase. Tu app habla con Supabase a través de sus API web, para datos, inicios de sesión y archivos, y la guía de obligación de SSL de Supabase dice que cada una de esas API rechaza una conexión sin cifrar. La excepción es una conexión directa a la base de datos Postgres que hay debajo, la que podría abrir una herramienta de copias de seguridad o un servidor tuyo. Esas aceptan una conexión sin cifrar hasta que activas Enforce SSL on incoming connections en Database Settings. Los navegadores de tus visitantes nunca abren una.
El cifrado de columnas es la única capa que queda apagada. Mantiene un valor concreto, un número de teléfono por ejemplo, ilegible incluso dentro de la base de datos. Supabase documentaba una forma de hacerlo, y su página de pgsodium ahora desaconseja esa función, por su complejidad operativa y el riesgo de configurarla mal, y añade que el cifrado en reposo probablemente basta para SOC 2 y HIPAA. Para secretos como la clave API de un servicio externo existe Vault, que los guarda cifrados y los devuelve a través de una vista.
| Capa | Activa por defecto | Contra qué protege |
|---|---|---|
| En reposo, AES-256 | Sí, en todos los planes | Una copia del disco leída sin pasar por Supabase |
| En tránsito, TLS | Sí en cada API. En Postgres directo, cuando activas la obligación | Alguien que lee el tráfico entre una app y Supabase |
| Cifrado de columnas | No, y Supabase desaconseja la función que ofrecía | Un valor concreto leído por quien puede consultar su tabla |
| Vault | Para cada secreto que guardas en él | Un secreto legible en el disco o en un archivo de copia de seguridad |
¿De qué protege el cifrado de Supabase?
De cualquiera que llegue a tus datos sin pedírselos a la base de datos. Quien se lleva un disco, copia un archivo de copia de seguridad o escucha el tráfico entre un navegador y Supabase obtiene bytes revueltos y nada más.
Una petición que la base de datos decide responder es otra cosa. El cifrado en reposo trabaja por debajo de Postgres, así que la base de datos lee sus propios archivos en claro, para cada consulta que atiende. Qué consultas atiende lo fijan los permisos de cada tabla. En Supabase eso es la Row Level Security, la regla que dice qué filas puede leer cada visitante, y cada tabla necesita tenerla activada con una regla escrita para ella.
Esa es la ventanilla del banco. La cámara acorazada se abre para el cajero cada vez, porque el cajero trabaja para el banco. Si nadie dejó escrito de quién puede ver los extractos un cliente, el cajero entrega lo que le pidan, y el furgón blindado lo lleva, sellado todo el camino, a quien lo pidió.
La documentación de Supabase dice lo mismo de Vault, que sí cifra valores dentro de la base de datos: "cualquiera que tenga acceso a la vista tiene acceso a los secretos descifrados."
¿El cifrado impide que un desconocido lea mis tablas?
No, y medimos con qué frecuencia importa. En agosto de 2026 escaneamos 30.998 apps publicadas hechas con Lovable, Base44, Replit, v0 y Bolt. En 3.680 de ellas pudimos completar la comprobación que le pregunta a una base de datos de Supabase, sin iniciar sesión, si una tabla va a entregar sus filas. En 2.096, el 57 %, al menos una tabla lo hacía, y 394 de ellas tenían una tabla abierta con nombre de personas: users, profiles, customers, orders.
Cada una de esas bases de datos estuvo cifrada en reposo todo el tiempo, según la propia descripción de la plataforma, y cualquier desconocido que preguntara habría recibido las filas por TLS. Nada del cifrado falló, y no tuvo ningún papel en decidir quién recibía una respuesta.
La petición en sí es corriente. Es la que hace tu propia app para enseñarle sus
pedidos a un cliente con sesión iniciada, enviada sin la sesión: la clave
pública que debe estar en tu página, y un GET a /rest/v1/ con el nombre de
una tabla al final. Nuestro escaneo leyó cuántas filas devolvería cada tabla y
se detuvo ahí, sin descargar ninguna.
La medición completa explica de
qué es una parte ese 57 % y cuánto no pudimos ver.
¿Supabase cumple con SOC 2?
Sí. Supabase tiene un informe SOC 2 Type 2 de un auditor independiente, renovado cada año.
Un informe SOC 2 es el relato de un auditor sobre si los controles de seguridad de una empresa funcionaron como la empresa dice. Type 2 significa que se probaron durante todo un periodo, y el de Supabase va del 1 de marzo al 28 de febrero. Cubre seguridad, disponibilidad, integridad del procesamiento, confidencialidad y privacidad, en la base de datos, Storage, Auth, Realtime, las Edge Functions y la Data API, y la página de SOC 2 de Supabase marca dónde termina:
El cumplimiento de SOC 2 de Supabase no se transfiere a entornos fuera del producto de Supabase ni fuera del control de Supabase.
En el banco, es el informe del inspector sobre la cámara y los furgones. Las reglas de tus tablas quedan fuera, porque las escribes tú: el modelo de responsabilidad compartida de Supabase incluye la gestión de accesos y la aplicación de controles de seguridad entre las cosas de las que el cliente siempre es responsable.
De ahí se siguen dos cosas más. Si un cliente necesita que tu empresa cumpla con SOC 2, la página de SOC 2 de Supabase dice que un cliente en esa situación tiene que implantar los controles y pasar su propia auditoría. Y si Supabase es una plataforma sólida sobre la que construir es una pregunta aparte, con su propio artículo.
¿Cómo consigo el informe SOC 2 de Supabase?
Desde el panel de tu organización, en el plan Team o superior. Está en Legal Documents, junto al certificado ISO 27001 y al cuestionario de seguridad estándar de Supabase, y una organización en Free o Pro encuentra ahí un botón para mejorar de plan en su lugar.
Team empieza en $599 al mes, cuando Pro empieza en $25, así que conviene saber qué compra la diferencia. La documentación de Supabase dice que todos los proyectos se rigen por el mismo conjunto de controles de cumplimiento, así que un proyecto en Pro funciona sobre la misma plataforma auditada. Team añade los documentos, además del inicio de sesión único para el panel, copias de seguridad diarias guardadas 14 días donde Pro las guarda 7, y el acceso a HIPAA. Si un cliente pide el informe en sí, pregúntale si le basta la página pública de seguridad de Supabase antes de cambiar de plan por un PDF.
¿Supabase tiene la certificación ISO 27001?
Sí, según ISO/IEC 27001:2022, algo que Supabase anunció el 22 de abril de 2026.
ISO 27001 certifica un sistema de gestión: las políticas, las evaluaciones de riesgo y los procesos con los que una empresa protege la información que guarda. Un auditor acreditado emite el certificado por tres años y vuelve cada año entre medias para comprobar que el sistema sigue funcionando. En el banco, es el inspector que revisa cómo se deciden y se mantienen al día los procedimientos de seguridad. El anuncio de Supabase describe SOC 2 como ampliamente aceptado en Norteamérica e ISO 27001 como ampliamente aceptado en Europa, Asia y el sector público. El certificado está en la misma sección Legal Documents, en los mismos planes.
¿Supabase cumple con HIPAA?
Puede cumplir para tu proyecto, una vez que firmas un Business Associate Agreement con Supabase y pagas su add-on de HIPAA. No es automático, y la página de SOC 2 de Supabase dice que SOC 2 no lo sustituye.
Un Business Associate Agreement, o BAA, es el contrato escrito que la ley sanitaria de Estados Unidos exige antes de que una empresa pueda tratar información de salud protegida en tu nombre. Supabase firma uno desde el plan Team. El add-on no tiene precio publicado: envías una solicitud, Supabase responde con el precio y el proceso, y una organización en Free o Pro que la solicite igualmente tiene que pasar a Team cuando se apruebe.
La firma es donde empieza tu parte. El modelo de responsabilidad compartida de Supabase enumera lo que tiene que hacer un cliente de HIPAA, y estos son los puntos que el dueño de una app tiene menos probabilidades de conocer:
- Marcar el proyecto como proyecto HIPAA, y actuar sobre lo que el Security Advisor señale de él.
- Activar el inicio de sesión en dos pasos en todas las cuentas de la organización de Supabase.
- Activar la recuperación a un punto en el tiempo, que necesita al menos el add-on de cómputo Small.
- Activar la obligación de SSL y las restricciones de red.
- Mantener los datos de salud fuera de los buckets de almacenamiento públicos.
El cifrado en reposo y en tránsito también está en esa lista, y es el único punto que Supabase ya ha hecho.
¿Supabase cumple con el RGPD?
Supabase da soporte a apps que cumplen el RGPD y aporta las dos piezas que solo Supabase puede aportar. Que tu app cumpla depende de lo que haga con los datos de las personas.
La primera pieza es la ubicación. Eliges una región al crear un proyecto, y una región concreta de la UE mantiene ahí tu base de datos, Auth y Storage. Elige la región por su nombre, porque la opción general Europa de Supabase también incluye Londres y Zúrich. La segunda es el Data Processing Addendum, el contrato de encargo de tratamiento que el RGPD exige entre tú y una empresa que trata datos personales por ti. El de Supabase forma parte de sus condiciones de servicio, así que cada organización ya tiene uno.
El resto le corresponde a tu app: por qué recoges cada campo, cómo dan su consentimiento las personas, quién puede leerlo y cómo lo borras cuando te lo piden. La página del RGPD de Supabase dice claramente que elegir una región no hace por sí solo que una aplicación cumpla. Lo que tu app debe según la ley es una pregunta para un abogado.
¿Cómo respondo al cuestionario de seguridad de un cliente?
Divídelo en dos montones antes de escribir nada. Algunas filas preguntan por la plataforma de Supabase y se responden con los documentos de Supabase. Las otras preguntan por tu proyecto, y eres la única persona que puede responderlas.
| El cuestionario pregunta | Quién responde | Dónde está la respuesta |
|---|---|---|
| ¿Los datos están cifrados en reposo? | Supabase | AES-256, en la página de seguridad de Supabase |
| ¿Los datos están cifrados en tránsito? | Supabase | TLS en cada API, y en las conexiones directas a Postgres cuando activas la obligación de SSL |
| ¿Tu proveedor tiene SOC 2 o ISO 27001? | Supabase | Los dos, con los documentos descargables en Team o Enterprise |
| ¿Tienes un DPA con tus encargados del tratamiento? | Supabase | Forma parte de las condiciones de servicio de Supabase |
| ¿Dónde se guardan los datos? | Tú | La región que elegiste al crear el proyecto |
| ¿Con qué frecuencia se hace copia de seguridad? | Tu plan | Nada automático en Free, a diario en Pro. Qué guarda cada plan |
| ¿Quién puede leer qué registros? | Tú | La política de Row Level Security de cada tabla |
| ¿Dónde se guardan las credenciales? | Tú | La clave secreta solo en un servidor. La clave publicable está hecha para ser pública |
| ¿Quién tiene acceso de administración? | Tú | Los miembros de tu organización de Supabase, con verificación en dos pasos |
Las filas de Supabase se copian tal cual de sus documentos. Las tres últimas son las que el cliente quería averiguar al mandarte el cuestionario, y para responderlas necesitas tu propio proyecto abierto delante.
¿Qué le digo a un cliente que pregunta quién puede leer los datos?
El estado de tus políticas, tabla por tabla, y la fecha en que las revisaste por última vez. "Los datos están cifrados" responde a una pregunta sobre discos robados, y un cliente que pregunta por el acceso está preguntando por la ventanilla.
Una respuesta clara nombra las tablas que guardan datos personales y dice que
cada una tiene la Row Level Security activada, con una política que ata cada
fila a la persona con sesión iniciada a la que pertenece. Dice cuándo
comprobaste por última vez desde fuera, como visitante sin sesión, que esas
tablas no devolvían nada. Si una tabla es pública a propósito, una lista de
productos o artículos publicados, también lo dice. Después, la parte de
administración: quién puede abrir tu panel de Supabase, con verificación en dos
pasos, y dónde vive la clave secreta. Esa clave se llama service_role en los
proyectos más antiguos y sb_secret_… en los más nuevos, y su sitio es un
servidor.
Para conocer el estado de tus tablas, empieza por el Security Advisor de tu panel de Supabase, que enumera cada tabla con la Row Level Security desactivada. Una tabla puede pasar esa comprobación y seguir abierta, por una política que deja entrar a todo el mundo. Los cuatro estados en que puede estar una tabla muestran cómo distinguirlos, y hay una guía en lenguaje sencillo para apps de Supabase.
Pon por escrito solo lo que hayas comprobado. Si todavía no has leído la política de una tabla, da la fecha en que lo harás.
Cómo comprueba Reeve la respuesta desde fuera
Las filas que un cuestionario te deja a ti tratan de quién recibe una respuesta. Reeve le pregunta a tu app publicada lo mismo que le preguntaría un desconocido y te dice qué tablas respondieron.
- El escaneo gratuito le pregunta a cada tabla que nombra tu app cuántas filas recibiría un visitante sin sesión, lee el número y se detiene sin descargar ninguna fila. Unos 20 segundos, sin cuenta: escanea tu app.
- Reeve Monitor vuelve a pasar las nueve comprobaciones cada hora en hasta tres apps y te escribe el día en que tu nota empeora, así que una tabla que tu builder añada después de devolver el cuestionario se revisa en menos de una hora.
- Care hace las mismas comprobaciones y guarda una copia de tu base de datos de Supabase fuera de tu cuenta de Supabase, tomada con una programación y releída antes de contar, lo que responde a la fila de copias de seguridad. Cada copia se cifra con AES-256-GCM con una clave que pertenece solo a tu cuenta, y nuestra página legal explica cómo se guardan esas claves. Cómo se toma una copia y cómo se restaura.
Qué cubre y cuánto cuesta cada plan está en la página de precios.
Qué hacer ahora
Qué hacer
- Responde a las filas de cifrado con la página de seguridad de Supabase: AES-256 en reposo y TLS en tránsito, en todos los planes, sin nada que activar.
- Si un cliente necesita el informe SOC 2 o el certificado ISO 27001 en sí, eso significa el plan Team. Descarga los dos desde Legal Documents en el panel de tu organización.
- Si tu app guarda datos de salud, firma el BAA y completa la lista de HIPAA de Supabase antes de meter nada de eso.
- Responde a las filas de acceso desde tu propio proyecto. Abre el Security Advisor y después lee la política de cada tabla que guarda personas.
- Comprueba el resultado desde fuera, como visitante sin sesión, y pon la fecha junto a tu respuesta.
La mitad del cuestionario que trata del cifrado ya tiene respuesta. Antes de devolverlo, escanea tu app y mira cuáles de tus tablas le responden hoy a un desconocido.
Preguntas frecuentes
¿Supabase cifra mis datos en reposo?
Sí. Supabase cifra todos los datos de sus clientes en reposo con AES-256 y en tránsito con TLS, en todos los planes, sin nada que tengas que activar. Lo que no añade por defecto es una segunda capa sobre columnas concretas dentro de la base de datos, y Supabase ahora desaconseja la función de cifrado de columnas que antes documentaba. Para secretos como la clave API de un servicio externo ofrece Vault.
¿Supabase cumple con SOC 2?
Sí. Supabase tiene un informe SOC 2 Type 2 de un auditor independiente, renovado cada año sobre un periodo de auditoría que va del 1 de marzo al 28 de febrero. Cubre la plataforma Supabase. Supabase afirma que ese cumplimiento no se extiende fuera de su producto, y los ajustes dentro de tu propio proyecto, como quién puede leer cada tabla, siguen siendo tu responsabilidad.
¿Cómo consigo el informe SOC 2 de Supabase?
Descárgalo desde Legal Documents en el panel de tu organización. Está disponible para organizaciones en el plan Team, desde $599 al mes, y en Enterprise. El certificado ISO 27001 y un cuestionario de seguridad estándar están en el mismo sitio. En Free o Pro esa página te ofrece una mejora de plan en su lugar.
¿Supabase cumple con HIPAA?
Puede cumplir para tu proyecto, y no es automático. Necesitas un Business Associate Agreement firmado y el add-on de HIPAA de pago, ambos desde el plan Team, y Supabase dice que SOC 2 no sustituye a ninguno de los dos. Después marcas el proyecto como proyecto HIPAA y activas lo que Supabase enumera para él, incluidos el inicio de sesión en dos pasos, la recuperación a un punto en el tiempo, la obligación de SSL y las restricciones de red.
¿El cifrado me protege de una tabla mal configurada?
No. El cifrado protege los datos de quien llega al disco o al tráfico sin pasar por la base de datos. Una petición que la base de datos decide responder se descifra para quien la envió, y qué peticiones reciben respuesta lo fija la Row Level Security de cada tabla. En agosto de 2026 encontramos al menos una tabla abierta a un desconocido en 2.096 de las 3.680 apps de Supabase que pudimos revisar.
¿Qué le digo a un cliente que pregunta si sus datos están cifrados?
Que sí, con el detalle: AES-256 en reposo y TLS en tránsito, aplicados por Supabase a cada proyecto, con un informe SOC 2 Type 2 y una certificación ISO 27001 detrás. Luego responde a la pregunta de fondo, que es quién puede leerlos. Nombra las tablas con datos personales, la política de Row Level Security de cada una y la fecha en que comprobaste por última vez, desde fuera, que un visitante sin sesión no recibe nada.