Sämtliche Änderungen am Quellcode werden nachverfolgbar von uns dokumentiert (siehe Grundlagen sicherer Entwicklung und Dokumentation). Wir nutzen ausschließlich Software-Komponenten aus gesicherten Quellen wie Microsofts freiem Software-Komponenten-Verteilungsdienst NuGet oder beziehen diese direkt beim Hersteller als lizenziertes Produkt. Dieses Vorgehen ermöglicht es uns, alle Programmbibliotheken auf dem neusten Stand zu halten.
Neben der Verwendung von externen Software-Komponenten haben wir für unseren eigenen Code das 4-Augenprinzip eingeführt. Änderungen an kritischen Bereichen werden durch Code-Reviews von zwei erfahrenen Mitarbeitenden geprüft. Eine besondere Rolle spielen die Vielzahl an SQL-Anweisungen, die für die Kommunikation zwischen Client und Speicher benötigt werden. Um die Gefahr von SQL-Injections zu verringern, werden diese Anweisungen alle parametrisiert durchgeführt. Eine weitere wichtige Rolle sind Authentifizierungsprozesse, die doppelt abgesichert durchgeführt werden; einmal auf oberster Ebene im Frontend und einmal auf unterster Ebene in der API. Auf diese Weise vermeiden wird, dass versehentliche Fehler in der Entwicklung zu Autorisierungsfehlern führen.
Bei der Implementierung neuer Funktionen achten wir darauf, dass alle relevanten Informationen über das eingebaute Log-System aufgezeichnet und bei Bedarf durch den Nutzenden an uns übermittelt werden können. Zur Auswertung der Logs setzen wir auf Application Insights, ein von Microsoft bereitgestellter Service, der es uns ermöglicht, durch Algorithmen und Abfragen die Logs auszuwerten.
Unsere erfahrenen Entwickler werden bezüglich technischer Neuerungen und sicherheitsrelevanten Themen (z. B. OWASP Top Ten) regelmäßig geschult (siehe Schulung der Mitarbeitenden). Um unsere Cloud-Dienste zu verbessern, werden diese mithilfe eines Bug-Bounty-Programms bei HackerOne auf Sicherheitsprobleme hin überprüft.