Segurança//4 min

Garanta que Cada Cliente Veja Apenas as Próprias Informações

Um guia para iniciantes separarem os registros dos clientes em um app criado com IA, testarem as regras com duas contas e revisarem mudanças.

antes de começar

Entrar na conta identifica o cliente, mas cada item salvo ainda precisa de regras sobre quem pode vê-lo ou alterá-lo.

Entenda a separação que seus clientes esperam

em palavras simples

Quem entra na própria conta deve receber somente as informações pessoais ou da equipe aprovada.

Imagine que seu app guarda agendamentos, pedidos, anotações, mensagens ou dados de muitas pessoas. Cada cliente espera ver apenas os próprios itens depois de entrar na conta. Essa separação precisa funcionar em todos os lugares: na tela principal, nos resultados da busca, em um item aberto por um endereço salvo e quando o app carrega informações sem mostrar uma nova tela. Esconder os itens dos outros clientes em uma única tela não basta. O local que guarda os dados deve conferir quem está pedindo sempre que algo for visto ou alterado.

O Supabase consegue fazer essa conferência em cada registro salvo. O nome técnico é Row Level Security, muitas vezes abreviado como RLS. Nesse nome, row significa um registro, como um pedido ou uma anotação. Quando a proteção está configurada corretamente, o Supabase compara a conta conectada com o dono daquele registro antes de permitir uma ação. Assim, a separação continua valendo mesmo quando a ferramenta de IA adiciona uma tela ou uma busca.

  • ▸Defina o dono de cada tipo de informação salva.
  • ▸Marque cada item como pessoal, compartilhado com uma equipe específica ou disponível apenas para funcionários aprovados.

risco comum

A tela principal mostra somente os pedidos do cliente atual, mas os pedidos salvos não têm uma regra de dono. Uma busca criada depois pode acabar trazendo os pedidos de todos os clientes.

o que fazer agora

Faça um inventário das tabelas e áreas de arquivos. Em cada uma, escreva quem pode ver, criar, alterar e apagar o conteúdo.

peça isto à sua IA

Revise meu projeto no Supabase como um app com vários usuários. Primeiro, liste todas as tabelas e áreas de arquivos que guardam informações de clientes ou da empresa. Em linguagem simples, diga quem deve poder ver, criar, alterar e apagar cada tipo de item. Depois, identifique tudo que não tenha um dono ou uma regra clara de compartilhamento. Ainda não mude o projeto; mostre primeiro as regras propostas.

Ligue cada item salvo à pessoa certa

em palavras simples

Cada item salvo precisa ter uma ligação confiável com a pessoa ou equipe que pode usá-lo.

Para informações pessoais, todo registro salvo deve conter a identidade da conta dona dele. Essa identidade deve vir da conta conectada naquele momento. Ela não deve vir de um nome, email ou número de dono enviado por uma página, pois a pessoa pode alterar esses campos ou a ferramenta de IA pode ligá-los de forma errada. Quando alguém cria uma anotação, um pedido ou uma informação de perfil, o app deve associar automaticamente o item à conta conectada.

Informações compartilhadas precisam de uma organização um pouco diferente. Um projeto pode pertencer a um espaço de trabalho com várias pessoas. Mantenha uma lista protegida indicando quais contas pertencem a cada grupo e o que cada pessoa pode fazer. O nome técnico de uma regra salva que decide se uma ação é permitida é política de banco de dados. Uma boa política tem uma explicação simples: a pessoa é dona do registro, participa do grupo aprovado ou possui uma função interna claramente definida.

  • ▸Use a identidade da conta conectada como dona, sem confiar em um campo editável do formulário.
  • ▸No trabalho compartilhado, confirme a participação na equipe correta antes de entregar ou alterar um item.

risco comum

Um formulário envia um número de dono ao salvar uma anotação. Se esse número estiver errado ou for alterado, a anotação pode aparecer na conta de outro cliente ou sumir para quem a criou.

o que fazer agora

Examine um exemplo de cada tabela com informações pessoais. Confirme que o dono vem da conta conectada, e não de um campo que a pessoa pode editar.

peça isto à sua IA

Examine minhas tabelas do Supabase e a parte do app que cria registros. Faça todo registro pessoal receber o dono da conta conectada no momento, nunca de um campo editável da página. Para registros compartilhados, use uma tabela protegida de participantes para confirmar que a pessoa pertence ao espaço de trabalho correto. Explique as mudanças propostas em linguagem simples, aplique-as e liste todas as tabelas alteradas.

Decida separadamente quem pode ver e quem pode mudar

em palavras simples

A permissão para ver um item não deve incluir automaticamente a permissão para editá-lo ou apagá-lo.

Pense separadamente em quatro ações: ver um item, criar um, alterar um e apagar um. Um cliente pode abrir um pedido de ajuda e lê-lo depois, enquanto somente a equipe aprovada pode mudar seu andamento. Um integrante pode ler uma tarefa compartilhada sem poder apagar o projeto inteiro. Quando uma regra ampla cobre tudo, alguém pode ganhar mais poder do que você pretendia.

No Supabase, ative a proteção que confere os registros em todas as tabelas com informações de clientes ou da empresa. Depois, crie uma regra limitada para cada ação permitida. Os desenvolvedores chamam essas regras de políticas. Para um registro pessoal, a política deve comparar a conta conectada com o dono salvo. Para um registro compartilhado, também deve confirmar a participação no grupo certo. Os poderes da equipe devem depender de uma função protegida, e não apenas de um botão escondido. Se nenhuma regra clara permitir uma ação, ela deve ser recusada.

  • ▸Revise ver, criar, alterar e apagar como quatro decisões diferentes.
  • ▸Conceda poderes à equipe somente por meio de funções protegidas e bem definidas.

risco comum

Os clientes veem apenas o próprio perfil, mas a regra de alteração não confere o dono. Uma pessoa poderia mudar o perfil de outra mesmo sem encontrá-lo na tela normal.

o que fazer agora

Escreva uma frase simples para cada ação permitida em cada tabela e compare essas frases com as regras realmente configuradas no Supabase.

peça isto à sua IA

Faça uma revisão de todas as tabelas do Supabase que guardam informações de clientes ou da empresa. Mostre em linguagem simples as regras atuais para ler, adicionar, alterar e apagar. Aponte toda ação que não confira o dono do registro, a participação no espaço de trabalho correto ou uma função interna aprovada. Adicione as políticas mais limitadas que estiverem faltando, mantenha as quatro ações separadas e apresente um resumo das mudanças por tabela.

Comprove a separação usando duas contas de clientes

em palavras simples

Duas contas comuns de teste mostram se uma pessoa consegue alcançar as informações da outra.

Crie duas contas de teste que representem clientes diferentes, como Alex e Sam. Dê a cada conta anotações, pedidos ou agendamentos de exemplo com nomes claros. Entre como Alex e confirme que os itens de Sam não aparecem em listas, buscas, telas de detalhes, downloads ou áreas de arquivos. Tente alterar e apagar somente pelos recursos normais existentes no app e confirme que os itens de Sam continuam indisponíveis. Depois, repita as mesmas verificações na conta de Sam.

Os desenvolvedores chamam isso de teste de acesso: confirmar que as ações permitidas funcionam e as proibidas são recusadas. Repita o teste sempre que a ferramenta de IA adicionar uma tabela, busca, opção de compartilhamento, exportação, área de arquivos ou função de equipe. Teste também uma conta que participa de um grupo compartilhado e outra que não participa. Uma tela bonita pode esconder uma regra incompleta. Por isso, anote a conta usada, a ação tentada, o resultado esperado e o resultado obtido.

  • ▸Use duas contas comuns com registros diferentes e nomes fáceis de reconhecer.
  • ▸Teste todas as formas de listar, abrir, buscar, baixar, alterar, apagar ou compartilhar informações.

risco comum

Uma busca recém-criada encontra todas as anotações salvas porque sua tabela foi criada sem as mesmas conferências de dono usadas pela tela original.

o que fazer agora

Faça o teste com duas contas antes de convidar clientes e após toda mudança importante que envolva informações salvas ou arquivos.

peça isto à sua IA

Crie e execute um teste de segurança com duas contas comuns chamadas Teste Alex e Teste Sam. Dê registros de exemplo diferentes a cada conta. Verifique listas, telas de detalhes, busca, edição, exclusão, downloads, espaços compartilhados e arquivos enviados que existam no app. Confirme que nenhuma conta consegue ver ou alterar os itens pessoais da outra. Informe cada etapa, o resultado esperado, o resultado obtido e toda correção realizada.

Mantenha senhas e chaves poderosas longe dos arquivos dos visitantes

em palavras simples

Os arquivos entregues aos visitantes devem ter poder limitado, enquanto senhas do banco e chaves de pagamento ficam em uma parte protegida do app.

O aparelho do visitante pode precisar de uma configuração pública limitada para o app conversar com o Supabase. Isso não é igual a uma senha de administrador do banco, uma chave de pagamento ou um código que abre muitos registros ou permite gastar dinheiro. Os arquivos enviados ao visitante podem ser examinados e copiados. Senhas e chaves poderosas devem ficar em uma parte protegida do app que funciona longe do aparelho do visitante. Os desenvolvedores chamam esse local protegido de servidor.

Nunca use uma chave poderosa como solução rápida para uma regra de dono que está faltando. No Supabase, uma chave especialmente poderosa tem o nome técnico de service role key; ela consegue ignorar as conferências normais dos registros e nunca deve aparecer nos arquivos enviados a visitantes. Substitua toda senha ou chave exposta, pois apenas mudá-la de lugar não apaga as cópias já feitas. Depois da publicação, o VibeCodeWall pode conferir o app público por fora e acompanhar mudanças importantes ao longo do tempo. Ele não vê código privado, então mantenha também os testes de contas e as revisões no Supabase.

  • ▸Guarde senhas de administrador do banco e chaves de pagamento apenas nas configurações protegidas do servidor.
  • ▸Substitua uma senha ou chave exposta em vez de apenas mudá-la de lugar.
  • ▸Combine o acompanhamento externo com testes repetidos usando duas contas.

risco comum

A ferramenta de IA coloca uma chave poderosa do Supabase em um arquivo enviado aos visitantes para fazer um erro de permissão desaparecer. Quem receber esse arquivo poderá copiar a chave e ignorar as regras que separam os clientes.

o que fazer agora

Peça à ferramenta de IA que examine os arquivos entregues aos visitantes e as configurações públicas, leve qualquer senha ou chave poderosa para o servidor, substitua os valores expostos e restaure regras limitadas para os registros.

peça isto à sua IA

Examine meu app procurando senhas de administrador do banco, chaves de pagamento, códigos que abrem informações de clientes e a chave do Supabase cujo nome técnico é service role key. Confira todos os arquivos entregues aos visitantes e todas as configurações públicas do projeto. Se algum valor poderoso estiver nesses lugares, remova-o, coloque a operação necessária em uma parte protegida no servidor, substitua o valor exposto no painel do fornecedor e restaure políticas limitadas de dono no Supabase. Não mostre o valor completo no relatório. Liste cada local verificado e cada correção feita.

Checklist rápido

  1. 01Liste todos os lugares em que o app salva informações de clientes.
  2. 02Defina quem é dono de cada tipo de item salvo.
  3. 03Faça cada item novo receber o dono automaticamente da conta conectada.
  4. 04Escreva regras separadas para ver, criar, alterar e apagar informações.
  5. 05Teste com duas contas comuns de clientes, e não com uma conta de administrador.
  6. 06Confira listas, telas de detalhes, buscas, downloads e arquivos enviados.
  7. 07Mantenha senhas de administrador do banco, chaves de pagamento e códigos que abrem dados longe dos arquivos baixados por visitantes.
  8. 08Repita o teste com duas contas depois de mudanças importantes no app.
  9. 09Use o VibeCodeWall para conferir o app público por fora e acompanhar mudanças importantes ao longo do tempo.

FAQ

Entrar na conta já basta para separar as informações dos clientes?

Não. A entrada identifica a pessoa. O Supabase ainda precisa de regras salvas que decidam quais registros ela pode ver ou alterar.

Toda tabela precisa dessas regras?

Revise todas as tabelas. Qualquer tabela com informações de clientes ou da empresa deve ter regras claras para cada ação permitida.

Várias pessoas podem compartilhar o mesmo projeto com segurança?

Sim. Guarde uma lista protegida de participantes e confirme que a pessoa conectada pertence ao projeto certo antes de permitir uma ação.

Por que repetir os testes depois da publicação?

Novas telas, tabelas, buscas, formas de compartilhamento e arquivos podem mudar quem alcança as informações. Repita os testes com contas e use o acompanhamento externo para perceber mudanças importantes.