Segurança, em palavras simples
Sem buzzwords. Eis o que fazemos — e o que não prometemos — para manter os teus sites, clientes e receita seguros.
Encriptação em trânsito
Todas as ligações usam TLS 1.3. HSTS preloaded. Recusamos TLS 1.0 / 1.1 e cipher suites fracas. Sem exceções para clientes legacy.
Encriptação em repouso
Os volumes de base de dados e os buckets S3 são encriptados em AES-256. Os backups são encriptados antes de deixarem a rede de produção.
Autenticação de 2 fatores
2FA baseado em TOTP incluído em todos os planos, com fallback opcional por OTP em email. 8 códigos de recuperação de uso único por utilizador. Obrigatório para administradores.
Hosting só na UE
Região primária: Frankfurt. Secundária: Estocolmo. Nenhum dado transita para jurisdições fora do EEE sem uma Cláusula Contratual-Tipo documentada.
Isolamento de tenant
Cada site de cliente corre no seu próprio scope de BD. Os plugins executam dentro de uma sandbox com perfil disable_functions + open_basedir — um tenant não afeta outro.
Rate limiting + log de auditoria
Rate limits por IP em todos os formulários públicos. Cada ação de admin é registada no log de atividade com sujeito, ator, IP e diff completo dos campos alterados.
Práticas que seguimos
Pen-test externo anual
Empresa independente sediada na UE. As descobertas críticas são corrigidas antes do relatório ser fechado.
SAST no CI
Cada PR corre análise estática (Psalm + Larastan). PRs não podem fazer merge com severidade de segurança > média.
Monitorização de dependências
Dependências Composer + npm analisadas diariamente. CVEs críticos desencadeiam uma patch release no mesmo dia.
Gestão de secrets
Sem secrets no repositório. Os secrets de produção vivem em HashiCorp Vault com rotação trimestral.
Backups + drills de restauro
Snapshots diários encriptados retidos por 30 dias. Corremos um drill completo de restauro uma vez por trimestre.
Resposta a incidentes
Runbook documentado. Incidentes de severidade 1 recebem um post-mortem público em 14 dias no /blog.
Webhooks assinados
Webhooks de saída assinados com HMAC-SHA256. Os clientes verificam por pedido para prevenir falsificação.
Hashing de passwords
bcrypt com cost 12 (configurável). Nenhuma password sai do request boundary sem estar hash-ada.
Divulgação responsável
Encontraste uma vulnerabilidade? Envia email para security@radcms.io com passos de reprodução. Cifra com a nossa chave PGP para descobertas sensíveis.
O nosso compromisso
- Confirmar a receção do teu relatório em 48 horas.
- Dar uma decisão de triagem em 5 dias úteis (no âmbito / fora do âmbito / duplicado).
- Manter-te atualizado até o problema estar resolvido.
- Dar-te crédito publicamente (se quiseres) quando a correção for lançada.
- Pagar uma bounty por descobertas válidas críticas/altas (caso a caso, atualmente até €5.000).
Por favor, não testes contra dados de clientes, não corras scanners automáticos que gerem volume e dá-nos tempo razoável para corrigir antes da divulgação pública.
Auditoria em curso · objetivo 2026
Disponível para planos Enterprise