Submissões de Formulários
Cada submissão aceita é armazenada no banco de dados por formulário, com telas de gerenciamento para busca, revisão, exportação e exclusão. Esta página cobre o que é armazenado, os limites de taxa, a retenção e como as submissões bem-sucedidas são confirmadas.
O que é armazenado
- As respostas como um documento JSON chaveado pelo nome do campo.
- Um token de recibo, uma referência aleatória gerada por submissão, exibida em caso de sucesso e anexada ao redirecionamento de agradecimento (
?ok=1&ref=…). Ele é deliberadamente aleatório, não derivado do ID da submissão, para que ninguém possa enumerar ou reverter a referência de outra submissão. - O endereço IP do remetente, a menos que suprimido (veja privacidade abaixo).
- Atribuição de marketing quando o visitante chegou por um link de campanha marcado: parâmetros de consulta como utm_source/utm_medium/utm_campaign/utm_term/utm_content mais click IDs são capturados da URL da landing page que o navegador enviou junto. A captura de atribuição respeita os mesmos sinais de privacidade que o armazenamento de IP (requisições de Do-Not-Track / Global-Privacy-Control do navegador a anulam).
Limites de taxa (por visitante, por hora)
- No máximo 5 submissões ao mesmo formulário por IP.
- No máximo 30 submissões no total entre todos os formulários por IP.
Exceder qualquer um dos dois rende um "Too many submissions, please try again later" e uma desaceleração deliberada (tarpit). As verificações de limite rodam antes de qualquer armazenamento, então enchentes não criam registros. Ambos os limites operam sobre um valor com hash do IP real do cliente, então continuam funcionando mesmo quando um formulário está configurado para não armazenar IPs.
Confirmação de sucesso
Em um envio limpo: uma mensagem de sucesso inline (o texto do próprio formulário), ou um redirecionamento para a URL de agradecimento configurada com os parâmetros ok e ref; a referência de recibo é exibida para que o remetente tenha um identificador para correspondência posterior. Campos inválidos ou ausentes re-renderizam o mesmo formulário com rótulos de erro e respostas preservadas.
Retenção e exclusão
- Dias de retenção assume como padrão ilimitado (0); defina-o, por exemplo, como 90 para deletar automaticamente submissões com mais de N dias. A purga roda a cada hora e na reinicialização do servidor.
- A exclusão manual está disponível nas visualizações de submissões, incluindo exclusão em lote, e deletar uma submissão remove quaisquer arquivos que vieram com ela (os uploads não ficam órfãos no disco).
- Deletar um formulário inteiro remove as submissões dele junto.
Chaves de privacidade por formulário
- Armazenar endereço IP do remetente - desligado significa que o IP nunca é escrito (a limitação de taxa ainda funciona; ela usa um hash do endereço mas não o retém).
- Navegadores que pedem privacidade (sinais Do Not Track ou Global Privacy Control) têm seu IP e atribuição anulados independentemente da configuração.
- O email de notificação para administradores também pode omitir a linha do IP.