Todos os conteúdos

8 min · publicado em 10 de jul. de 2026

Checklist de segurança para Supabase e RLS

Uma revisão prática de políticas, chaves e isolamento de dados antes de publicar um app com Supabase.

Por Leonardo Soledade · consultor de produto e software

RLS precisa estar ligada e testada

Row Level Security não é apenas uma configuração marcada no painel. Cada tabela exposta pela API precisa de políticas coerentes com os perfis do produto. O teste mais importante é tentar acessar o dado de outro usuário, não apenas confirmar que o próprio usuário consegue ver o seu.

Chaves têm papéis diferentes

A chave pública foi criada para uso no cliente quando RLS protege os dados. A service role ignora essas políticas e nunca deve ser entregue ao navegador. Se ela apareceu no bundle, no histórico do Git ou em um print público, trate como segredo comprometido e faça rotação.

  • Procure secrets no código e no histórico
  • Separe variáveis públicas e privadas
  • Restrinja operações administrativas ao servidor
  • Revogue e substitua credenciais expostas

Autenticação não é autorização

Saber quem está conectado não prova que essa pessoa pode executar qualquer operação. Verifique propriedade do recurso, papéis administrativos e mudanças de estado também no banco ou no servidor, não apenas escondendo botões na interface.

Funções e Storage também entram na revisão

Buckets, Edge Functions e webhooks podem abrir caminhos que as políticas das tabelas não cobrem. Valide tipo e tamanho de arquivos, autentique chamadas e registre operações sensíveis.