Segurança está na vanguarda da mentalidade de desenvolvimento da Hotjar. Construímos checkpoints de segurança internos e externos no pipeline de desenvolvimento da aplicação Hotjar.
Diretrizes de Codificação da Hotjar
A Hotjar sempre define nossa estrela do norte para entregar valor aos clientes com pequenas atualizações iterativas que proporcionam mudanças impactantes e significativas. Nossas diretrizes de codificação fornecem aos nossos engenheiros a capacidade de serem ousados com as mudanças, mantendo o foco e compreensão das considerações de segurança.
O processo de controle de mudanças da Hotjar é como mantemos nosso foco em segurança. Para fazer isso, implementamos algumas diretrizes principais para codificação, que incluem:
- Conjuntos de mudanças atômicas. Commitamos quando a tarefa estiver concluída.
- Comentando a metodologia. Ter um comentário dizendo "aumentar I em 1" é, na melhor das hipóteses, inútil, na pior, antigo e incorreto. Sempre documentamos a intenção - por que estamos fazendo isso.
- Mantenha funções curtas. Cada função deve fazer uma coisa e apenas uma coisa.
- Mantenha as coisas privadas. Encapsulamento é uma ótima coisa. Exponha uma interface de módulo o menor possível para o público.
- O processo de Gerenciamento de Mudanças da Hotjar guia o desenvolvimento por vários checkpoints nos quais as mudanças são commitadas do ambiente de desenvolvimento para os ambientes de produção.
- Uma mudança é iniciada assim que a história entra em um sprint.
- Uma suíte abrangente de testes automatizados é executada pelo nosso sistema de Integração Contínua contra qualquer revisão que seja um candidato a lançamento.
A revisão de código é feita por um desenvolvedor diferente daquele que implementa a mudança. Eles geralmente são da mesma equipe, a menos que a expertise relevante de uma equipe diferente seja necessária. Quando mudanças maiores estão envolvidas, frequentemente envolvemos mais de um revisor. Se todos os testes passarem e o revisor estiver satisfeito com o pull request, eles podem aprová-lo. Isso permite que o pull request seja mesclado em nosso branch principal posteriormente.
- Um desenvolvedor entra na fila para implantar sua mudança. Nosso sistema de build mantém quem pode implantar em cada ambiente em que horário para garantir que as implantações sejam tratadas de forma consistente.
- Cada serviço separado é primeiro implantado em um ambiente de staging onde a verificação manual final pode ser realizada.
- Uma vez que a verificação é feita no ambiente de staging, a Hotjar continua a implantar no ambiente de produção. Se tudo parecer conforme o esperado, sem alertas, então mesclamos o pull request no branch principal e fechamos a história.
Teste de Penetração
A Hotjar se envolve com consultorias líderes do setor para realizar avaliações de segurança de terceiros e testes de penetração. O objetivo dessas avaliações é validar os próprios métodos de segurança da Hotjar com uma perspectiva 'externa'.
- As avaliações são realizadas pelo menos anualmente
- Os resultados são comunicados a todos os membros da equipe, com esforços de remediação monitorados de acordo com a criticidade dos problemas descobertos.
- A última avaliação de segurança externa foi concluída em: 30 de agosto de 2023.
Programa de Recompensas por Bug
Nenhuma tecnologia é perfeita, e a Hotjar acredita que trabalhar com pesquisadores de segurança qualificados em todo o mundo é crucial para identificar vulnerabilidades em qualquer tecnologia. A Hotjar incentiva a divulgação responsável e você pode ler mais sobre isso em nosso Artigo do Programa de Recompensas por Bug de Divulgação Responsável.