Segurança do CertSafe, em uma página
Esta página existe para a análise de segurança que antecede a contratação. Ela reúne o que é possível verificar automaticamente nesta instalação, o que um órgão externo confirmou sobre as assinaturas que a plataforma gera, o que declaramos sem que uma verificação externa possa comprovar, e o que ainda não temos.
1 Verificado automaticamente
Cada item abaixo foi obtido por inspeção da resposta que esta instalação entrega ao navegador, ou por leitura da própria configuração em execução. O resultado é recoletado periodicamente e o valor observado aparece junto.
Conexão e transporte
O que acontece antes de qualquer conteúdo ser entregue.
-
HTTPS obrigatório
ConformeQuem chega por HTTP é redirecionado para HTTPS antes de qualquer conteúdo ser servido.
Observado: Resposta 301 redirecionando para HTTPS.
-
HSTS (Strict-Transport-Security)
ConformeNavegadores que já visitaram o sistema passam a exigir HTTPS por conta própria.
Observado: 365 dias, incluindo subdomínios.
-
Certificado TLS válido
ConformeO domínio apresenta certificado confiável e dentro da validade, sem aviso no navegador.
Observado: Emitido por YE2. Válido por mais 50 dias.
Proteção no navegador
Instruções que a resposta dá ao navegador de quem acessa.
-
Proteção contra adivinhação de tipo (MIME sniffing)
ConformeO navegador respeita o tipo declarado de cada arquivo em vez de tentar adivinhar se é código executável.
Observado: nosniff
-
Proteção contra clickjacking
ConformeOutros sites não conseguem embutir o sistema numa moldura e sobrepor controles enganosos.
Observado: X-Frame-Options: DENY e frame-ancestors: none.
-
Política de Segurança de Conteúdo (CSP)
ConformeDeclara ao navegador qual código pode ser executado. Cada resposta traz um nonce próprio, de modo que script injetado numa página não é executado mesmo se chegar até o HTML.
Observado: script-src com nonce por requisição, sem 'unsafe-inline', object-src 'none'.
-
Política de referenciador
ConformeLimita o que é informado ao site de destino quando alguém sai do sistema por um link.
Observado: strict-origin-when-cross-origin
-
Política de permissões do navegador
ConformeDeclara que o sistema não usa câmera, microfone nem localização.
Observado: geolocation=(), microphone=(), camera=()
-
Cookie de sessão protegido
ConformeO cookie de sessão trafega apenas por conexão cifrada, não é legível por script do navegador e não acompanha requisições vindas de outros sites.
Observado: no cabeçalho Set-Cookie da resposta, Secure, HttpOnly, SameSite restritivo.
Conteúdo servido
O que o servidor entrega e o que ele deixa de entregar.
-
Nenhum recurso carregado por HTTP
ConformeA tela de entrada não puxa script, folha de estilo, imagem ou moldura por conexão insegura.
Observado: Nenhuma referência http:// no HTML da tela de entrada.
-
Listagem de diretórios desligada
ConformePastas sem página inicial não expõem a relação de arquivos que contêm.
Observado: Requisição a uma pasta sem índice respondeu 403.
-
Identificação da tecnologia removida
ConformeA resposta não anuncia a versão da linguagem em uso, que serviria de atalho para procurar exploits conhecidos daquela versão.
Observado: Cabeçalho X-Powered-By ausente.
Aplicação
Verificado dentro da própria instalação que serve esta página.
-
Criptografia autenticada em repouso
ConformeSenhas de arquivo de certificado e segredos de duplo fator são gravados cifrados com AES-256-GCM, que além de cifrar detecta adulteração do conteúdo cifrado. Falha de decifragem não devolve texto claro.
Observado: AES-256-GCM disponível, chave da instalação válida e carregada fora do repositório.
-
Senhas guardadas como hash
ConformeSenha de usuário não é armazenada nem cifrada, é gravada como hash bcrypt, que não tem volta. Hash antigo é recalculado no próximo login bem-sucedido.
Observado: bcrypt com custo 12.
-
Erros não são exibidos ao visitante
ConformeFalha interna não devolve caminho de arquivo, consulta SQL ou trecho de código para a tela.
Observado: Exibição de erros desligada; registro apenas em arquivo.
-
Versão publicada rastreável
ConformeAs verificações acima descrevem esta versão da plataforma, não uma anterior. O histórico de mudanças de cada versão fica disponível dentro do sistema.
Observado: Plataforma 1.16.0.
Dependências de terceiros
Bibliotecas de código aberto embutidas na aplicação.
-
Dependências conferidas contra a base pública de vulnerabilidades
ConformeAs bibliotecas de terceiros embutidas na aplicação são consultadas na OSV, a base mantida pelo Google com vulnerabilidades conhecidas de software de código aberto.
Observado: 2 biblioteca(s) consultada(s) em 29/09/2026 às 07:40. Nenhuma vulnerabilidade conhecida. 2 fora da consulta, ver a relação abaixo.
-
PHPMailer 6.9.3 Envio de e-mail
Nenhuma vulnerabilidade conhecida.
-
TCPDF 6.8.0 Exportação de relatório em PDF
Nenhuma vulnerabilidade conhecida.
-
QRCode for PHP (d-project) não declarada Geração de QR Code no servidor
O autor distribui a biblioteca sem número de versão, e sem versão não há o que consultar numa base de vulnerabilidades.
vendor/qrcode-generator/qrcode.php, 47,0 KB, SHA-256 839337a00e1ab8be…, no repositório desde 08/08/2026
-
qrcodejs não declarada Geração de QR Code no navegador
O autor distribui a biblioteca sem número de versão.
vendor/qrcodejs/qrcode.min.js, 19,5 KB, SHA-256 c541ef06327885a8…, no repositório desde 08/08/2026
2 Assinatura conferida pelo Validador do ITI
O CertSafe assina por três programas diferentes: o Assinador Web do painel e os aplicativos de mesa de Windows e macOS. Os três assinaram o mesmo documento, com o mesmo certificado, e os três foram submetidos ao Validador de Assinaturas Eletrônicas do Instituto Nacional de Tecnologia da Informação, a ferramenta oficial do Governo Federal. Os três voltaram aprovados, e um quarto documento, assinado no painel já com carimbo do tempo, voltou aprovado também, com o carimbo reconhecido. É um teste pontual, com os relatórios em mãos, e não uma coleta automática como a da seção anterior: por isso está separado dela. Nada abaixo identifica o documento, o titular ou o certificado usado.
Ficha do teste
Condições exatas em que a validação foi feita.
| Ferramenta | Validador de Assinaturas Eletrônicas do ITI (validar.iti.gov.br) |
| Verificador de Conformidade | versão 2.21.1.2 |
| Fonte de verificação | Offline |
| Data da validação | 19 e 20/08/2026 |
| Assinaturas submetidas | Sete, cobrindo os três geradores (o Assinador Web do painel e os aplicativos de mesa de Windows e macOS), o carimbo do tempo do painel, e o certificado A3 em token nos dois aplicativos de mesa |
| Certificado do teste | Certificado A1 da ICP-Brasil, o mesmo nos testes de gerador, para que a única variável fosse o programa que assina; e certificado A3 em token nos testes de A3 |
| Resultado | Aprovado nas sete, Assinatura Eletrônica Qualificada, conforme MP 2.200-2/01 e Lei 14.063/20 |
O que o relatório aprovou
Cada linha é um resultado do próprio relatório do validador.
-
Status da assinatura
AprovadoAprovado em todos os relatórios, sem nenhuma mensagem de alerta em nenhum deles.
-
Caminho de certificação
AprovadoVálido em todos, com a cadeia completa até a Autoridade Certificadora Raiz Brasileira v5.
-
Estrutura da assinatura
AprovadoEm conformidade com o padrão, no formato destacado (PKCS#7 detached).
-
Cifra assimétrica e resumo criptográfico
AprovadoAprovados: o conteúdo assinado confere com o resumo protegido pela assinatura.
-
Atributos obrigatórios
AprovadoAprovados, resumo da mensagem, tipo de conteúdo e dicionário de assinatura.
-
Certificados da cadeia
AprovadoTodos dentro da validade e sem revogação na lista consultada pelo validador.
-
Certificado A3, em token, nos dois aplicativos de mesa
AprovadoAprovado no Windows e no macOS. As assinaturas feitas com certificado A3 guardado em token passaram com caminho de certificação válido até a Raiz Brasileira v5, estrutura em conformidade, atributos obrigatórios aprovados e nenhuma mensagem de alerta, o mesmo resultado das assinaturas com certificado em arquivo.
-
Carimbo do tempo, na assinatura do painel
AprovadoReconhecido pelo validador como carimbo em conformidade com a regulamentação do Comitê Gestor da ICP-Brasil, emitido por Autoridade de Carimbo do Tempo credenciada. A hora atestada bate com a do documento.
O que este teste não prova
Os limites saem do próprio relatório. Sem eles, o resultado acima pareceria cobrir mais do que cobre.
-
O carimbo do tempo cobre o painel, não os aplicativos de mesa
O carimbo aprovado pelo validador é o da assinatura feita no Assinador Web. Os aplicativos de mesa de Windows e macOS assinam na máquina do usuário, sem passar pelo servidor, e por isso não carimbam. Documento assinado antes de 19/08/2026 também não tem carimbo, e não há como carimbar o que já foi assinado.
-
O Assinador Web não assina com certificado A3
Isso não é falta de teste, é como o produto funciona. O Assinador Web monta a assinatura no servidor e exige um certificado em arquivo. A chave privada de um A3 vive dentro do token e não sai de lá, então nenhum código do servidor a alcança. Para assinar com A3, use os aplicativos de mesa de Windows ou macOS, onde a chave nunca deixa o dispositivo. Os dois já passaram pelo validador com A3.
-
Não é uma certificação da plataforma
O relatório é do ITI sobre um arquivo, e não sobre o CertSafe. Nada aqui torna a plataforma certificada por qualquer órgão.
-
Repetível por qualquer pessoa
Assine um documento, envie o arquivo em validar.iti.gov.br e confira o resultado sem depender da nossa palavra. É essa repetibilidade que sustenta o que está acima.
3 Controles declarados
Controles implementados que nenhuma requisição externa consegue comprovar. Estão aqui, e não na seção anterior, precisamente porque dependem da nossa palavra: a comprovação exigiria acesso ao código ou avaliação de terceiro. Por isso nenhum item abaixo leva marca de conferido, e a ausência dela é informação, não descuido.
Acesso e autenticação
-
Duplo fator por aplicativo autenticador
DeclaradoCódigos TOTP de 6 dígitos e janela de 30 segundos, com alternativa por e-mail. O segredo do autenticador é guardado cifrado.
-
Freio de tentativas de login
DeclaradoBloqueio temporário por conta após tentativas malsucedidas e freio adicional por endereço de rede, que alcança também tentativas contra contas inexistentes.
-
Política de senha configurável
DeclaradoComprimento mínimo, exigências de composição e bloqueio de reuso das senhas anteriores, definidos por organização.
-
Renovação de identificador de sessão
DeclaradoO identificador de sessão é trocado no momento do login, o que invalida um identificador que tenha sido fixado antes da autenticação.
-
Perfis de acesso e escopo por empresa
DeclaradoCada consulta é restrita à empresa do usuário e ao seu perfil. O escopo é aplicado na camada da aplicação, o banco não o reforça por baixo, pelo motivo explicado na seção 5.
-
Concessão de certificado com prazo
DeclaradoO acesso a cada certificado pode ser concedido por grupo ou usuário, com vencimento individual. Concessões vencidas deixam de autorizar visualização e instalação.
Proteção de dados
-
Certificados digitais e suas senhas
DeclaradoO arquivo do certificado e a senha correspondente ficam cifrados em repouso. A senha nunca é devolvida em listagem, relatório ou registro de log.
-
Chave de criptografia fora do repositório
DeclaradoA chave da instalação é carregada de arquivo próprio, ausente do controle de versão. Chave ausente ou malformada interrompe a operação em vez de cifrar com valor previsível.
-
Consultas parametrizadas
DeclaradoTodo acesso ao banco usa PDO com prepared statements, sem concatenação de valores em SQL.
-
Proteção contra requisição forjada (CSRF)
DeclaradoToda operação de escrita exige um token de sessão, comparado em tempo constante.
-
Recebimento individual de certificado
DeclaradoO portal de recebimento usa link aleatório de uso único, guarda apenas o resumo criptográfico do token, limita tentativas e valida arquivo, senha, titularidade e duplicidade antes de importar.
Registro e rastreabilidade
-
Trilha de auditoria de uso de certificado
DeclaradoCada uso de certificado gerenciado é registrado com data, origem do evento e equipamento. A tela distingue uso comprovado por evento do sistema operacional de uso atribuído por correlação, a incerteza aparece em vez de ser escondida.
-
Trilha de eventos de segurança
DeclaradoLogin, falha de login, bloqueio e alterações de cadastro ficam registrados com usuário, data e endereço de origem.
Privacidade
-
LGPD
DeclaradoTratamento de dados descrito na Política de Privacidade publicada, com base legal, finalidade, prazo de retenção e canal para exercício de direitos do titular.
-
Prazo de retenção aplicado por rotina diária
DeclaradoCada tipo de registro tem prazo definido pela organização e é apagado por rotina diária depois dele: sessões encerradas, trilha de segurança, trilha de auditoria, registros da política de sites, notificações lidas e códigos de verificação. A trilha de segurança tem padrão de 365 dias, o dobro do mínimo que o Marco Civil da Internet exige para registro de acesso a aplicação. A evidência de uso de certificado é a exceção deliberada: ela não é apagada, porque é o que a plataforma existe para provar, e descartá-la depende de decisão explícita de quem administra a instalação.
4 Subprocessadores
Terceiros que participam da operação. A hospedagem é própria, em servidor dedicado, o data center abriga o equipamento, não opera a aplicação. A coluna de escopo distingue o que vale para a plataforma autenticada do que vale apenas para o site de apresentação.
| Serviço | Finalidade | Dados envolvidos | Localização |
|---|---|---|---|
| Matrix Data Center (marca SBA Edge, do grupo SBA Communications) Infraestrutura, colocation | Abriga fisicamente o servidor dedicado da plataforma, em regime de colocation. Não opera a aplicação nem o banco de dados. | Todos os dados da plataforma, em repouso, no equipamento hospedado. | Santo Amaro, São Paulo, Brasil |
| BrasilAPI Plataforma | Consulta de dados públicos de CNPJ para preencher o cadastro de uma empresa. Usada apenas quando alguém aciona a busca. | O número de CNPJ consultado. Nenhum dado de certificado, usuário ou senha. | Brasil |
| Serviços de push dos navegadores (Google, Apple, Mozilla e Microsoft) Plataforma, apenas para quem ativa o aviso no celular | Entregam a notificação ao aparelho do gestor que optou por recebê-la. O serviço acionado é o do navegador que o próprio gestor usa; nenhuma conta é mantida com eles. | O conteúdo da notificação vai cifrado de ponta a ponta (RFC 8291) e o serviço não consegue lê-lo. Ele enxerga o endereço de entrega do aparelho, o tamanho e o horário da mensagem. | Estados Unidos e outros, conforme o navegador |
| hCaptcha (Intuition Machines, Inc.) Site de apresentação, não usado na plataforma | Impede envio automatizado do formulário de contato da página inicial. | Endereço IP e sinais do navegador de quem preenche o formulário. | Estados Unidos |
- O envio de e-mail, notificação de vencimento, recuperação de senha, alertas, sai do servidor SMTP da própria hospedagem. Não há serviço de e-mail transacional de terceiro.
- As integrações da plataforma são próprias e rodam em infraestrutura própria. A única exceção é a consulta de CNPJ acima.
- A plataforma autenticada não carrega script, folha de estilo, fonte ou imagem de nenhum endereço externo, o que a verificação "nenhum recurso carregado por HTTP" da seção 1 inspeciona na prática. Não há CDN de terceiro nem serviço de análise de audiência.
- Os agentes instalados nas máquinas dos clientes se comunicam exclusivamente com o domínio do CertSafe.
- O aviso no celular é opcional e só existe para quem o ativa em um aparelho. Enquanto ninguém ativa, nenhuma requisição sai da plataforma para serviço de push algum.
- Os dados da plataforma permanecem em território brasileiro, com uma exceção declarada: quando o gestor ativa o aviso no celular, a notificação cifrada trafega pelo serviço de push do navegador dele, que fica fora do país. O conteúdo não é legível por esse serviço, mas o trajeto existe e está aqui por isso. Nenhum dado de certificado, de usuário ou de uso sai do país por qualquer outro caminho.
Segurança física do data center
- Controle de acesso biométrico, CFTV 24/7 e equipe de segurança física no local.
- Energia e climatização com redundância N+1.
- Capacidade elétrica do complexo estimada em 7,5 MW.
- Conectividade neutra, com acesso direto a mais de 200 operadoras.
Estas certificações são do data center, não do CertSafe. Elas atestam a instalação física que abriga o servidor, energia, acesso ao prédio, refrigeração, conectividade. Não dizem nada sobre a nossa aplicação, o nosso processo de desenvolvimento ou a nossa gestão de segurança, e não devem ser lidas como certificação do CertSafe. O que nós não temos está na seção 5.
5 O que ainda não temos
Esta seção existe para que a análise não precise descobrir estas ausências por eliminação. Se algum destes pontos for requisito de contratação, o momento de saber é agora.
-
Certificação SOC 2
Não possuímos. Nenhuma auditoria SOC 2 foi contratada ou concluída.
-
Certificação ISO/IEC 27001
Não possuímos. O data center que abriga o servidor é certificado ISO 27001, mas essa certificação é dele e cobre a instalação física, não a nossa aplicação, o nosso processo de desenvolvimento nem a nossa gestão de segurança. Ver a observação na seção 4.
-
Carimbo do tempo nos aplicativos de mesa
O Assinador Web do painel passou a carimbar em 19/08/2026, com Autoridade de Carimbo do Tempo credenciada na ICP-Brasil, e desde então a data das assinaturas feitas por ele é atestada por terceiro. Os aplicativos de mesa de Windows e macOS não: eles assinam na máquina do usuário, sem passar pelo servidor, e a data que registram continua sendo a do computador que assinou. Ela é verificável enquanto o certificado do signatário estiver válido, mas não se comprova por criptografia depois que ele expira. Documento assinado antes de 19/08/2026, por qualquer caminho, também não tem carimbo: o que já foi assinado não se carimba depois.
-
Teste de intrusão por empresa independente
Não contratado. As revisões de segurança realizadas até aqui foram internas, e por isso não substituem avaliação de terceiro.
-
Inventário de dependências gerado automaticamente
A conferência contra a base de vulnerabilidades passou a existir e está na seção 1, mas o inventário em si é escrito à mão: o projeto não usa gerenciador de pacotes, então nada garante que uma biblioteca nova entre na lista sozinha. Duas das quatro não declaram versão e ficam fora da consulta, o que a própria relação informa.
-
Isolamento reforçado pelo próprio banco de dados
A separação entre empresas é aplicada pela aplicação, em cada consulta, e não por um mecanismo do banco que a garanta por baixo. Vale registrar o motivo: segurança em nível de linha é recurso do PostgreSQL, e o CertSafe roda em MySQL, que não possui equivalente nativo. Não é uma implementação pendente, é uma defesa que este banco de dados não oferece. O que existe hoje é o escopo aplicado na camada de acesso a dados, sempre com consulta parametrizada.
6 Reportar uma vulnerabilidade
Encontrou uma falha de segurança? Escreva para contato@certsafe.app.br com o assunto Segurança. Confirmamos o recebimento e informamos o andamento da correção.
Pedimos que o teste se limite a contas próprias e que não envolva indisponibilidade do serviço, acesso a dados de terceiros ou alteração de dados de clientes. Não mantemos programa de recompensa.
Estas mesmas informações estão em /.well-known/security.txt.
© 2026 CertSafe, HelpDesk Tecnologia e Soluções em TI