Segurança//4 min

A Tela de Login Não Decide o Que Cada Pessoa Pode Fazer

Uma tela de login funcionando é só o primeiro passo. Compare duas contas de teste para descobrir se uma pessoa consegue ver ou alterar os dados da outra.

antes de começar

Entrar no app não deve dar o mesmo poder a todas as pessoas. Duas contas de teste ajudam a revelar se cada uma permanece dentro dos limites definidos.

Entenda as duas perguntas que o app precisa responder

em palavras simples

O app precisa reconhecer quem entrou e decidir separadamente o que essa pessoa pode ver ou alterar.

Imagine um app de agendamentos usado por clientes, equipe e responsável pelo negócio. Cada cliente deve ver os próprios horários. Uma pessoa da equipe talvez precise ver apenas os horários atribuídos a ela. Já a responsável pode precisar consultar a agenda inteira. Todas podem usar a mesma tela de login, mas não devem receber a mesma visão nem os mesmos poderes depois de entrar. O app precisa tomar uma decisão separada para cada cadastro, arquivo, relatório, reembolso e configuração que mostra ou altera.

A primeira pergunta é: “Qual conta entrou?”. O nome técnico é autenticação. Uma senha, um código de acesso temporário ou um link de entrada pode ajudar o app a responder. A segunda pergunta é: “O que esta conta pode fazer aqui?”. O nome técnico é autorização. Acertar a primeira resposta não resolve a segunda. O app precisa fazer as duas verificações. A cada pedido importante, ele deve decidir se a conta atual pode ver ou alterar aquela informação específica.

  • ▸Liste todos os tipos de pessoa, como cliente, atendente, gerente e responsável.
  • ▸Para cada tipo, anote o que pode visualizar, criar, alterar, baixar, excluir ou administrar.

risco comum

Uma pessoa da equipe entra corretamente, mas consegue abrir uma lista de clientes destinada apenas à responsável pelo negócio.

o que fazer agora

Monte uma tabela simples com uma linha para cada tipo de pessoa e uma coluna para cada página ou ação importante. Marque o que deve ser permitido e recusado.

peça isto à sua IA

Revise meu app e monte uma tabela de permissões para cada tipo de pessoa. Inclua páginas, cadastros de clientes, arquivos, relatórios, configurações, pagamentos, reembolsos, downloads, alterações e exclusões. Para cada item, diga quem deve ter permissão, quem deve ser recusado e onde o app faz essa verificação hoje. Não considere um botão escondido uma proteção suficiente.

Compare duas contas com informações fictícias

em palavras simples

Duas contas de teste separadas mostram se uma pessoa consegue chegar por engano às informações da outra.

Crie duas contas com nomes bem claros, como Teste Ana e Teste Bruno. Cadastre agendamentos, pedidos, anotações de perfil ou nomes de projetos fictícios e diferentes para cada uma. Não use informações de clientes reais, dados verdadeiros de pagamento nem uma senha que você usa em outro lugar. Abra uma conta na janela normal do navegador e a outra em um perfil separado ou em uma janela anônima. Se possível, deixe o nome da conta visível para saber sempre qual pessoa está sendo testada.

Repita a mesma jornada comum com as duas contas. Abra o início, o perfil, as listas, os detalhes, os arquivos e os formulários que salvam mudanças. Use a busca normal, as notificações, as telas compartilhadas e os endereços de página copiados. Anote o resultado esperado e o resultado real. A intenção não é invadir o app. Você está verificando se Teste Bruno alcança as informações fictícias de Teste Ana por recursos disponíveis a uma pessoa comum. Se isso acontecer, não use esse recurso com informações reais até corrigir e testar novamente.

  • ▸Use nomes e cadastros bem diferentes para que qualquer troca fique evidente.
  • ▸Mantenha uma lista curta com a tarefa e os resultados esperado e encontrado para cada conta.

risco comum

As duas contas abrem os detalhes do mesmo pedido, embora cada pessoa devesse consultar apenas os próprios pedidos.

o que fazer agora

Percorra uma jornada completa com cada conta e depois repita o teste na tela que contém as informações mais delicadas dos clientes.

peça isto à sua IA

Ajude-me a configurar Teste Ana e Teste Bruno com cadastros fictícios separados. Crie um teste passo a passo para início, perfil, listas, detalhes, busca, notificações, endereços de página copiados, formulários, arquivos, downloads, alterações e exclusões. Em cada etapa, diga o que Ana deve ver, o que Bruno deve ver e qual resultado devo anotar.

Confira as mudanças salvas e não apenas os botões

em palavras simples

Um botão escondido não prova que o app recusará uma ação que a pessoa não deveria realizar.

Uma tela pode parecer correta mesmo quando falta a proteção principal. Teste se cada conta consegue abrir um cadastro, salvar um formulário, enviar um arquivo, baixar um documento, alterar um endereço, cancelar um pedido, emitir um reembolso ou apagar informações. Quando uma ação deveria ser recusada, atualize a página e confirme que nada mudou. Uma mensagem clara ajuda, mas o resultado salvo é o que realmente importa. Esconder um botão de gerente deixa a tela mais simples; isso sozinho não impede uma alteração indevida.

O app deve conferir novamente a pessoa e o item específico na parte que recebe o pedido e lê ou grava as informações. O nome técnico é verificação de autorização no servidor. Servidor é o sistema que guarda informações ou realiza tarefas fora do navegador do visitante. Peça à sua ferramenta de IA para fazer a decisão ali, e não somente nos arquivos enviados ao navegador. Senhas, chaves de pagamento e códigos de acesso poderosos também devem ficar nessa parte protegida, pois visitantes podem examinar os arquivos recebidos pelo navegador.

  • ▸Teste visualização, criação, alteração, envio, download, reembolso e exclusão sempre que essas ações existirem.
  • ▸Após cada recusa, confirme que nenhuma informação de cliente ou configuração salva foi alterada.

risco comum

O cliente não vê o botão de edição, mas o app ainda aceita uma mudança no endereço de entrega de outra pessoa.

o que fazer agora

Em cada ação importante, confirme que o app verifica a conta conectada e o dono ou grupo permitido para aquele cadastro específico.

peça isto à sua IA

Antes de qualquer operação que leia ou altere informações salvas, adicione uma verificação no servidor. Compare a conta conectada com o dono do cadastro específico e com o tipo de pessoa permitido. Recuse a operação se qualquer verificação falhar, mostre uma mensagem clara e garanta que nada seja alterado. Liste todos os arquivos modificados e forneça um teste com duas contas para cada regra.

Repita a comparação sempre que o app mudar

em palavras simples

Uma página, um tipo de pessoa, uma área de arquivos ou um atalho novo pode oferecer mais alcance do que você planejou.

Mantenha as duas contas e os cadastros fictícios para repetir a comparação. Faça isso depois de adicionar uma página, um relatório, um recurso pago, uma função da equipe, uma área de arquivos, uma notificação ou uma nova forma de abrir um item existente. Acrescente outra conta de teste quando surgir uma função realmente diferente, como gerente ou ajudante. Um recurso que funcionava com segurança no mês passado pode se comportar de outra forma após uma mudança, principalmente quando uma tela nova consulta as mesmas informações salvas por um caminho diferente.

Inclua o resultado esperado na sua lista habitual antes de publicar mudanças. Registre data, versão do app, conta usada, tarefa, resultado esperado e resultado encontrado. O VibeCodeWall verifica o app público por fora e acompanha mudanças importantes ao longo do tempo. Essa visão externa pode ajudar a perceber alterações visíveis ao público, mas não substitui a comparação entre contas conectadas. Seu próprio teste confirma se as pessoas permanecem dentro dos limites escolhidos ao usar os recursos normais. Corrija qualquer alcance inesperado antes de incluir informações reais ou convidar mais pessoas.

  • ▸Repita as tarefas registradas após mudanças em usuários, páginas, informações salvas ou ações importantes.
  • ▸Revise os resultados esperados ao criar um novo tipo de pessoa ou uma nova responsabilidade no negócio.

risco comum

Um relatório novo não aparece no menu dos clientes, mas um cliente consegue abri-lo por uma notificação e ver o nome de todas as pessoas.

o que fazer agora

Inclua a comparação com duas contas na lista que você conclui antes de compartilhar qualquer mudança importante com usuários reais.

peça isto à sua IA

Crie um teste repetível para cada tipo de pessoa antes da publicação do meu app. Use informações fictícias e inclua páginas, cadastros, arquivos, buscas, notificações, endereços de página copiados, downloads, alterações, pagamentos, reembolsos e exclusões. Mostre os resultados permitidos e recusados, ensine a confirmar que nada salvo mudou e deixe espaço para registrar a data e o resultado.

Checklist rápido

  1. 01Crie duas contas de teste com nomes fáceis de distinguir.
  2. 02Cadastre informações fictícias diferentes em cada conta.
  3. 03Anote o que cada tipo de pessoa deveria poder fazer.
  4. 04Repita as mesmas tarefas usando cada conta.
  5. 05Confira visualização, criação, alteração, download e exclusão.
  6. 06Teste usuários comuns separadamente de gerentes ou responsáveis.
  7. 07Confirme que ações recusadas não alteram informações salvas.
  8. 08Repita o teste depois de cada mudança importante no app.

FAQ

Preciso de dois endereços de e-mail reais?

Nem sempre. Use o método de contas de teste aceito pelo seu sistema de login. As contas precisam estar claramente identificadas e não devem conter informações de clientes reais.

Esconder o botão de gerente é suficiente?

Não. Isso pode deixar a tela mais clara, mas o app também precisa recusar a ação antes de ler ou alterar informações salvas.

O que faço se uma conta enxergar as informações da outra?

Pare de usar o recurso com informações reais, peça à sua ferramenta de IA para verificar a conta e o cadastro específico e repita todos os testes relacionados com as duas contas.

O VibeCodeWall pode fazer a comparação entre contas conectadas?

O VibeCodeWall verifica o app público por fora e acompanha mudanças importantes ao longo do tempo. Use contas de teste separadas para confirmar o que pessoas conectadas conseguem ver e fazer.