¿Es segura tu app de Supabase?
Supabase es la base de datos y el backend detrás de una enorme parte de las apps hechas con vibe coding. Es potente y seguro cuando está bien configurado — pero un par de ajustes deciden si tus datos son privados o están abiertos al mundo, y son fáciles de pasar por alto.
Reeve comprueba los que importan desde fuera, gratis, y explica lo que encuentra en lenguaje claro. Sin instalación, sin acceso a tu proyecto — solo miramos lo que ya es accesible, y nunca leemos tus datos reales.
Pega el enlace de tu app. Unos 20 segundos. Ve tu nota sin registrarte.
Qué puede salir mal de verdad con Supabase
Nada de esto significa que hayas hecho algo mal — son las brechas habituales cuando vas rápido. Esto es lo que vale la pena comprobar:
Row Level Security (RLS) desactivada
El RLS es la regla de Supabase sobre quién puede leer o cambiar cada fila de una tabla. Con la clave pública «anon» — que se supone que debe estar en tu app — cualquiera puede consultar tu base de datos directamente. El RLS es lo que le impide ver filas que no son suyas. Si está desactivado, una tabla puede ser totalmente legible, o incluso editable, por cualquiera. Es el ajuste más importante de Supabase, y Reeve lo comprueba contando filas, nunca leyéndolas.
Una clave service_role filtrada
Supabase te da dos claves. La clave «anon» es pública por diseño y segura en el navegador. La clave «service_role» salta todas tus reglas de seguridad y debe vivir solo en un servidor. Si alguna vez acaba en el código del front-end de tu app, alguien puede hacer cualquier cosa con tus datos. Reeve decodifica las claves que encuentra y te dice exactamente cuál está expuesta — la «anon» segura recibe una marca verde, la «service_role» es una alerta roja.
Buckets de almacenamiento públicos
Los archivos que la gente sube viven en «buckets» de Supabase Storage. Un bucket configurado como público significa que cualquiera puede listar y descargar lo que hay dentro — así que las subidas privadas pueden hacerse visibles para todos. Reeve comprueba si tus buckets son listables; nunca descarga los archivos de nadie.
Tu API abierta a cualquier sitio (CORS)
Supabase le da a tu base de datos una dirección web (vía PostgREST). Combinada con un ajuste de compartición demasiado permisivo, otro sitio web podría llamar a tus datos desde el navegador de un visitante. Reeve comprueba si tus endpoints responden a extraños y a otros sitios — sin usarlos nunca para cambiar nada.
Tablas y endpoints expuestos sin reglas
Cada tabla que creas es accesible a través de la API de Supabase — eso es por diseño, y el RLS debe protegerla. Pero una tabla nueva añadida con prisas, antes de fijar sus reglas, puede quedar brevemente (o de forma duradera) abierta. Reeve comprueba qué es realmente accesible desde fuera.
Claves o configuración dejadas en la app desplegada
Más allá de las propias claves de Supabase, las apps a menudo llevan otros ajustes y secretos en su código front-end o en un .env expuesto. Reeve lee el código cargado de tu app y comprueba si hay archivos de configuración accesibles, luego te dice qué valores son seguros de hacer públicos y cuáles no.
Qué es Reeve — y qué no
Reeve es una comprobación gratuita, de solo lectura y desde fuera — como un inspector que prueba las puertas sin entrar. Es rápida y detecta los errores comunes de alto impacto. No es una auditoría de seguridad completa, y una nota limpia no es garantía — significa que las puertas obvias están cerradas. Todo lo que hace Reeve es pasivo: cuenta filas en vez de leerlas, y nunca descarga tus archivos.
Supabase te da herramientas de seguridad reales — un Security Advisor y un linter de base de datos que señalan problemas de RLS y de exposición justo en el panel — y vale de verdad la pena usarlos. Lo que Reeve añade: la mayoría de quienes construyen sobre Supabase viven en su creador de apps, no en el editor SQL, y el asesor habla en lenguaje de desarrollador. Reeve comprueba toda tu app desde fuera — como un atacante llegaría a tus datos — y explica lo que encuentra en palabras sencillas. Y si prefieres no vigilarla tú mismo, podemos hacerlo nosotros.
¿Quieres que se gestione, no solo que se compruebe?
Reeve Care sigue vigilando tu app, respalda tus datos y te ayuda a arreglar cosas cuando se rompen — para que puedas seguir creando en vez de preocuparte.
Conoce Reeve CarePreguntas, respondidas con honestidad
¿Qué es el RLS de Supabase y realmente lo necesito?
El RLS (Row Level Security) decide quién puede ver o cambiar cada fila de tus tablas. Como tu app envía una clave pública «anon» que puede consultar la base de datos directamente, el RLS es lo que impide que los datos de un usuario sean visibles para todos. Sí — para cualquier tabla con datos reales, lo necesitas activado. Reeve comprueba si lo está, sin leer tus datos.
¿Es segura de exponer la clave anon de Supabase?
Sí — la clave «anon» está diseñada para vivir en tu front-end, y por sí sola solo hace lo que tus reglas RLS permiten. La clave que nunca debe exponerse es la «service_role», que ignora todas las reglas. Reeve decodifica las claves de tu app y te dice cuál es cuál.
¿Qué pasa si se filtra mi clave service_role?
La clave service_role salta todas las reglas de seguridad, así que cualquiera que la tenga puede leer, cambiar o borrar todos tus datos. Si está en tu código front-end, trátala como comprometida: rótala en el panel de Supabase y muévela a un servidor. Reeve marca una clave service_role expuesta como un problema crítico.
¿Puede Reeve comprobar mi Supabase sin la contraseña de mi base de datos?
Sí. Reeve solo usa lo que tu app ya expone públicamente — la misma clave anon y los mismos endpoints que usa el navegador de cualquier visitante. Nunca necesita la contraseña de tu base de datos, nunca inicia sesión como administrador y nunca lee ni descarga tus filas o archivos.
¿Creaste tu app en una herramienta concreta? Aquí tienes el mismo repaso honesto para:
Comprobación externa automatizada, no una auditoría completa. La ausencia de hallazgos no es garantía de seguridad.