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.