← Volver al blog
SeguridadEquipo de Scanaris · 2 min de lectura · 12 de julio de 2026

Seguridad en Supabase: lo que tienes que revisar antes de lanzar

Supabase te da una base de datos y una API en minutos, y ese es justo el peligro: la API queda expuesta desde el primer momento. Si no configuras la seguridad, cualquiera con tu clave pública puede leer y escribir tus tablas. Esto es lo que hay que revisar.

RLS activado en TODAS las tablas

Row Level Security es la barrera principal de Supabase. Sin ella, la clave anon puede consultar tablas enteras desde el navegador. El fallo típico del vibe coder es crear una tabla nueva rápido y olvidar activar RLS.

Revisa tabla por tabla en el panel: si alguna aparece sin RLS, está abierta al público. No basta con activarlo; una tabla con RLS activo pero sin policies deniega todo, y una con una policy demasiado permisiva no protege nada.

service_role frente a anon

La clave anon es pública y va en el frontend: está pensada para que RLS la controle. La clave service_role se salta RLS por completo y tiene acceso total. Nunca, jamás, debe aparecer en el navegador ni en una variable NEXT_PUBLIC_.

Úsala solo en el servidor, en funciones edge o backends de confianza. Si sospechas que se ha filtrado, rótala de inmediato desde el panel.

Policies que reflejan de verdad quién puede qué

Una policy como true para todos deja la tabla abierta aunque RLS esté activo. Escribe policies concretas: que un usuario solo lea y edite sus propias filas, normalmente comparando auth.uid() con la columna de propietario. Separa las reglas por operacion (select, insert, update, delete): a veces quieres permitir leer pero no borrar.

Storage: los buckets también tienen reglas

El almacenamiento de archivos usa sus propias policies. Un bucket público sirve cualquier archivo por URL a quien la tenga. Decide qué buckets son públicos de forma consciente y protege el resto con policies basadas en el usuario. Sube documentos privados a buckets privados, no a uno público con nombres difíciles de adivinar.

Secretos y claves fuera del frontend

Además de la service_role, revisa que no haya claves de terceros (Stripe, correos, IA) incrustadas en el JavaScript del cliente. La IA a veces las coloca ahí para que algo funcione rápido, y quedan visibles para siempre.

Scanaris revisa tu Supabase por ti

Scanaris incluye una auditoría opcional de Supabase que comprueba si tus tablas tienen RLS y detecta claves expuestas en el frontend. Es una comprobación de solo lectura sobre lo que ya es público, y cada hallazgo trae un prompt listo para pegar en tu IA. Pásalo antes de lanzar y sabrás si dejaste alguna puerta abierta.

¿Y tu web, cómo va?

Pásale Scanaris y compruébalo en 30 segundos, gratis.

Escanear mi web

Checks relacionados

Guías de seguridad por stack