Noções de segurança
O Supabase é seguro? É. Seu projeto é outra pergunta
O Supabase é seguro? A plataforma é auditada, criptografada e passa por pentests. A documentação deles diz onde isso termina e começam suas configurações.

Em resumo
- O Supabase é seguro? A plataforma é: SOC 2 Type 2, ISO 27001, AES-256 em repouso, TLS em trânsito e testes de invasão regulares.
- A própria documentação SOC 2 do Supabase diz que essa conformidade termina na borda do produto deles. Suas tabelas, suas chaves e seus buckets de Storage ficam do outro lado dessa linha.
- Escaneamos 30.998 apps no ar em agosto de 2026. Em 2.096 dos 3.680 que conseguimos checar, uma tabela respondeu a um estranho, numa plataforma que funcionava exatamente como foi projetada.
Alguém te disse que o Supabase não serve para dados reais de usuários. Outra pessoa te disse que ele está por trás de metade dos apps de que você ouviu falar este ano. Os dois estavam confiantes, e nenhum dos dois tinha aberto o seu app.
Aqui está a parte que guia após guia erra: "o Supabase é seguro" e "o meu projeto Supabase é seguro" são respondidas por duas pessoas diferentes. O Supabase responde a primeira, e responde bem. A segunda é sua, quer alguém tenha te avisado que ela foi passada adiante, quer não.
O Supabase é seguro?
É. Auditores de fora examinaram a plataforma, e as certificações dela estão registradas.
O Supabase tem conformidade SOC 2 Type 2 e certificação ISO 27001. Os dados de clientes são criptografados em repouso com AES-256 e em trânsito com TLS. Há uma oferta HIPAA para dados de saúde, que precisa de um add-on e de um acordo assinado. Eles fazem testes de invasão regulares com especialistas de fora, e publicam tudo isso na página de segurança deles.
Pense nisso como um prédio. A fundação aguenta, as portas corta-fogo funcionam, há um porteiro na entrada, e na parede há um certificado de alguém que veio conferir. É de verdade isso que você está comprando.
O seu projeto é um apartamento dentro desse prédio.
O que esse certificado cobre de fato?
O prédio. O Supabase escreve a fronteira em uma frase só, na própria documentação SOC 2 deles:
A conformidade SOC 2 do Supabase não se transfere para ambientes fora do produto Supabase ou fora do controle do Supabase.
A mesma página acrescenta que os dados do lado do cliente dessa fronteira são responsabilidade do cliente, e o modelo de responsabilidade compartilhada deles define qual lado é qual. O Supabase cuida da infraestrutura, do sistema operacional, das atualizações do Postgres e do monitoramento da plataforma. Do seu lado ficam a sua conta e quem tem acesso a ela, os seus dados, os segredos do seu banco e as chaves de API, e o Row Level Security, que essa mesma página recomenda que você sempre aplique.
Esse último item é este artigo inteiro. Row Level Security é a regra em cada tabela dizendo quem pode ler quais linhas. Ela fica desligada até alguém ligar, e ligar acontece dentro do seu projeto, numa página que talvez você nunca tenha aberto.
O certificado é do prédio. A única coisa que a plataforma faz a respeito dos apartamentos é apontar as portas: o Security Advisor no seu painel nomeia cada tabela com a regra desligada, e deixa a decisão com você.
Então por que tantos apps Supabase vazam dados?
Porque tudo o que está do seu lado dessa linha continua funcionando perfeitamente enquanto está escancarado.
Em agosto de 2026 escaneamos 30.998 apps no ar feitos com Lovable, Base44, Replit, v0 e Bolt. Em 3.680 deles conseguimos concluir a checagem que pergunta a um banco, sem login nenhum, se ele vai entregar linhas. 2.096 disseram sim em pelo menos uma tabela. O Storage contou a mesma história por outro ângulo: dos 27.269 apps que conseguimos checar, 792 tinham um bucket que um estranho podia listar.
Nada disso foi uma falha do Supabase. Cada uma dessas respostas veio de um banco atualizado e criptografado numa plataforma certificada, fazendo exatamente o que o próprio projeto tinha mandado. O prédio estava bem. As portas de dentro estavam abertas.
Acontece por causa da ordem em que as coisas são construídas. Seu app funciona desde o primeiro dia, e funciona com as regras escritas ou sem elas, então não existe um momento em que algo quebra e faz você ir olhar. A medição completa explica quanto disso conseguimos ver e quanto não conseguimos.
Se você quer a resposta para o seu app em vez de para a plataforma, nosso scan gratuito faz a mesma requisição anônima de fora e diz quais das suas tabelas responderam. Uns 20 segundos, sem conta: escanear seu app.
O Supabase serve para produção?
Serve, e o que você tem que fazer é pouco, porque o Supabase já fez a metade longa.
| Assunto | Quem cuida | O que significa para você |
|---|---|---|
| Patches de servidor, upgrades do Postgres, sistema | Supabase | Nada a fazer |
| Criptografia em repouso e em trânsito | Supabase | Nada a fazer |
| Segurança física, segurança de rede, pentests | Supabase | Nada a fazer |
| Backups do seu banco | Supabase | Diários no plano pago, e nenhum no gratuito. Veja em qual você está |
| Quais linhas um visitante pode ler | Você | Uma política de Row Level Security em cada tabela com dados reais |
| Qual chave foi parar no seu app | Você | A chave publicável pertence ali. service_role e sb_secret_ nunca |
| Quais arquivos um estranho pode listar | Você | A marcação de público em cada bucket, separada das regras das suas tabelas |
| Quem consegue entrar na sua conta do Supabase | Você | Uma senha que mais ninguém tem, e o segundo fator na conta |
Cada linha da metade de baixo é uma configuração, e cada configuração são alguns minutos num painel. A plataforma chega pronta para produção. A configuração chega no estado em que o seu builder a deixou.
Como eu checo o meu próprio projeto?
Três lugares, e nenhum deles exige que você leia uma linha de SQL.
Abra o Security Advisor no seu painel do Supabase. Ele lista cada tabela com o Row Level Security desligado, que é a versão mais crua desse problema, e o Supabase é bom em sinalizar isso. Um projeto com essa lista vazia resolveu a primeira pergunta.
Depois leia a política de qualquer tabela que guarde pessoas. O Advisor não consegue decidir se uma política permissiva foi de propósito, porque num catálogo de produtos ela estaria certa. Uma tabela pode ter a chave ligada, uma política válida e um visto verde no painel, e mesmo assim entregar suas linhas a qualquer um que pergunte; os quatro estados em que uma tabela pode estar mostram como reconhecer o seu.
Depois olhe o Storage. Buckets têm configurações próprias e as regras das suas tabelas não chegam até lá, então um banco bem fechado não diz nada sobre os arquivos que seus usuários subiram.
Há uma quarta pergunta que o painel não consegue responder: qual chave foi realmente parar no seu app. A página de configurações lista as chaves que o seu projeto tem, e o seu app é o único lugar que registra qual delas entrou. Ler a chave na sua própria página no ar é coisa de dois minutos, ou nosso scan gratuito lê para você junto com tudo acima: escanear seu app.
O que fazer agora
O que fazer
- Pare de perguntar se o Supabase é seguro. Ele é, com um relatório SOC 2 Type 2, ISO 27001, criptografia AES-256 em repouso e testes de invasão regulares por trás da afirmação.
- Leia a fronteira com as palavras deles. A conformidade cobre o produto Supabase, e suas políticas de Row Level Security, suas chaves e seus buckets ficam do seu lado.
- Abra o Security Advisor primeiro. Custa um minuto e responde a versão mais crua da pergunta.
- Leia a política de cada tabela que guarde pessoas, porque uma política permissiva aparece no painel como uma tabela protegida.
- Cheque o Storage separado das suas tabelas. Os dois têm configurações diferentes e um banco rígido não diz nada sobre os seus arquivos.
Se você preferir percorrer tudo como uma lista, o checklist de segurança de 10 minutos cobre isso junto com as outras configurações que vale fechar num app recém-lançado, e existe uma explicação em linguagem simples para apps Supabase.
Percorrer essa lista é uma noite, e a resposta que ela te dá é verdadeira na noite em que você faz. Manter essa resposta verdadeira é a parte que não cabe em uma noite, e foi para isso que construímos o Reeve Care: ele repete essas mesmas checagens no seu app numa programação e te escreve quando uma delas começa a responder diferente. O que ele vigia e quanto custa.
O Reeve guarda uma cópia do seu banco Supabase
Fora da conta de onde ela veio, numa programação, e verificada antes de contar. A primeira dessas três é a que os backups do próprio Supabase não conseguem fazer por você.
O Supabase tira uma cópia diária no plano pago e nenhuma no gratuito, e nos dois casos essa cópia vive dentro do projeto de onde foi tirada. É a ferramenta certa para a tarde em que você quebra seus próprios dados. Ela fica fora de alcance no dia em que o problema é a própria conta: um pagamento que falha, uma exclusão, um login em que ninguém mais entra.
O Reeve Care guarda uma cópia em outro lugar. Tirada na programação que seu plano define, criptografada antes de sair da máquina que a produziu, e relida e conferida antes de contarmos como backup, para que a data no seu painel seja a data em que uma cópia foi comprovadamente existente e não a data em que um job começou. Ela cobre o seu banco Supabase, e os arquivos que seus usuários subiram assim que você os conecta.
Uma restauração faz três coisas em volta da reposição em si. Ela confere se a cópia ainda cabe no seu banco antes de devolver uma única linha, tira primeiro um snapshot de segurança do que está lá agora, e depois prova que o banco aceita escrita escrevendo nele, porque uma restauração que te deixa em somente leitura não terminou. Você também pode baixar qualquer cópia que a gente tenha e ir embora com ela.
Cada checagem desta página diz onde o seu app está hoje. Os backups são para o dia em que alguma coisa já deu errado. O que o Reeve copia no Supabase, com que frequência, e o que uma restauração faz.
Perguntas frequentes
O Supabase é seguro o bastante para dados reais de clientes?
É. O Supabase tem conformidade SOC 2 Type 2 e certificação ISO 27001, criptografa dados de clientes em repouso com AES-256 e em trânsito com TLS, e faz testes de invasão regulares. O que isso não diz é se as regras dentro do seu próprio projeto deixam um estranho ler suas tabelas, porque essa configuração pertence ao seu projeto e não à plataforma.
O Supabase tem conformidade SOC 2?
Tem, SOC 2 Type 2. Clientes Enterprise e Team podem pedir o relatório pelo painel. O escopo é o produto Supabase em si: a infraestrutura deles, os controles deles, o monitoramento deles.
O relatório SOC 2 do Supabase cobre o meu app?
Não, e o Supabase diz isso por escrito. A documentação SOC 2 deles afirma que a conformidade não se transfere para ambientes fora do produto Supabase ou fora do controle do Supabase, e que os dados do lado do cliente dessa fronteira são responsabilidade do cliente. Suas políticas de Row Level Security, suas chaves de API e suas configurações de Storage estão todas do seu lado.
O Supabase serve para produção?
Serve, e o trabalho do seu lado é curto. Ligue o Row Level Security em cada tabela com dados reais e escreva uma política que nomeie uma condição, mantenha a chave secreta fora de tudo o que seus visitantes baixam, e veja quais buckets de Storage estão marcados como públicos. São essas três configurações que decidem se um estranho chega aos seus dados, e é por elas que começamos quando escaneamos um app.
O Supabase tem conformidade HIPAA?
O Supabase oferece conformidade HIPAA, e ela não vem ligada sozinha. Exige o add-on de HIPAA e um Business Associate Agreement assinado, e a documentação deles é explícita em que SOC 2 não substitui isso. Informações de saúde protegidas também trazem regras sobre onde você pode colocá-las, entre elas a instrução de não guardá-las em buckets públicos de Storage.
O Supabase é mais seguro do que fazer meu próprio backend?
Nas partes que o Supabase cuida, quase com certeza. Aplicar patches em servidores, atualizar o banco, criptografar em repouso, segurança de rede e um regime de acesso auditado são coisas que quem trabalha sozinho raramente faz com o mesmo cuidado. As partes que continuam suas são as mesmas nos dois casos, e com um backend próprio existe mais uma: o código entre o seu app e o seu banco.