{
  "passed": 35,
  "checks": [
    "instalador abre e mostra requisitos",
    "instalação rejeita chave inválida sem criar tabelas",
    "instalação cria banco, conta master e primeira loja",
    "reinstalação fica bloqueada",
    "login trata tentativa de SQL injection como texto",
    "master entra no painel administrativo",
    "painel master exige CSRF válido",
    "master cria empresa, loja e responsável",
    "responsável troca senha temporária antes de operar",
    "nova empresa começa com loja vazia e catálogo pronto",
    "cadastro do tutor persiste no MySQL",
    "usuário não consegue ler loja de outra empresa",
    "usuário não consegue escrever em outra empresa",
    "API rejeita escrita sem CSRF",
    "controle de revisão impede perda de dados concorrentes",
    "responsável da empresa não acessa master",
    "limite de lojas é aplicado no servidor",
    "master altera plano e prazo de acesso",
    "responsável cria filial dentro do novo limite",
    "filial não recebe fichas nem estoque da matriz",
    "aba anterior continua vinculada à matriz após trocar de loja",
    "escrita em aba antiga não contamina a filial",
    "responsável cria funcionário restrito a uma loja",
    "perfil da equipe é refletido na interface",
    "servidor remove dados fora das permissões do funcionário",
    "perfil não pode forçar ação financeira pela API",
    "funcionário não herda acesso a outra filial",
    "fluxo real grava histórico e desconta pacote sem cobrança duplicada",
    "suspensão da empresa bloqueia usuários já conectados",
    "acesso vencido é bloqueado no servidor",
    "desativar usuário encerra sua sessão antiga",
    "configuração privada está fora da raiz pública",
    "resposta contém cabeçalhos de proteção",
    "auditoria registra operações sem mostrar senhas",
    "logout remove a sessão com verificação CSRF"
  ],
  "engine": "PHP 8.3 / MariaDB 10.11"
}