La sécurité est au cœur de la philosophie de développement de Hotjar. Nous avons intégré des points de contrôle de sécurité internes et externes dans le pipeline de développement de l'application Hotjar.
Directives de codage Hotjar
Hotjar se fixe toujours pour objectif de fournir de la valeur aux clients avec de petites mises à jour itératives qui apportent des changements impactants et significatifs. Nos directives de codage offrent à nos ingénieurs la possibilité d'être audacieux dans les changements tout en maintenant une attention et une compréhension pour les considérations de sécurité.
Le processus de contrôle des changements de Hotjar est la façon dont nous maintenons notre attention sur la sécurité. Pour ce faire, nous mettons en œuvre quelques directives de base pour le codage, qui incluent :
- Ensembles de changements atomiques. Nous validons lorsque la tâche est terminée.
- Commenter la méthodologie. Avoir un commentaire disant "augmenter I de 1" est au mieux inutile, au pire obsolète et incorrect. Nous documentons toujours l'intention - pourquoi nous faisons cela.
- Garder les fonctions courtes. Chaque fonction ne devrait faire qu'une seule chose.
- Garder les choses privées. L'encapsulation est une bonne chose. Exposer une interface de module aussi petite que possible au public.
- Le processus de gestion des changements de Hotjar guide le développement à travers plusieurs points de contrôle où les changements sont validés de l'environnement de développement à la production.
- Un changement est initié une fois que l'histoire entre dans un sprint.
- Une suite complète de tests automatisés est exécutée par notre système d'intégration continue contre toute révision qui est un candidat à la publication.
La revue de code est effectuée par un développeur différent de celui qui implémente le changement. Ils sont généralement de la même équipe sauf si une expertise pertinente d'une équipe différente est requise. Lorsque des changements importants sont impliqués, nous impliquons souvent plus d'un examinateur. Si tous les tests passent et que l'examinateur est satisfait de la demande de tirage, il peut l'approuver. Cela permet à la demande de tirage d'être fusionnée dans notre branche principale plus tard.
- Un développeur met en file d'attente le déploiement de son changement. Notre système de construction maintient qui peut déployer dans chaque environnement à quel moment pour garantir que les déploiements sont gérés de manière cohérente.
- Chaque service séparé est d'abord déployé dans un environnement de staging où la vérification manuelle finale peut avoir lieu.
- Une fois la vérification effectuée dans l'environnement de staging, Hotjar continue de déployer dans l'environnement de production. Si tout est conforme aux attentes sans alertes, nous fusionnons ensuite la demande de tirage dans la branche principale et clôturons l'histoire.
Tests de pénétration
Hotjar collabore avec des cabinets de conseil de premier plan pour réaliser des évaluations de sécurité tierces et des tests de pénétration. L'objectif de ces évaluations est de valider les propres méthodes de sécurité de Hotjar avec une perspective 'externe'.
- Les évaluations sont effectuées au moins une fois par an.
- Les résultats sont communiqués à tous les membres de l'équipe, les efforts de remédiation étant surveillés en fonction de la criticité des problèmes découverts.
- La dernière évaluation de sécurité externe a été réalisée le : 30 août 2023.
Programme Bug Bounty
Aucune technologie n'est parfaite, et Hotjar estime qu'il est crucial de travailler avec des chercheurs en sécurité qualifiés à travers le monde pour identifier les failles de toute technologie. Hotjar encourage la divulgation responsable et vous pouvez en savoir plus à ce sujet dans notre Programme Bug Bounty de divulgation responsable.