Eine erfundene Firma für echte Screenshots
grundschutz-viewer ist ein kleines Programm, das die Nachweise eines ISMS als eine einzige HTML-Seite darstellt. Für seine README brauchte ich Screenshots. Echte Daten aus meinem Betrieb durfte ich dafür nicht zeigen. Also habe ich eine Firma erfunden und meine echte Werkzeugkette sieben Nächte lang für sie laufen lassen.
TL;DR
TL;DR: Echte Läufe aus meinem ISMS kann ich nicht zeigen, weil darin interne Namen stehen. Ausgedachte Beispieldateien zeigen dagegen keinen Verlauf. Deshalb lief meine echte Kette sieben Nächte lang für eine erfundene Example GmbH. Befunde tauchen auf, bleiben eine Weile und verschwinden wieder. Die Screenshots zeigen das Werkzeug damit genau so, wie es arbeitet.
Wie die Screenshots entstanden sind
Was der Viewer zeigt
Mein ISMS führe ich in OSCAL. Das ist ein offenes Format des NIST für Sicherheitsnachweise, maschinenlesbar und als JSON gespeichert. Die Skripte aus grundschutz-worksheets erzeugen damit vier Dokumente: das Profil mit den geltenden Anforderungen, den Sicherheitsplan, die Prüfergebnisse und den Maßnahmenplan. Diese Abfolge nenne ich die Kette.
Jede Messung ergibt einen Lauf, also einen Satz dieser Dokumente zu einem Zeitpunkt. Der grundschutz-viewer liest mehrere Läufe und macht daraus eine HTML-Seite. Dort steht je Anforderung der aktuelle Stand und ihr Verlauf: welcher Lauf was gemessen hat und wann eine Messung umschlug.
Warum nicht die echten Daten
Die Kette läuft in meinem ISMS mit jeder Messung. In ihren Dokumenten stehen aber Namen von Projekten, Hosts und Diensten. Die gehören nicht in eine öffentliche README.
Schwärzen hilft wenig. Ein geschwärzter Screenshot zeigt vor allem Balken, und jeder übersehene Name wäre veröffentlicht.
Warum nicht einfach ausgedachte Dateien
Ein paar ausgedachte JSON-Dateien hätten die Oberfläche gefüllt. Sie hätten aber nur einen einzigen Stand gezeigt. Gerade den Verlauf soll der Viewer zeigen, und dafür braucht er mehrere Läufe. Mit nur einem Lauf bleibt diese Ansicht leer.
Sieben Nächte für die Example GmbH
Die Example GmbH gibt es nur als Szenario. Es beschreibt sieben Nächte, vom 7. bis zum 13. Oktober 2026. Normalerweise liefern die fünf Prüfungen aus grundschutz-checks die Messwerte. Hier tritt ein Platzhalter an ihre Stelle. Er gibt für jede Nacht ein Ergebnis aus, das so aussieht wie das der echten Prüfungen.
Geprüft werden erfundene Projekte wie example/api, example/infra, example/shop und example/website, dazu die TLS-Endpunkte www.example.org und shop.example.org. Befunde tauchen in einer Nacht auf, bleiben ein paar Nächte und werden dann behoben.
Zwei weitere Dateien gehören in jedes ISMS. In der Bewertung von Hand stufen die Verantwortlichen einige Anforderungen als umgesetzt oder teilweise umgesetzt ein. Der Maßnahmenplan enthält Termine, und einer davon ist überschritten.
Dieselbe Kette, nur ein anderer Tag
Alles andere ist keine Attrappe. Aus dem Szenario bauen dieselben Skripte, die in meinem ISMS laufen, Nacht für Nacht die vier Dokumente. Dafür reichen zwei Schalter. --store dir: legt die Ergebnisse in einem lokalen Ordner ab statt im gesperrten Speicher meines Betriebs. --day setzt das Datum, für das ein Lauf gilt. Zusammengeschaltet wird das in einem Vorlagen-Repository, das noch nicht öffentlich ist.
Am Ende liegen sieben Ordner da, einer je Nacht. Der Viewer liest sie als sieben Läufe und baut daraus eine Seite mit Verlauf.
Screenshots aus dem Browser
Die Bilder macht ein Chrome ohne Fenster, der sogenannte Headless-Modus. Ein Anker in der Adresse wählt aus, welche Anforderung zu sehen ist:
chrome --headless=new --window-size=1440,900 --screenshot "explorer.html#KONF.14.1.1"
So entstehen zwei Ansichten. Die Übersicht zeigt den Stand des neuesten Laufs und darunter alle Läufe davor. Die Akte, also die Detailansicht einer Anforderung, zeigt, in welcher Nacht ihre Messung umschlug.

Die Lehre
Eine Demo muss durch denselben Code laufen wie der Betrieb. Nur die Eingaben dürfen erfunden sein. Sonst zeigt der Screenshot ein Werkzeug, das es so nicht gibt, und die erste echte Installation beginnt mit einer Enttäuschung.
Häufige Fragen
Warum nicht die eigenen Daten schwärzen?+
Ein geschwärzter Screenshot zeigt vor allem Balken. Und jeder übersehene Name wäre veröffentlicht, in einer README, die gespiegelt und zwischengespeichert wird.
Setzt du den Viewer selbst ein?+
Noch nicht. Der grundschutz-viewer ist gebaut und als v0.2.0 veröffentlicht. In meinem ISMS läuft er bisher nicht. Die Kette aus grundschutz-worksheets, deren Dokumente er liest, ist dort dagegen im Einsatz.
Wo finde ich die Screenshots?+
In der README auf GitHub und auf der Seite zum grundschutz-viewer. Beide zeigen dieselbe Example GmbH: die Übersicht mit dem Verlauf, die Akte einer Anforderung und das Register.
Fazit
Die Screenshots zeigen eine Firma, die es nicht gibt, aber ein Werkzeug, das es genau so gibt. Das war mir wichtiger als eine hübsche Oberfläche. Was in der README zu sehen ist, entsteht auf demselben Weg wie in meinem ISMS, nur mit erfundenen Eingaben.
Die Bilder stehen in der README auf GitHub und auf der Seite zum grundschutz-viewer.
Ich zeige dein ISMS-Werkzeug, ohne dein ISMS zu zeigen.
Mit dir baue ich ein Szenario, das durch denselben Code läuft wie dein Betrieb, nur mit erfundenen Eingaben. So entstehen Screenshots und Demos, die nichts verraten und trotzdem zeigen, wie das Werkzeug im Alltag aussieht.
Statt Beratung auf Papier richte ich das Szenario in deiner Pipeline ein, damit es mit jeder neuen Version mitläuft.
Über den Autor

Kai Ole Hartwig
Programmiert seit 2002 – autodidaktisch gelernt, 2012 mit KO-Web selbständig gemacht. Über 100 Projekte, Fokus auf Security, Performance, Automatisierung und Qualität. Heute freiberuflich: DevSecOps-Beratung, Schulungen und Softwareentwicklung.
