- Der Dienst zur Überprüfung von Datenlecks Have I Been Pwned wurde vollständig neu aufgelegt
- Zusammen mit einem neuen Design wurden die Funktionen der wichtigsten Webseiten umfassend geändert und verbessert
- Die Suche ist nun deutlich intuitiver, und die Hinweise zur Kontoüberprüfung sowie zu verschiedenen Fällen von Datenpannen wurden ausgebaut
- Verschiedene neue und verbesserte Funktionen wie ein Benutzer-Dashboard, Domainsuche und API-Dokumentation wurden hinzugefügt
- Web-Performance und Sicherheit wurden auf einer modernen Cloud-Infrastruktur umgesetzt und bieten eine schnelle und sichere Nutzererfahrung
Einführung und Hintergrund
- Have I Been Pwned (im Folgenden HIBP) 2.0 wurde nach langer Entwicklungszeit vollständig neu veröffentlicht
- Nach dem ersten Commit im Februar 2023 sowie einem Soft-Launch und der Open-Source-Freigabe im März 2024 ist die Seite nun mit kompletter Neuentwicklung und neuer Markenidentität live gegangen
- Die gesamte Seitenstruktur und Funktionalität wurden überarbeitet, und zusammen mit neuen Funktionen wurde auch ein Merchandise-Store eröffnet
Suchfunktion
- Das zentrale Suchfeld auf der Startseite, die bekannteste Funktion von HIBP, wurde mit einer intuitiveren und frischeren Darstellung verbessert, einschließlich einer Konfetti-Animation
- Um die User Experience nicht belastend zu machen, wurde bewusst auf eine schwere und negative Stimmung verzichtet; der Fokus liegt darauf, den Nutzern faktenbasierte, praktische Informationen bereitzustellen
- Die Suche nach Benutzernamen und Telefonnummern wurde von der Website entfernt (in der API bleibt das bisherige Verhalten jedoch bestehen)
- Die Suche auf Basis von E-Mail-Adressen eignet sich besser im Hinblick auf Parsing, Benachrichtigungen und Service-Konsistenz
- Telefonnummern und Benutzernamen verursachen einen hohen Verarbeitungsaufwand und wurden aufgrund der geringen tatsächlichen Nutzung entfernt, um Verwirrung zu vermeiden
Seiten zu Datenpannenfällen
- Für jede einzelne Datenpanne wurde eine eigene Detailseite neu bereitgestellt
- Mit einem noch intuitiveren und ansprechenderen Layout als bisher werden konkrete, umsetzbare und auf den jeweiligen Fall zugeschnittene Hinweise zu Auswirkungen und Gegenmaßnahmen gegeben
- In Zusammenarbeit mit anderen Organisationen (z. B. NCSC) sollen künftig zusätzliche regionale Informationen ergänzt werden
- Künftig sollen weitere Details wie Unterstützung für 2FA, Passkeys und nutzerspezifische Leitfäden hinzukommen
Dashboard
- Mehrere bisher getrennte Funktionen (Prüfung sensibler Datenpannen, Domain-Verwaltung, Abo-Verwaltung usw.) wurden in einem integrierten Dashboard zusammengeführt
- Der Zugriff auf das Dashboard erfolgt auf Basis einer E-Mail-Verifizierung; künftig sollen auch neue Authentifizierungsverfahren wie Passkeys ergänzt werden
- Es bietet Potenzial für den Ausbau zu einer Plattform mit künftigen Funktionen wie Benachrichtigungen für Familienkonten
Domainsuche
- Die Funktion zur Domain-Verifizierung und -Suche wurde vollständig neu gestaltet und bietet nun eine deutlich aufgeräumtere UI sowie verschiedene Filter, etwa zur Anzeige nur der neuesten Lecks
- Die Architektur ist eine vollständige Single-Page-App (SPA), und Suchergebnisse werden schnell als JSON über die API bereitgestellt
- Auch der Prozess zur Bestätigung des Domain-Besitzes wurde neu vereinfacht
- Andere Authentifizierungsmethoden außer E-Mail sollen später separat verbessert werden
API
- Mit diesem Update gibt es überhaupt keine Änderungen oder Unterbrechungen an der API selbst
- Für die API-Dokumentation wird die Einführung des OpenAPI-basierten Tools Scalar vorbereitet; aktuell bleiben jedoch die bestehenden Inhalte erhalten und wurden lediglich stilistisch vereinheitlicht
- Später ist die Umstellung auf moderne Dokumentation auf Basis von Scalar geplant
Merchandise und Sticker
- Der offizielle HIBP-Goods-Shop wurde eröffnet, und der Verkauf von Produkten wie T-Shirts hat begonnen (auf Basis von Teespring, ohne Marge)
- Sticker werden weiterhin im Sticker Mule Store angeboten; die Artworks sind Open Source und können frei verwendet werden
Technik und Infrastruktur
- Das Backend der Website basiert auf Microsoft Azure und nutzt unter anderem App Service, Functions, Hyperscale SQL und Storage
- Die wichtigsten Web-Apps wurden in C# und .NET 9.0 sowie mit ASP.NET MVC (.NET Core) entwickelt
- Cloudflare wird effektiv für WAF, Caching, Turnstile (Anti-Bot) und R2 Storage eingesetzt
- Im Frontend wurde auf Basis von aktuellem Bootstrap, SASS und TypeScript eine moderne Benutzeroberfläche umgesetzt
- Dank der Beiträge zentraler Mitglieder wie des in Island ansässigen Entwicklers Ingiber wurde eine hohe Qualität und eine elegante UI erreicht
- Die Seitengröße und die Anzahl der Requests wurden jeweils um etwa 28 % bzw. 31 % reduziert, wodurch die Seite effizienter optimiert ist als noch vor 11 Jahren
- Tracking, Werbedaten und andere unnötige Elemente wurden vollständig ausgeschlossen, der Schutz der Privatsphäre der Nutzer hat hohe Priorität
Einsatz von AI
- Beim Rebuild der Website wurde Chat GPT aktiv genutzt, um verschiedenste Entwicklungsprobleme zu lösen, etwa bei CSS, Icon-Empfehlungen, Cloudflare-Konfigurationen und Besonderheiten von .NET Core
- Durch die schnellen Vorschläge und die Code-Automatisierung von AI wurde eine deutlich höhere Produktivität erreicht
- Besonders bei schneller Migration und Arbeitsautomatisierung zeigte sich eine hohe Genauigkeit und Nützlichkeit
Entwicklungsweg und Fazit
- Auch unsichtbare Arbeiten wie die Aktualisierung juristischer Dokumente haben viel Zeit und Kosten verursacht
- Vor und nach dem Launch wurden durch mehrere dringende Korrekturen und wiederholte Releases Probleme schnell behoben
- Ohne die ursprüngliche Ausrichtung aus den Augen zu verlieren, wurde der Neustart vollzogen und dabei Fachlichkeit, Erweiterbarkeit und Benutzerfreundlichkeit des Dienstes bewahrt
- HIBP ist seit 2013 das Ergebnis einer Leidenschaft, in die ein Viertel des Lebens investiert wurde, und mit Version 2.0 wird ein neuer Sprung als Community-Service erwartet
1 Kommentare
Hacker-News-Kommentare
passwordin JSON nur ein weiteres Feld, und wenn API- oder Logging-Systeme den gesamten Request-Body protokollieren, kann das reale Probleme verursachen; dass unsaltete Passwörter direkt in einem Passwortspeicher landen, sei zwar selten, aber etwa bei einem API-Gateway einer Android-App könne ein Flow wie „Passwort vergessen“ ähnliche Probleme verursachen, wenn dort sensible Daten nicht entsprechend behandelt werden – dazu eine Erfahrung aus der Praxis