Sicherheit steht im Mittelpunkt des Entwicklungsdenkens von Hotjar. Wir haben sowohl interne als auch externe Sicherheitskontrollpunkte in den Entwicklungsprozess der Hotjar-Anwendung integriert.
Hotjar-Codierungsrichtlinien
Hotjar setzt immer unseren Nordstern darauf, Kundenwert mit kleinen iterativen Updates zu liefern, die wirkungsvolle und sinnvolle Veränderungen bewirken. Unsere Codierungsrichtlinien geben unseren Ingenieuren die Möglichkeit, mutig Veränderungen vorzunehmen, während sie den Fokus und das Verständnis für Sicherheitsaspekte bewahren.
Der Änderungssteuerungsprozess von Hotjar ist der Weg, wie wir unseren Sicherheitsfokus aufrechterhalten. Dazu implementieren wir einige Kernrichtlinien für die Codierung, darunter:
- Atomare Änderungssätze. Wir übernehmen, wenn die Aufgabe abgeschlossen ist.
- Kommentierung der Methodik. Ein Kommentar wie "Erhöhe I um 1" ist bestenfalls nutzlos, im schlimmsten Fall veraltet und falsch. Wir dokumentieren immer die Absicht - warum wir dies tun.
- Funktionen kurz halten. Jede Funktion sollte nur eine Sache tun.
- Dinge privat halten. Kapselung ist eine großartige Sache. Stellen Sie eine Modulschnittstelle so klein wie möglich öffentlich zur Verfügung.
- Der Änderungsmanagementprozess von Hotjar führt die Entwicklung durch mehrere Kontrollpunkte, an denen Änderungen von der Entwicklung in die Produktionsumgebungen übernommen werden.
- Eine Änderung wird initiiert, sobald die Story in einen Sprint eintritt.
- Ein umfassender Satz von automatisierten Tests wird von unserem Continuous Integration-System gegen jede Revision durchgeführt, die ein Release-Kandidat ist.
Die Codeüberprüfung erfolgt durch einen anderen Entwickler als denjenigen, der die Änderung implementiert. Sie stammen normalerweise aus demselben Team, es sei denn, es ist die Expertise eines anderen Teams erforderlich. Bei größeren Änderungen ziehen wir oft mehr als einen Überprüfer hinzu. Wenn alle Tests bestanden sind und der Überprüfer mit dem Pull-Request zufrieden ist, kann er ihn genehmigen. Dies ermöglicht es, den Pull-Request später in unseren Hauptzweig zu integrieren.
- Ein Entwickler stellt seine Änderung in die Warteschlange, um sie bereitzustellen. Unser Build-System verwaltet, wer zu welcher Zeit in welche Umgebung bereitstellen kann, um sicherzustellen, dass Bereitstellungen konsistent durchgeführt werden.
- Jeder separate Dienst wird zuerst in eine Testumgebung bereitgestellt, in der abschließende manuelle Überprüfungen durchgeführt werden können.
- Nach Abschluss der Überprüfung in der Testumgebung setzt Hotjar die Bereitstellung in die Produktionsumgebung fort. Wenn alles wie erwartet aussieht und keine Warnungen vorliegen, fusionieren wir dann den Pull-Request in den Hauptzweig und schließen die Story ab.
Penetrationstests
Hotjar arbeitet mit führenden Beratungsunternehmen zusammen, um Sicherheitsbewertungen von Drittanbietern und Penetrationstests durchzuführen. Ziel dieser Bewertungen ist es, Hotjars eigene Sicherheitsmethoden aus einer 'externen' Perspektive zu validieren.
- Bewertungen werden mindestens jährlich durchgeführt.
- Die Ergebnisse werden allen Teammitgliedern mitgeteilt, wobei die Bemühungen zur Behebung in Übereinstimmung mit der Kritikalität der festgestellten Probleme überwacht werden.
- Die letzte externe Sicherheitsbewertung wurde abgeschlossen am: 30. August 2023.
Bug-Bounty-Programm
Keine Technologie ist perfekt, und Hotjar ist der Ansicht, dass die Zusammenarbeit mit erfahrenen Sicherheitsforschern auf der ganzen Welt entscheidend ist, um Schwachstellen in jeder Technologie zu identifizieren. Hotjar fördert eine verantwortungsbewusste Offenlegung, und Sie können mehr darüber in unserem Artikel zum verantwortungsbewussten Offenlegungs-Bug-Bounty-Programm lesen.