Diretriz
Segurança da informação
Plano aplicado no Painel Agro contra invasão, captura da API, vazamento de cadastro e adulteração de pagamento.
Invasão do site
Cadastro público fecha depois do titular. Entrada com senha forte, caixa reCAPTCHA “Não sou um robô” e bloqueio por login normalizado: 120 segundos após três falhas e 30 minutos após cinco. A troca de IP não reinicia a contagem. Cabeçalhos impedem MIME sniffing, restringem câmera/microfone/pagamento no navegador e limitam o que o site pode embutir. Cookies de sessão usam prefixo Host. Colaborador suspenso perde a sessão na hora.
Uso e captura da API
A chave aparece uma vez e é guardada só como hash. Chamada de navegador exige domínio liberado; sem origem, só servidor. 40 chamadas por minuto por chave, além dos créditos ou da fatura. Conta suspensa não consulta. Parâmetros são recortados. CPF da pessoa física sai completo (dado público no SICOR); nome de PF não entra. CNPJ vem com a razão social. Tentativa com chave falsa, origem estranha ou excesso de ritmo vira incidente na central.
Informações dos clientes
A consulta unitária nesta demonstração usa recorte sintético no formato SICOR (CPF completo sem nome de PF; CNPJ com razão social). Em produção a finalidade e o contrato delimitam o acesso. Exportação e chaves ficam no cadastro de quem pediu. Excluir dados da API não apaga o histórico financeiro. Pedidos do fale conosco não pedem senha nem cartão.
Informações de pagamento
Este site não coleta número de cartão, CVV nem validade. PIX e boleto usam o valor do catálogo no servidor. O comprovante de cartão, quando existir, passa por PSP — nunca por formulário nosso. Não há campo para PAN.
Manipulação de pagamento
O cliente não escolhe o valor nem marca o próprio lançamento como pago. O pacote só credita depois que titular ou administrador confirma a compensação. Se o valor gravado divergir do catálogo, o lançamento trava. Recusar não soma crédito. O livro de eventos (criado, confirmado, recusado) não se apaga com a exclusão das chaves.
Papéis
Cliente gera chave, compra créditos ou abre fatura, vê o consumo, pede ajuda e troca a senha. Usuário cadastra cliente, vende pacote, soma crédito, cobra, cancela cobrança indevida, envia aviso e exclui cliente. Administrador tem a mesa e ainda a segurança, os logins e o contato do site. Troca de senha vale para os três.
Dados e API
A chave é guardada com HMAC, não em texto. Chamada de navegador exige domínio liberado. Ritmo por chave e por IP. CPF de PF sai completo e sem nome; CNPJ sai com a razão social. Cada resposta boa vira consulta guardada com hash: se o conteúdo mudar, o download recusa. Encerrar o acesso revoga a chave e não apaga o recorte nem o livro de pagamento. Papel sem permissão no modelo RBAC cai no catálogo, não fica vazio.
Produção
Em www.painelagro.com.br, use as chaves oficiais do reCAPTCHA, certificado da Vercel e, no PIX real, o webhook assinado do PSP no lugar da confirmação manual. Não envie senha por e-mail aberto.
Modelo RBAC
Três entidades: o login, o papel e a permissão. O login não ganha ação avulsa — ganha um papel. O papel lista o que pode.
Login → papel em access_accounts.role_id
Papel → cliente, usuário ou administrador
Permissão → concedida em rbac_grants e conferida a cada pedido
Matriz de permissões
Cada ação da central exige a permissão no servidor. A tela só esconde o que o login não pode.
| Permissão | Cliente | Cliente API + Projetos | Colaborador de projetos | Administrador de projetos | Usuário | Administrador |
|---|---|---|---|---|---|---|
| Conta | ||||||
| Trocar a própria senha | sim | sim | sim | sim | sim | sim |
| Editar cadastro | sim | sim | sim | sim | sim | sim |
| API | ||||||
| Ver consumo da API | sim | sim | não | não | não | sim |
| Gerar e revogar chaves | sim | sim | não | não | não | sim |
| Liberar domínios | sim | sim | não | não | não | sim |
| Usar a área de teste | sim | sim | não | não | não | sim |
| Gerar arquivos | sim | sim | não | não | não | sim |
| Encerrar as próprias chaves | sim | sim | não | não | não | sim |
| Plano | ||||||
| Ver créditos e fatura | sim | sim | não | não | não | sim |
| Comprar créditos ou abrir fatura | sim | sim | não | não | não | sim |
| Cancelar o modo de cobrança | sim | sim | não | não | não | sim |
| Ajuda | ||||||
| Pedir ajuda | sim | sim | não | não | não | sim |
| Ler pedidos de ajuda | não | não | não | não | sim | sim |
| Mesa | ||||||
| Abrir a mesa de clientes | não | não | não | não | sim | sim |
| Cadastrar cliente | não | não | não | não | sim | sim |
| Excluir cliente | não | não | não | não | sim | sim |
| Aplicar pacote ao cliente | não | não | não | não | sim | sim |
| Somar créditos ao cliente | não | não | não | não | sim | sim |
| Enviar aviso ao cliente | não | não | não | não | sim | sim |
| Cobrança | ||||||
| Gerar cobrança | não | não | não | não | sim | sim |
| Confirmar compensação | não | não | não | não | sim | sim |
| Cancelar cobrança indevida | não | não | não | não | sim | sim |
| Projetos rurais | ||||||
| Criar, editar e emitir projetos rurais | não | sim | sim | sim | sim | sim |
| Arquivar projetos e relatórios rurais | não | sim | não | sim | não | sim |
| Administração | ||||||
| Ver todos os logins | não | não | não | não | não | sim |
| Criar usuário da mesa | não | não | não | não | não | sim |
| Criar administrador | não | não | não | não | não | sim |
| Suspender acesso | não | não | não | não | não | sim |
| Redefinir senha de terceiros | não | não | não | não | sim | sim |
| Ver incidentes e tentativas | não | não | não | não | não | sim |
| Alterar e-mail e WhatsApp do site | não | não | não | não | não | sim |
- — Cliente não vê a mesa nem os outros cadastros.
- — Cliente não confirma o próprio pagamento: o valor sai do catálogo e a compensação é da mesa.
- — Usuário não cria outro usuário nem administrador.
- — Usuário não vê tentativas de login, incidentes nem o contato do site.
- — Usuário só redefine senha e exclui conta de cliente.
- — Administrador não é suspenso por esta tela.
- — Ninguém coleta número de cartão neste site.
