vTzR.de

Sicherheitsaudits · Juni bis Oktober 2026

Geprüft, bevor es Ihre Daten trägt. Und danach immer wieder.

Acht aufeinander aufbauende Sicherheitsaudits nach OWASP-Methodik: vor dem ersten Produktiveinsatz, im laufenden Betrieb mit realen Mandanten und nach jedem größeren Funktionsausbau. Gesamtergebnis in allen Runden: keine kritischen oder hohen Schwachstellen.

Vollständige Berichte für Kunden auf Anfrage · Abgleich der Programmbibliotheken wöchentlich

8Audits zwischen dem 21. Juni und dem 7. Oktober 2026
336Routen der Anwendung in der siebten Runde einzeln abgefragt
0kritische oder hohe Schwachstellen, in keiner Runde
v1.195.6Version, ab der alle Befunde auf allen Zugängen behoben sind

Wie geprüft wird

Jede Runde folgt der OWASP-Methodik und prüft aus mehreren Angriffsperspektiven: von außen ohne Anmeldung, als angemeldeter Mandant gegen fremde Daten, als Kunde im Portal. Geprüft wird ausschließlich an einem Testzugang. Eine Sperre im Prüfwerkzeug schließt jeden anderen Mandanten technisch aus. Befunde werden nach Schwere eingeordnet, behoben, erneut geprüft und hier dokumentiert, einschließlich der Hinweise, die wir bewusst akzeptiert haben.

Sicherheitsaudit Oktober 2026

Audit 8 · 2. und 7. Oktober

Seit Ende September sind die Behandlungsdokumentation mit Anamnesebogen, die Datenauskunft nach Art. 15 DSGVO mit Ablage im Kundenportal, die Selbsteinrichtung des Kundenportals, die feste Kundennummer und der sofortige Abgleich mit einem externen Kalender hinzugekommen. Die achte Runde lief an zwei Prüftagen: am 2. Oktober für die neuen Funktionen, am 7. Oktober für alles, was danach kam. Steuerberater-Zugang, Einkaufsliste und Terminangebot wurden dabei erstmals von Anfang bis Ende durchgespielt, einschließlich der Links aus den versandten E-Mails.

Sicherheitsniveau: sehr gut. Alle Befunde behoben und auf allen Zugängen ausgeliefert.

Was zusätzlich geprüft wurde

  • Behandlungsdokumentation und Anamnesebogen
  • Datenauskunft nach Art. 15 DSGVO und ihre Ablage im Kundenportal
  • Kundenportal: Einrichtung per Link, „Passwort vergessen“, Zugang nur zur Terminplanung
  • Feste Kundennummer in allen Kundenseiten und bei der Zuordnung von Terminen
  • Externer Kalender: Verbindungstest und sofortiger Abgleich
  • Steuerberater-Zugang, Einkaufsliste und Terminangebot von Anfang bis Ende
  • Wiederholung sämtlicher Prüfungen der Vorrunden, 237 Prüfungen insgesamt

Bestätigte Sicherheitsmaßnahmen

  • Die Behandlungsdokumentation ist verschlüsselt gespeichert, kann nur ergänzt werden und ist über den Dateibereich nicht erreichbar
  • Der Einrichtungslink des Kundenportals ist an das eine Konto gebunden und nach Gebrauch wertlos
  • Eine Datenauskunft ist im Portal nur für das eigene Konto abrufbar
  • Jede Kundenseite trifft genau den Kunden, dessen Nummer sie trägt, auch wenn sich die Kundenliste zwischendurch ändert
  • Der externe Kalender verbindet sich nur mit fremden Servern, auch nicht über eine Weiterleitung mit internen Adressen
  • Wer online unter dem Namen eines Kunden, aber mit anderer E-Mail-Adresse bucht, wird ihm erst zugeordnet, wenn die Praxis es bestätigt
  • Keine der neuen Seiten gibt Eingaben aus der Adresszeile ungeprüft aus
  • Abgleich aller Programmbibliotheken und Systempakete ohne offenen Treffer
  • Kein Rückfall in den Prüfungen der Vorrunden
Audit 8: Akte, Datenauskunft, Kundennummer, externer Kalender 2. und 7. Oktober 2026
IDSchwereBeschreibungStatus
N-01NiedrigÄnderte sich die Kundenliste zwischen Anzeigen und Abruf, konnte die Datenauskunft den falschen Kunden betreffen (nur angemeldet)✓ Behoben
N-02NiedrigDie Datenauskunft ordnete Zahlungseingänge über einen Teilvergleich des Namens zu und konnte so fremde Zahlungen enthalten✓ Behoben
N-03NiedrigDer Abgleich mit einem externen Kalender verband sich auch mit internen Adressen (nur angemeldet)✓ Behoben
I-01 – I-06InfoSechs Hinweise: weitere Formulare der Kundenseite über die Listenposition statt den Kunden, Meldungstext aus der Adresszeile, Auslieferung der Korrekturen, mehrere Zusagen auf ein Terminangebot, Verbindungstest speicherte eine abgewiesene Adresse, Online-Buchung ordnete über den Namen allein zu5 behoben, 1 Entscheidung offen

Sicherheitsaudits September 2026

Audit 6 · 3. September · Audit 7 · 24. September

Seit August sind unter anderem die Termin-Selbstverwaltung durch den Kunden, die Warteliste, die Anmeldung mit Passkey, eigene Adressen je Praxis, der Steuerberater-Zugang, die Einkaufsliste per geheimem Link, das Terminangebot und der Kundenimport hinzugekommen. Am 3. September wurden die neuen Funktionen geprüft, am 24. September folgte die siebte Runde. Erstmals wurde dabei jede einzelne der 336 Routen der Anwendung abgefragt. Die Liste dafür stammt aus der laufenden Anwendung, nicht aus einer Aufstellung von Hand.

Sicherheitsniveau: sehr gut. Alle Befunde behoben und auf allen Zugängen ausgeliefert.

Was zusätzlich geprüft wurde

  • Termin-Selbstverwaltung und Terminänderung durch die Praxis
  • Warteliste auf der öffentlichen Buchungsseite
  • Anmeldung mit Passkey (Face ID, Fingerabdruck)
  • Eigene Adressen je Praxis und Browser-Benachrichtigungen
  • Steuerberater-Zugang, Einkaufsliste, Terminangebot
  • Kundenimport, Zusatzpositionen und Dauerposten
  • Ressourcentrennung der Mandanten-Container
  • Wiederholung sämtlicher Prüfungen der Vorrunden

Bestätigte Sicherheitsmaßnahmen

  • Alle 336 Routen: nichts Geschütztes ohne Anmeldung, nichts Schreibendes ohne CSRF-Token
  • Ein Link zur Termin-Selbstverwaltung ist nach Gebrauch wertlos
  • Die Anmeldung mit Passkey ist ein zweiter Weg hinein, aber kein schwächerer
  • Die Praxis kann nur Termine ändern, die zum jeweiligen Kunden gehören
  • Die Warteliste nimmt Eingaben erst nach bestätigter E-Mail-Adresse an und gibt sie nirgends ungeprüft aus
  • Steuerberater-Zugang mit eigener Sitzung, Einmal-Link und ausschließlich abgeschlossenen Zeiträumen
  • Jeder Mandanten-Container hat eine feste Obergrenze für Arbeitsspeicher, Rechenzeit und Prozesse
  • Abgleich aller Programmbibliotheken gegen die Schwachstellendatenbank ohne Treffer, einschließlich des Python-Interpreters
  • Kein Rückfall in den Prüfungen der Vorrunden
Audit 7: Routen-Vollprüfung, neue öffentliche Wege, Ressourcen 24. September 2026
IDSchwereBeschreibungStatus
N-01NiedrigDie Mandanten-Container hatten keine Obergrenze für Arbeitsspeicher, Rechenzeit und Prozesse✓ Behoben
N-02NiedrigDer Kundenimport begrenzte die Dateigröße einer Excel-Mappe, nicht ihre entpackte Größe (nur angemeldet)✓ Behoben
N-03 – N-05NiedrigDie drei noch offenen Niedrig-Befunde aus Audit 6 (N-02 bis N-04), erneut bestätigt✓ Behoben
I-01 – I-06InfoSechs Hinweise: frei eingegebene Texte im Rechnungs-PDF nicht einheitlich maskiert, Vertragsdatei blieb beim Löschen eines Dauerpostens liegen, Python-Interpreter nicht im wöchentlichen Abgleich, Klickziel der Browser-Benachrichtigung, liegen gebliebene Handkopie auf dem Testzugang, gemeinsame Token (Architektur)5 behoben, 1 akzeptiert
Audit 6: Selbstverwaltung, Warteliste, Passkeys, eigene Adressen 3. September 2026
IDSchwereBeschreibungStatus
M-01MittelBeim Testzugang fehlte im laufenden Web-Server die Zeile, die das Pfadpräfix setzt, obwohl sie im Repository stand. Seither vergleicht eine eigene Prüfung beide Stände.✓ Behoben
N-01NiedrigAuf den eigenen Adressen der Praxen konnte der Aufrufer das Pfadpräfix mitbestimmen✓ Behoben
N-02NiedrigEine überlange Terminkennung führte zu einem Serverfehler statt zu einer Meldung (kein Datenzugriff möglich)✓ Behoben
N-03NiedrigDie Zieladresse für Browser-Benachrichtigungen wurde ungeprüft übernommen (nur angemeldet)✓ Behoben
N-04NiedrigDas Unterschriftsbild wurde nach Dateigröße geprüft, nicht nach Bildgröße✓ Behoben
I-01 – I-04InfoVier Hinweise: Klickziel der Browser-Benachrichtigung, gemeinsamer Token am Texterkennungsdienst, ein Geheimnis für Lesen und Schreiben bei der Raumteilung, Paketbestand ohne Treffer1 behoben, 2 akzeptiert, 1 ohne Befund

Sicherheitsaudits Juli und August 2026

Audit 3 · 28. Juli · Audit 4 und 5 · 20. August

Nach den beiden Juni-Audits ist die Anwendung erheblich gewachsen. Jeder größere Funktionsausbau wurde deshalb erneut geprüft: am 28. Juli die Belegerfassung, das Kundenportal und die Videosprechstunde, am 20. August der gesamte steuerliche Auswertungsbereich und im selben Zug erstmals auch die Ebenen unterhalb der Anwendung: die eingesetzten Programmbibliotheken, die Datei-Parser und der vorgelagerte Web-Server. Den Abschluss bildete ein Vollaudit der gesamten Plattform.

Sicherheitsniveau: sehr gut. Keine kritischen oder hohen Risiken.

Was zusätzlich geprüft wurde

  • Belegerfassung mit Texterkennung und öffentlicher Upload-Link
  • Kundenportal, Kündigung und Vertragsnachtrag
  • Videosprechstunde (Moderator- und Gastrollen)
  • Steuerliche Auswertung, Dauerposten und sonstige Einnahmen
  • Vorausplanung mit freier Kalenderauswahl
  • Programmbibliotheken gegen bekannte Schwachstellen
  • Mandantentrennung im vorgelagerten Web-Server
  • Mailversand, Raumteilung und Vollständigkeit der Datensicherung

Bestätigte Sicherheitsmaßnahmen

  • Kostenpflichtige Funktionen sind auf jeder einzelnen Route freigeschaltet, nicht nur auf der Übersichtsseite
  • Frei erfundene Terminzeiten werden serverseitig abgewiesen und erzeugen keinen Kalendereintrag
  • Rechnungs-Downloads im Kundenportal prüfen die Eigentümerschaft
  • Mandantentrennung im Web-Server hält 24 Traversal-Mustern in beide Richtungen stand
  • Formel-Injektion in Exportdateien ist bis in den fertigen Download entschärft
  • Geheimnisse der Endkunden werden getrennt und außerhalb der Reichweite der Praxis gesichert
  • Belegtzeiten der Raumteilung enthalten weder Titel noch Namen
  • Sämtliche Befunde der vorangegangenen Runden sind behoben und geblieben
  • Der Abgleich aller Programmbibliotheken gegen die Schwachstellendatenbank ist für beide Abbilder ohne Treffer
Audit 5: Vollaudit der Plattform 20. August 2026
IDSchwereBeschreibungStatus
M-01MittelBibliothek zur Formularverarbeitung hinter dem Stand der Sicherheitskorrekturen (Verfügbarkeit)✓ Behoben
M-02MittelWeb-Rahmenwerk hinter dem Stand der Sicherheitskorrekturen (Verfügbarkeit)✓ Behoben
N-01NiedrigVerfälschtes Host-Feld konnte die Einbettungssperre lockern, vom vorgelagerten Web-Server ohnehin abgewiesen✓ Behoben
N-02NiedrigSteuerzeichen im eingegebenen Namen brechen den Mailversand ab (Einschleusen von Empfängern bleibt ausgeschlossen)✓ Behoben
N-03NiedrigQuadratisch wachsende Rechenzeit der Belegerkennung bei gezielt konstruierten Eingaben✓ Behoben
N-04NiedrigDatensicherung erfasst die Grundlage des E-Mail-Einwilligungsnachweises nicht✓ Behoben
N-05NiedrigAktualisierung der Vorrunde erreichte den Texterkennungsdienst nicht (dort kein Angriffsweg)✓ Behoben
I-01 – I-04InfoVier Hinweise: gemeinsamer Token am Texterkennungsdienst, ein Geheimnis für Lesen und Schreiben bei der Raumteilung, Bauwerkzeuge im Laufzeitabbild, fehlende base-uri-Direktive2 behoben, 2 akzeptiert
Audit 4: Steuerliche Auswertung, Abhängigkeiten, Web-Server 20. August 2026
IDSchwereBeschreibungStatus
M-01MittelVeraltete Programmbibliothek: Überlastung des Arbeitsspeichers über Formulardaten möglich✓ Behoben
M-02MittelVeraltete Programmbibliothek: Überlastung der Rechenzeit über verformte Formulardaten✓ Behoben
N-01NiedrigEinbettungssperre wurde über einen Teilstring im Pfad statt über die Seite selbst entschieden✓ Behoben
N-02NiedrigKontoauszug-XML wurde ohne Begrenzung der Entity-Expansion gelesen✓ Behoben
N-03NiedrigKalendereinträge der Platzhalter-Blöcke ohne vollständiges Escaping✓ Behoben
I-01 – I-05InfoFünf Hinweise: Tokenvergleich, gemeinsamer Token, Pixelobergrenze für Bilder, Sandbox-Hinweise der Vorlagenbibliothek, ungenutzte Konfigurationszeile im Web-ServerBehoben bzw. akzeptiert
Audit 3: Belegerfassung, Kundenportal, Videosprechstunde 28. Juli 2026
IDSchwereBeschreibungStatus
M-01MittelBeleg-Upload: pathologisch kleines Bild führte zum Verbindungsabbruch statt zu einer Fehlermeldung✓ Behoben
I-01InfoTexterkennungsdienst verglich seinen Zugriffstoken nicht konstantzeitig✓ Behoben
I-02InfoEin gemeinsamer Zugriffstoken für alle Mandanten am TexterkennungsdienstAkzeptiert (Architektur)

Sicherheitsaudits Juni 2026

Audit 1 · 21. Juni · Audit 2 · 29. Juni

Die Terminverwaltung und Rechnungserstellung wurde im Juni 2026 in zwei strukturierten Sicherheitsaudits nach OWASP-Methodik geprüft: am 21. Juni vor dem ersten Produktiveinsatz und am 29. Juni im laufenden Betrieb mit realen Mandanten aus drei Angriffsperspektiven. Alle identifizierten Verbesserungspunkte wurden unmittelbar behoben.

Sicherheitsniveau: sehr gut. Alle Befunde behoben.

Was geprüft wurde

  • Login-Seite und Session-Management
  • Datei-Browser und Upload-Funktion
  • CalDAV-Server und Kalender-Zugriff
  • Online-Terminvergabe (öffentlicher Bereich)
  • Mandanten-Isolation (Zugriff auf fremde Daten)
  • TLS-Konfiguration und HTTP-Sicherheitsheader

Bestätigte Sicherheitsmaßnahmen

  • CSRF-Schutz auf allen schreibenden Endpunkten
  • Brute-Force-Schutz (Rate-Limiting) auf Login und CalDAV
  • Session-Invalidierung bei Logout, alle Geräte gleichzeitig
  • Pfad-Traversal-Schutz im Datei-Browser
  • Strikte Mandanten-Isolation auf Container-Ebene
  • TLS 1.2/1.3, HSTS, starke Cipher-Suites
  • bcrypt-Passwort-Hashing (Work-Factor 12)
  • Keine Versionsinformationen in Server-Headern
  • Content-Security-Policy, X-Frame-Options, nosniff
  • API-Dokumentation vollständig deaktiviert
  • Timing-sicherer Credential-Vergleich
  • Race-Condition-Schutz bei der Terminbuchung
Audit 2: Produktionsbetrieb, drei Angriffsperspektiven 29. Juni 2026
IDSchwereBeschreibungStatus
L-01NiedrigMandanten-Slug-Aufzählung über Terminvergabe-URL möglich✓ Behoben
L-02NiedrigHTTP 500 beim Aufruf eines Mandantenpfads ohne abschließenden Slash✓ Behoben
L-03NiedrigCalDAV: fehlende Kalender-ID-Validierung (kein Datenzugriff möglich)✓ Behoben
L-04NiedrigEinrichtungs-API gab Framework-Informationen bei falschen Anfragen preis✓ Behoben
I-01InfoInterner Server-Port in Weiterleitungs-URLs sichtbar✓ Behoben
I-02InfoBuchungswidget erlaubt Einbettung von beliebigen DomainsAkzeptiert (by Design)
I-03InfoEinrichtungsassistent verwendete schwächere Content-Security-Policy✓ Behoben
Audit 1: vor dem Produktiveinsatz 21. Juni 2026
IDSchwereBeschreibungStatus
M-01MittelRate-Limit-Bypass via IP-Spoofing (nur ohne Reverse Proxy)✓ Behoben
M-02MittelBenutzernamen-Enumeration über Terminvergabe-URL✓ Behoben
M-03MittelFehlende Datei-Extension-Prüfung beim Upload✓ Behoben
L-01NiedrigUngültiger Dateiname verursachte HTTP 500 statt HTTP 400✓ Behoben
L-02NiedrigKein CSRF-Schutz auf öffentlichem Buchungsformular✓ Behoben
I-01InfoFehlende nginx-Konfiguration für zweiten Mandanten✓ Behoben
I-02InfoKonfigurationsdatei mit zu offenen Dateiberechtigungen✓ Behoben

Was darüber hinaus gilt

Ein Container je Zugang

Jede Praxis läuft in einem eigenen, abgeschotteten Container mit eigenem Datenbestand. Es gibt keine gemeinsame Datenbank, in der die Daten mehrerer Praxen nebeneinanderlägen.

Rechenzentren in Deutschland

Server und verschlüsseltes Offsite-Backup stehen in zwei verschiedenen deutschen Rechenzentren. Die Verbindung ist durchgehend verschlüsselt, ohne Tracking und ohne Werbenetzwerke.

Laufende Kontrolle

Der Abgleich aller Programmbibliotheken gegen die Schwachstellendatenbank läuft wöchentlich. Die nächste vollständige Prüfung folgt nach wesentlichen Änderungen.

Die rechtliche Seite, Auftragsverarbeitung, Server in Deutschland und der besondere Schutz für Gesundheitsdaten, steht unter DSGVO und AVV. Vollständige Auditberichte erhalten Kunden auf Anfrage an Admin@vTzR.de.