Paternidade de Deus
ScheduleSpeakersScientific papersVenueRegistration
Language
PortuguêsEnglishEspañolItaliano
PortuguêsEnglishEspañolItaliano

Security

Summary of the security, privacy and personal-data exposure reduction measures implemented in the hotsite project.

Terms of UsePrivacy PolicySecurity

Based on the current project implementation.

1. Security headers

O projeto define headers globais de segurança em next.config.ts e remove exposições desnecessárias em produção.

  • Strict-Transport-Security com max-age, includeSubDomains e preload.
  • X-Content-Type-Options: nosniff.
  • X-Frame-Options: DENY.
  • Referrer-Policy: strict-origin-when-cross-origin.
  • Permissions-Policy restringindo câmera, microfone e geolocalização.
  • Content-Security-Policy com restrições para scripts, estilos, fontes, imagens, conexões, frames, objetos, base URI, ancestrais de frame e envio de formulários.
  • poweredByHeader desativado e source maps de produção desabilitados.

2. Registration form protection

O endpoint principal /api/inscricao aplica proteções antes de processar a inscrição.

  • Aceita apenas requisições multipart/form-data.
  • Limita o tamanho total da requisição a 12 MB.
  • Usa honeypot por campo oculto website.
  • Bloqueia envios rápidos demais com tempo mínimo de preenchimento de 3 segundos.
  • Valida Cloudflare Turnstile no servidor quando TURNSTILE_SECRET_KEY está configurada.
  • Aplica rate limit por IP com Upstash Redis quando as credenciais estão configuradas.
  • Retorna erro 429 para excesso de tentativas quando o rate limit está ativo.

3. Data validation and sanitization

Os dados enviados pelo formulário são validados com Zod e sanitizados antes do processamento.

  • Campos obrigatórios são verificados no servidor.
  • E-mail é validado com formato correto.
  • CPF ou passaporte são exigidos conforme o caso.
  • Campos condicionais são validados, como necessidade específica e nome para certificado.
  • Arrays de campos múltiplos são normalizados.
  • Textos têm caracteres < e > removidos, espaços normalizados e limites de tamanho aplicados.

4. Protection against email injection

Os e-mails de notificação escapam conteúdo vindo do usuário antes de montar o HTML, reduzindo risco de HTML injection ou execução indevida de conteúdo enviado no formulário.

5. Upload security

  • São aceitos no máximo 3 arquivos.
  • Apenas arquivos PDF são aceitos.
  • Cada arquivo pode ter no máximo 10 MB.
  • O total de anexos pode ter no máximo 10 MB.
  • A extensão .pdf é exigida.
  • O MIME type precisa ser application/pdf.
  • O conteúdo inicial do arquivo precisa bater com a assinatura %PDF-.
  • O nome do arquivo é normalizado e limitado antes de ser enviado por e-mail.

6. Reduction of personal-data exposure

  • A URL de checkout da Hotmart é montada sem nome, e-mail, telefone, CPF, passaporte ou endereço.
  • Erros externos não são retornados diretamente ao usuário final.
  • O log do endpoint usa mensagem segura de erro e não registra o payload completo do formulário.
  • O mapa LGPD orienta a não registrar payload completo em logs e a não colocar dados pessoais em query string.

7. Deprecated endpoints disabled

Os endpoints antigos de inscrição foram encerrados com resposta 410 Gone: /api/enviar-formulario e /api/inscricoes. Essas rotas informam que foram substituídas por /api/inscricao.

8. Operational security and LGPD documentation

  • LGPD_DATA_MAP.md: mapa de dados pessoais, finalidades, destinos, retenção sugerida e observações.
  • SECURITY_CHECKLIST.md: checklist de pré-deploy para build, dependências, formulário, upload, dados pessoais, headers e operação.
  • SECURITY_INCIDENT_RESPONSE.md: roteiro de resposta a incidente de segurança.

9. Third parties considered in data processing

  • Netlify: hospedagem e execução serverless.
  • Brevo/Resend: envio de e-mail.
  • Hotmart: checkout e pagamento.
  • Cloudflare Turnstile: validação anti-bot quando configurado.
  • Upstash Redis: rate limit quando configurado.
Paternidade de Deus

I Congresso Internacional de Teologia sobre a Paternidade de Deus

Terms of UsePrivacy PolicySecurity