
isms-builder v1.37.1
Selbst gehostetes Informationssicherheits-Managementsystem — ISO 27001, NIS2, GDPR/DSGVO, BSI IT-Grundschutz

ISMS Builder
Selbst gehostetes Informationssicherheits-Managementsystem — Open Source, keine Cloud erforderlich
📖 Wiki — Docker-Image-Nutzung & Umgebungsvariablen, Architektur & Module, FAQ, Mitwirken (DE/EN)
⚠️ Sicherheitswarnung: Gefälschte Repositories und Kopien, die Malware verbreiten
ISMS Builder hat keine verpackten „Releases", Installationsprogramme oder herunterladbare ZIP-Dateien — die einzige legitime Quelle ist dieses Repository, geklont oder direkt von GitHub als reiner Quellcode heruntergeladen. Uns ist mindestens ein bösartiges Repository bekannt, das sich als dieses Projekt ausgibt (gefälschte README, gefälschter „Download"-Button, der auf eine als Screenshot getarnte ZIP verlinkt, die einen Windows-Malware-Loader enthält —
.cmd→.exe→ Lua-DLL-Payload-Kette). Laden Sie keine „isms_builder"-ZIP/Installationsprogramme/EXE von irgendwo anders als diesem Repository herunter oder führen Sie sie aus. Wenn Sie ein verdächtiges Repository oder eine Website finden, die sich als dieses Projekt ausgibt, eröffnen Sie bitte ein Issue oder eine Diskussion, damit wir es kennzeichnen können.
Status: Aktive Entwicklung — noch kein fertiges Produkt. Die Kernmodule sind funktionsfähig und im Einsatz, aber einige Funktionen sind unvollständig und die Plattform wächst noch. Beiträge, Feedback und Tests in der Praxis sind sehr willkommen — genau deshalb wurde dies als Open Source veröffentlicht.
🛡️ Verwandtes Projekt: NIS2 Quick-Check — ein kostenloser, eigenständiger NIS2-Selbstcheck (10 Domänen × 5 Fragen, alle 27 EU-Mitgliedstaaten, alle 24 EU-Amtssprachen). Läuft vollständig im Browser, kein Backend, keine Installation. Nicht Teil von ISMS Builder und nicht erforderlich für dessen Nutzung — nur ein Begleittool für eine schnelle erste Orientierung.
Was ist ISMS Builder?
ISMS Builder ist eine selbst gehostete Webplattform zur Verwaltung eines Informationssicherheits-Managementsystems (ISMS). Es deckt den gesamten Compliance-Lebenszyklus ab — von der Richtlinienerstellung bis zu Audit-Nachweisen — für ISO 27001:2022, NIS2, DSGVO, BSI IT-Grundschutz und andere Frameworks.
Keine Cloud. Keine SaaS-Gebühren. Ihre Daten bleiben auf Ihrem Server.
Entwickelt für KMU, IT-Teams und Berater, die ein echtes ISMS-Tool ohne einen fünfstelligen Anbietervertrag benötigen.
Verwendungszweck und Umfang
Dieses Projekt begann als Arbeitswerkzeug für einen einzelnen ISMS-Praktiker und ist daraus gewachsen. Es ist Open Source, weil die Arbeit für andere nützlich sein könnte — nicht, weil es ein getarntes kommerzielles Produkt ist. Diese Klarheit hilft Ihnen zu entscheiden, ob es zu Ihrer Situation passt.
Wofür es gebaut wurde. Ein kleines ISMS-Team — oft eine Person, manchmal eine Handvoll — das die Dokumentation eines Managementsystems erstellt und pflegt: Richtlinien, Risiken, Assets, Kontrollen, Nachweise. Die Zahl der Personen, die ein Konto benötigen, wird voraussichtlich klein bleiben. Ein großes Publikum zu erreichen funktioniert ohne Konten: Richtlinienbestätigungen werden als tokenbasierte Links versendet, sodass Empfänger ein Dokument lesen und bestätigen, ohne sich jemals anzumelden und ohne in einer Benutzerliste zu erscheinen.
Was es von Ihnen erwartet. ISMS Builder ist selbst gehostet, und alles, was daraus folgt, gehört Ihnen: Bereitstellung, TLS, Härtung, Backups, Updates, Zugriffskontrolle und die Datenschutzpflichten für alles, was Sie darin speichern. Das Projekt liefert eine angemessene Standardkonfiguration, keinen verwalteten Dienst.
Was es nicht ist. Es gibt kein gehostetes SaaS-Angebot, keinen kommerziellen Supportvertrag und keine Service-Level-Vereinbarung. Es ist kein Multi-Tenant-Hosting-Produkt. Es zertifiziert Sie nicht gegen einen Standard und ist keine Rechtsberatung — es hilft Ihnen, die Arbeit zu organisieren und zu belegen, aber die Bewertung bleibt Ihnen und Ihrem Auditor überlassen.
Wer es pflegt. Eine Person, neben einem Vollzeitjob. Issues und Diskussionen werden gelesen und beantwortet, normalerweise innerhalb von Tagen; Sicherheitsmeldungen werden priorisiert. Funktionswünsche sind willkommen und prägen die Roadmap tatsächlich, konkurrieren aber um begrenzte Abende. Wenn Ihre Organisation von einem festen Zeitplan oder einer garantierten Antwort abhängt, ist ein kommerzieller Anbieter die ehrliche Empfehlung — und das ist kein Grund, das Projekt zu meiden, sondern nur ein Grund, realistisch zu planen.
Screenshots
| Login | Dashboard |
|---|---|
![]() | ![]() |
| Anwendbarkeitserklärung | Risikomanagement |
|---|---|
![]() | ![]() |
| DSGVO & Datenschutz | Asset-Management |
|---|---|
![]() | ![]() |
| Leitfaden & Dokumentation | Berichte |
|---|---|
![]() | ![]() |
Führen Sie
npm startaus und öffnen Siehttps://localhost:3000, um den vollständigen Demo-Datensatz lokal zu erkunden.
Funktionsübersicht
| Modul | Beschreibung | Standards |
|---|---|---|
| Richtlinienverwaltung | Template-CRUD, Versionierung, Lebenszyklus (Entwurf → Freigabe → Genehmigt → Archiviert), Raumhierarchie, Anhänge | ISO 27001 §5 |
| Anwendbarkeitserklärung | 313 Kontrollen über 8 Frameworks, Inline-Bearbeitung, Gap-Analyse, Querverweise | ISO 27001 A / BSI / NIS2 / EUCS / EUAI / ISO 9001 / CRA |
| Risikomanagement | Risikoregister, Behandlungspläne, Auditor-Rolle | ISO 27001 §6.1 |
| Sicherheitsziele | KPI-Tracking mit Fortschrittsbalken, Kalenderintegration | ISO 27001 §6.2 |
| DSGVO & Datenschutz | VVT, AV-Verträge, DSFA, TOMs, DSAR-Warteschlange, 72h-Timer, Löschprotokoll mit E-Mail-Benachrichtigungen | DSGVO Art. 13–35 |
| Asset-Management | Asset-Register, bearbeitbare Asset-Typen, Schutzziele (CIA + Authentizität) mit Abhängigkeitsvererbung, Klassifizierungsstufen, EoL-Tracking | ISO 27001 A.5.9–5.12 |
| BCM / BCP | Business-Impact-Analyse, Notfallpläne, Übungen | ISO 27001 A.5.29–5.30 / NIS2 |
| Schulungsnachweise | Schulungskatalog, Abschlussverfolgung, Zertifikats-Upload | ISO 27001 A.6.3 |
| Lieferantenmanagement | Lieferantenregister, Auditplanung, Risikobewertung | ISO 27001 A.5.19–5.22 |
| Recht & Verträge | Verträge, NDAs, Datenschutzerklärungen, Ablaufkalender | |
| Incident-Postfach | CISO-Postfach + öffentliches Meldeformular (keine Anmeldung erforderlich) | NIS2 / BSI |
| Governance | Management-Reviews, Maßnahmenverfolgung | ISO 27001 §9.3 |
| Berichte | Compliance-Matrix (Kontrolle × Entität), Gap-Bericht, Review-Zyklen, CSV-Export | |
| Audit-Feststellungen | Feststellungsregister (IST→SOLL→Risiko→Empfehlung), Maßnahmenpläne, Schweregrad-/Statusverfolgung, FIND-YYYY-NNNN-Referenz | ISO 27001 §9.2 |
| Rückverfolgbarkeit | Jeder Datensatz verknüpft mit SoA-Kontrollen + Richtliniendokumenten — bidirektional | |
| Semantische Suche | Lokale KI-Suche über Ollama (nomic-embed-text) mit Keyword-Fallback | |
| Multi-Entität | Konzernstrukturbaum, Kontrollen- und Richtlinien-Anwendbarkeit pro Entität | |
| Mehrsprachige UI & Demo-Daten | Vollständige UI und Demo-Inhalte in 🇩🇪 DE / 🇬🇧 EN / 🇫🇷 FR / 🇳🇱 NL; Admin steuert verfügbare Sprachen |
⚠ WICHTIG: ISO-Kontrollen erfordern manuelle Installation durch den Administrator
ISO 27001:2022, ISO 9000:2015 und ISO 9001:2015 sind urheberrechtlich geschützte Standards, die von der International Organization for Standardization (ISO, © ISO) veröffentlicht wurden. Die Kontrolldefinitionen (Titel, Beschreibungen, Anforderungstexte) sind nicht in dieser Software enthalten und dürfen nicht ohne eine gültige ISO-Lizenz weiterverbreitet werden.
Was das in der Praxis bedeutet: Die SoA-Module für ISO 27001, ISO 9000 und ISO 9001 werden ohne Kontrollinhalte ausgeliefert. Der Administrator muss die Kontrollen manuell importieren, bevor diese Frameworks nutzbar sind:
- Besorgen Sie eine lizenzierte Kopie des Standards von iso.org oder einer autorisierten nationalen Stelle
- Bereiten Sie eine JSON-Datei mit Ihren Kontrolldefinitionen vor (Format dokumentiert in
scripts/import-iso-controls.sh) - Führen Sie das Importskript aus: ```bash
bash scripts/import-iso-controls.sh path/to/iso-controls.json
- Starten Sie den ISMS Builder Server neu
Frameworks, die standardmäßig enthalten sind (keine ISO-Lizenz erforderlich): BSI IT-Grundschutz, EU NIS2, EUCS, EU AI Act und CRA basieren auf öffentlich zugänglichen EU-Rechtsvorschriften und deutschen Bundesveröffentlichungen und sind vollständig vorinstalliert.
Der Betrieb der ISO-Framework-Module ohne gültige Lizenz für den jeweiligen Standard liegt in der alleinigen Verantwortung des Betreibers. Das ISMS Builder-Projekt und seine Mitwirkenden übernehmen keine Haftung für die unlizenzierte Nutzung von ISO-geschützten Inhalten.
Schnellstart```bash
git clone https://github.com/coolstartnow/isms-builder.git cd isms-builder npm install cp .env.example .env # set JWT_SECRET to a long random string npm start # http://localhost:3000
Melden Sie sich mit **`[email protected]` / `adminpass`** an. Beim ersten Login werden Sie aufgefordert, Ihre **Sprache für die Demodaten** zu wählen (🇩🇪 DE / 🇬🇧 EN / 🇫🇷 FR / 🇳🇱 NL) oder mit einem leeren System zu starten. Ändern Sie das Admin-Passwort sofort danach.
Für den Produktionseinsatz mit HTTPS:```bash
# .env
JWT_SECRET=your-very-long-random-secret
STORAGE_BACKEND=json
SSL_CERT_FILE=/etc/ssl/certs/your.crt
SSL_KEY_FILE=/etc/ssl/private/your.key
Nach der Auswertung mit Demodaten live gehen? Führen Sie stattdessen das interaktive Produktionsvorbereitungs-Tool aus, anstatt mit einer frischen Installation zu beginnen – es löscht Demo-/Testinhalte Modul für Modul (oder alles auf einmal), sodass echte Daten, die Sie bereits eingegeben haben (z. B. Risiken, Assets), nicht erneut eingegeben werden müssen:```bash bash stop.sh node scripts/prepare-production.js bash start.sh
Es wird immer ein Backup (`data.bak.<timestamp>/`, neben Ihrem `data/`-Verzeichnis) erstellt, bevor
etwas geändert wird, und `STORAGE_BACKEND` wird nie angefasst — anders als bei der In-App-Aktion „Demo Reset“
im Admin-Bereich, die für die Demo-Instanz gedacht ist und aus historischen Gründen weiterhin auf `sqlite` umschaltet
(siehe [Issue #42](https://github.com/coolstartnow/isms-builder/issues/42)).
---
## Docker
Jede Veröffentlichung wird als GitHub-Paket im GitHub Container Registry veröffentlicht, für
`linux/amd64` und `linux/arm64` — getaggt mit `:latest` und `:<version>` (z. B. `:1.37.5.2`):```bash
docker compose up -d
# App runs at http://localhost:3000
Oder ohne Compose (data/ muss ein Bind-Mount sein — Daten werden nie in das Image eingebacken):```bash
docker run -d --name isms-builder -p 3000:3000
-e JWT_SECRET="$(openssl rand -hex 32)"
-v "$PWD/data:/app/data"
ghcr.io/coolstartnow/isms-builder:latest
Dies ist die Standardeinstellung: Daten werden als einfache JSON-Dateien in `./data` gespeichert — es wird überhaupt kein Datenbank-Container benötigt. Es ist die empfohlene Einrichtung für kleine Teams und wird von den beiden obigen Befehlen verwendet.
**PostgreSQL (oder MariaDB) statt JSON verwenden.** Das Image unterstützt dies standardmäßig, aber — anders als bei der JSON-Einrichtung oben — benötigt es einen zweiten Container (die eigentliche Datenbank) sowie eine Handvoll Umgebungsvariablen, die der App mitteilen, wie sie die Datenbank erreichen kann. Wenn du nur das Image selbst gezogen hast (`docker pull ghcr.io/coolstartnow/isms-builder`), ohne jemals dieses Repository zu klonen, sind diese Variablennamen standardmäßig nirgendwo sichtbar — `docker-compose.yml` und `.env.example`, wo sie dokumentiert sind, sind Dateien in diesem Git-Repository und nicht Teil des Images. Dieser Abschnitt existiert, damit diese Informationen kein Repository-exklusives Geheimnis bleiben.
Das `isms-builder`-Image selbst bündelt niemals einen Datenbankserver — `postgres:17` (oder `mariadb:11`) ist eine völlig generische, leere Datenbank-Engine von Docker Hub ohne jegliche Kenntnis der Tabellen dieses Projekts. Diese Tabellen (Risiken, Assets, SoA-Kontrollen usw.) werden automatisch von der Anwendung selbst erstellt, sobald sie startet und eine leere Datenbank vorfindet — kein manueller SQL-Import, kein separater Migrationsschritt, den du ausführen musst. Siehe „Wie wird das Datenbankschema erstellt?" unten, wenn du die vollständigen Mechanismen wissen möchtest.
Zwei Container, ein gemeinsames Docker-Netzwerk, dann wird der App mitgeteilt, wo die Datenbank zu finden ist:```bash
# 1) An isolated network so the two containers can reach each other by name
docker network create isms-net
# 2) The database — empty until the app first connects and creates its tables
docker run -d --name isms-postgres --network isms-net \
-e POSTGRES_DB=isms_builder \
-e POSTGRES_USER=isms \
-e POSTGRES_PASSWORD="$(openssl rand -hex 16)" \
-v isms-postgres-data:/var/lib/postgresql/data \
postgres:17-alpine
# 3) The app, pointed at that database by container name (isms-postgres) via
# Docker's built-in DNS on the shared network — no host/port juggling needed
docker run -d --name isms-builder --network isms-net -p 3000:3000 \
-e JWT_SECRET="$(openssl rand -hex 32)" \
-e STORAGE_BACKEND=postgres \
-e DB_HOST=isms-postgres \
-e DB_PORT=5432 \
-e DB_USER=isms \
-e DB_PASS="<same password as POSTGRES_PASSWORD above>" \
-e DB_NAME=isms_builder \
ghcr.io/coolstartnow/isms-builder:latest
Was jede Variable bedeutet:
| Variable | Zweck |
|---|---|
STORAGE_BACKEND | postgres (oder pg) für PostgreSQL, mariadb für MariaDB/MySQL. Nicht gesetzt lassen (oder json) für das Standard-JSON-Setup. |
DB_HOST | Hostname des Datenbank-Containers. In einem gemeinsamen Docker-Netzwerk ist das einfach der --name des Containers — Docker löst das automatisch auf. |
DB_PORT | 5432 für PostgreSQL, 3306 für MariaDB. |
DB_USER / DB_PASS / DB_NAME | Müssen mit dem übereinstimmen, was du am Datenbank-Container gesetzt hast (POSTGRES_USER/POSTGRES_PASSWORD/POSTGRES_DB oben, oder die MariaDB-Äquivalente). |
Für MariaDB tauschst du postgres:17-alpine gegen mariadb:11 aus, verwendest dessen MARIADB_DATABASE /
MARIADB_USER / MARIADB_PASSWORD-Variablen in Schritt 2 und STORAGE_BACKEND=mariadb /
DB_PORT=3306 in Schritt 3. Die vollständige, querverwiesene Liste aller Umgebungsvariablen, die dieses
Projekt versteht — einschließlich der hier nicht behandelten (SSL, Reverse-Proxy-Trust, SMTP,
2FA, …) — befindet sich in .env.example in diesem Repository.
Compose-Nutzer bekommen das kostenlos: docker-compose.yml enthält bereits mariadb- und postgres-
Service-Profile (standardmäßig auskommentiert, zusammen mit den entsprechenden Erklärungen zu den Umgebungsvariablen) —
docker compose --profile postgres up -d startet beide Container automatisch verdrahtet,
ohne manuelles Networking oder Kopieren-Einfügen von Passwörtern.
Wie wird das Datenbankschema erstellt? Weder das postgres:17- noch das mariadb:11-
Image weiß etwas über dieses Projekt — es sind generische, leere Datenbank-Engines direkt von
Docker Hub. Es gibt keine SQL-Dump-Datei zum Importieren und keinen separaten Migrationsbefehl, der von Hand ausgeführt werden muss.
Stattdessen erstellt der eigene Anwendungscode (nicht das Datenbank-Image) in dem Moment, in dem der isms-builder-Container startet und sich mit einer leeren Datenbank verbindet,
jede benötigte Tabelle sofort selbst — siehe
server/db/knexDatabase.js: eine Liste von Tabellendefinitionen, jede
mit hasTable() geprüft und mit createTable() erstellt, falls sie fehlt, alles bevor die App beginnt,
HTTP-Anfragen anzunehmen. Das macht es idempotent — der allererste Start baut das vollständige Schema
aus dem Nichts auf, und jeder spätere Neustart gegen dieselbe Datenbank ist ein stiller No-Op, weil die
Tabellen bereits existieren. Das ist derselbe Mechanismus, unverändert, der live gegen
SQLite, MariaDB 11 und PostgreSQL 17 verifiziert wurde (siehe #70).
Um stattdessen aus dem Quellcode zu bauen, kommentiere den build:-Block in docker-compose.yml aus und führe
docker compose up -d --build aus.
Images tragen eine signierte Build-Provenienz-Bescheinigung:```bash gh attestation verify oci://ghcr.io/coolstartnow/isms-builder:latest --owner coolstartnow
---
## Anforderungen
- **Node.js 18+** (getestet: 18, 20, 22)
- npm 9+
- (Optional) Docker + Docker Compose
- (Optional) [Ollama](https://ollama.ai) für lokale KI-gestützte semantische Suche
---
## Konfiguration (`.env`)
| Variable | Standard | Beschreibung |
|---|---|---|
| `JWT_SECRET` | *(erforderlich)* | Geheimnis für die JWT-Signierung — verwenden Sie 32+ zufällige Zeichen |
| `PORT` | `3000` | HTTP/HTTPS-Listen-Port |
| `STORAGE_BACKEND` | `json` | `json` (Entwicklung/Demo) oder `sqlite` (Produktion) |
| `SSL_CERT_FILE` | — | Pfad zum TLS-Zertifikat → aktiviert HTTPS |
| `SSL_KEY_FILE` | — | Pfad zum TLS-privaten Schlüssel |
| `DATA_DIR` | `./data` | Überschreibt das Datenverzeichnis (Docker-Volumes) |
| `SMTP_HOST` | — | SMTP-Server für E-Mail-Benachrichtigungen |
| `SMTP_PORT` | `587` | SMTP-Port |
| `SMTP_USER` | — | SMTP-Benutzername |
| `SMTP_PASS` | — | SMTP-Passwort |
| `SMTP_FROM` | — | Absenderadresse für Benachrichtigungen |
---
## Architektur```
server/
index.js — Express app setup, router mounts
auth.js — JWT auth, RBAC ranks, session
routes/ — 17 Express route modules (one per domain)
db/ — Data stores (jsonStore / sqliteStore / orgSettingsStore / …)
ai/ — Semantic search (embedder, embeddingStore, lexicalSearch)
reports.js — Report generation logic
ui/
index.html — SPA shell (Atlassian Dark Theme)
app.js — All render functions, ~6000 lines vanilla JS
style.css — CSS variables, dark theme
data/ — JSON files / SQLite DB (gitignored)
docs/
ISMS-build-documentation.md — Full architecture reference
architecture/ — C4 diagrams, data model, OpenAPI 3.0.3 spec
tests/ — Jest + Supertest (176 tests, --runInBand)
- Auth: JWT-Cookie (
sm_session), bcrypt-Passwörter, TOTP-2FA (organisationsweit durchsetzbar) - RBAC:
reader→editor/dept_head→contentowner/auditor→admin - Persistenz: JSON-Dateien (Standard/Demo) oder SQLite über
better-sqlite3 - KI: Optional lokales Ollama (nomic-embed-text); Stichwortsuche immer als Fallback verfügbar
- Audit-Log: Jede Erstellungs-, Aktualisierungs-, Lösch- und Anmeldeaktion wird protokolliert, filterbar, exportierbar
Siehe docs/architecture/ für C4-Diagramme, das vollständige Datenmodell und die OpenAPI-3.0.3-Spezifikation (80+ Endpunkte).
Tests ausführen
Hinweis: Die Testsuite unter
tests/sind die persönlichen Entwicklungstests des Autors und werden zur Transparenz zusammen mit dem Projekt ausgeliefert. Sie ist kein Teil der Anwendung selbst und nicht erforderlich, um die App auszuführen. Die Tests decken das interne API-Verhalten ab und verwenden fest codierte Testanmeldedaten, die nur in der isolierten Testumgebung existieren — sie stehen in keiner Beziehung zu Produktions- oder Demodaten.```bash npm test # runs all 423 tests npm run preflight # exactly what CI gates on (tests + pinning + audit) npm test -- --verbose # with test names
Tests verwenden ein isoliertes temporäres Verzeichnis – es werden keine Produktionsdaten berührt.
---
## Mitwirken
Beiträge sind sehr willkommen! Siehe [CONTRIBUTING.md](https://github.com/coolstartnow/isms-builder/blob/main/CONTRIBUTING.md) für:
- Entwicklungseinrichtung (5 Minuten bis zum ersten Testlauf)
- Codestil und Konventionen
- Wie man ein gutes Issue oder einen guten PR eröffnet
**Ein Sicherheitsproblem gefunden?** Bitte eröffnen Sie kein öffentliches Issue – nutzen Sie
[private Schwachstellenmeldung](https://github.com/coolstartnow/isms-builder/security/advisories/new).
[SECURITY.md](https://github.com/coolstartnow/isms-builder/blob/main/SECURITY.md) beschreibt den Umfang, den sicheren Hafen und was Sie realistischerweise erwarten können.
**Gute Einstiegs-Issues** sind im Issue-Tracker mit [`good first issue`](https://github.com/coolstartnow/isms-builder/issues?q=label%3A%22good+first+issue%22) gekennzeichnet.
---
## Roadmap
| Status | Funktion |
|---|---|
| ✅ Erledigt | Semantische Suche (Ollama / nomic-embed-text) |
| ✅ Erledigt | SQLite-Backend, Docker, CI/CD |
| ✅ Erledigt | E-Mail-Benachrichtigungen zum DSGVO-Löschprotokoll |
| ✅ Erledigt | Mehrsprachige Demo-Bundles (DE / EN / FR / NL) |
| ✅ Erledigt | Modul „Audit Findings“ mit Maßnahmenplänen (V 1.37.2.0) |
| ✅ Erledigt | FR/NL-Leitfaden-Übersetzungen + Sprachkonfiguration für Administratoren (V 1.37.2.0) |
| ✅ Erledigt | MariaDB/MySQL-Backend (`STORAGE_BACKEND=mariadb`, V 1.37.2.1) |
| ✅ Erledigt | Scanner → Risikoentwurf (Greenbone/OpenVAS-XML- und PDF-Import, V 1.37.2.0) |
| ✅ Erledigt | Richtlinienbestätigung – Mitarbeiter bestätigen Richtlinien digital mit Prüfpfad (V 1.37.2.0) |
| ✅ Erledigt | Leitfaden-CRUD – eigene Dokumentation erstellen, bearbeiten und hochladen (V 1.37.2.0) |
| ✅ Erledigt | Leitfaden-Suche – kategorieübergreifende Volltextsuche mit Auszug (V 1.37.2.0) |
| ✅ Erledigt | Schutzziele für Assets – CIA + Authentizität (1–4), Abhängigkeiten und BSI-Maximalprinzip-Vererbung (V 1.37.2.0) |
| ✅ Erledigt | NIS2-Art.-21-Governance-Checkliste (30 Punkte) und Art.-23-Meldepflichten mit automatischen Warnungen (V 1.37.2.0) |
| ✅ Erledigt | PostgreSQL-Backend (`STORAGE_BACKEND=pg`) – gleiche Knex-Speicherschicht wie MariaDB, verifiziert gegen eine echte PostgreSQL-17-Instanz inkl. vollständigem `docker compose`-Pfad (V 1.37.5) |
| ✅ Erledigt | ownCloud-/Nextcloud-Integration – freigegebene Richtlinien werden automatisch als PDF über WebDAV veröffentlicht, optionale Favoriten-/öffentliche-Link-Sichtbarkeit, live gegen eine echte NextcloudPi-Instanz verifiziert (#66, V 1.37.5.1) |
| ✅ Erledigt | Docker-Image wird nach jedem Release im GitHub Container Registry veröffentlicht (`ghcr.io/coolstartnow/isms-builder`, `linux/amd64` + `linux/arm64`, signierte Build-Provenienz) – beigetragen von @bucherfa (#71, V 1.40.0). Wartungsaufwand-Test: wird wieder entfernt, falls sich herausstellt, dass der Pflegeaufwand höher ist als erwartet. |
| 🔜 Als Nächstes | KI-Richtlinien-Assistent – Ollama entwirft Richtlinieninhalte aus Titel + Rahmenwerk |
| 🔜 Als Nächstes | Geplante Berichte – wöchentlicher/monatlicher Compliance-Bericht per E-Mail |
| 🔜 Als Nächstes | Anomalieerkennung im Prüfprotokoll (LLM-Stapelverarbeitung) |
| 🚀 Später | Quantitative Risikobewertung (€-Werte, FAIR-inspiriert) |
| 🚀 Später | Prüfer-Kollaborationsportal – externer Nur-Lese-Zugriff für Prüfer |
| 🚀 Später | Richtlinien-Lückenanalyse (LLM) |
| 🏁 V 2.x | Konfigurierbare Leitfaden-Kategorien – Administratoren definieren benutzerdefinierte Kategorien (z. B. Workflows, Organisationsdokumente) |
---
## Über den Autor
**Claude Hecker** arbeitet seit über 35 Jahren in der IT. Nach rund 15 Jahren als CIO
wechselte er in die Rollen des CISO und Datenschutzbeauftragten (DSB). Im Laufe seiner Karriere
hat er unternehmensweite IT-Infrastruktur und Weitverkehrsnetz-Konnektivität
(VPN, MPLS) für ein großes europäisches Unternehmen entworfen und implementiert – verantwortlich für zuverlässigen, sicheren Betrieb an
mehreren Standorten und Rechtsgebieten.
ISMS Builder ist direkt aus dieser Erfahrung entstanden: Aufbau und Pflege eines konformen ISMS in der
realen Welt, über echte Audits hinweg, mit echtem regulatorischem Druck. Das Tool spiegelt wider, was Praktiker
tatsächlich benötigen – nicht das, was ein Produktmanager glaubt, dass sie benötigen.
**Warum Open Source?**
KMU verdienen Zugang zu einer ordentlichen ISMS-Plattform ohne Lizenzgebühren im fünfstelligen Bereich. Der Einführungsaufwand
ist real, egal welches Werkzeug Sie wählen – aber diese Kosten sollten nicht durch Vendor
Lock-in oder Daten, die Ihre eigene Infrastruktur verlassen, noch erhöht werden. Dieses Projekt steht für Softwarefreiheit und das
Prinzip, dass Ihre Compliance-Daten Ihnen gehören.
---
## Hinweis zu Normenreferenzen
Diese Software referenziert Kontroll-IDs und Kurztitel aus veröffentlichten
Normen ausschließlich für Interoperabilitäts- und Compliance-Management-Zwecke.
- **ISO/IEC 27001, ISO 9000, ISO 9001** sind Normen, die von der
International Organization for Standardization (ISO) veröffentlicht wurden. Kontrolldefinitionen
für diese Normen sind **nicht** in dieser Softwaredistribution enthalten –
das ISO-Urheberrecht erlaubt keine Weiterverbreitung von Kontrolltexten. Benutzer müssen
ihre eigene JSON-Datei bereitstellen (siehe Abschnitt oben und `scripts/import-iso-controls.sh`).
Die Normen müssen von [ISO](https://www.iso.org/) oder einem
autorisierten nationalen Vertriebspartner bezogen werden.
- **BSI IT-Grundschutz**-Material wird vom deutschen Bundesamt für Sicherheit
in der Informationstechnik (BSI) veröffentlicht und ist frei verfügbar unter
[bsi.bund.de](https://www.bsi.bund.de).
- **NIS2, CRA, EUCS, EU AI Act** sind EU-Rechtsakte und öffentlich
verfügbar über [eur-lex.europa.eu](https://eur-lex.europa.eu).
---
## Lizenz
Copyright (C) 2026 Claude Hecker
Dieses Programm ist freie Software, lizenziert unter der
[GNU Affero General Public License v3.0](https://github.com/coolstartnow/isms-builder/blob/main/LICENSE).
Wenn Sie eine modifizierte Version als Netzwerkdienst ausführen, müssen Sie den
vollständigen Quellcode den Benutzern dieses Dienstes zugänglich machen (AGPL §13).
Dieses Projekt enthält Komponenten von Drittanbietern unter MIT-, BSD-2-Clause- und
Apache-2.0-Lizenzen. Siehe [THIRD-PARTY-LICENSES.md](https://github.com/coolstartnow/isms-builder/blob/main/THIRD-PARTY-LICENSES.md)
für vollständige Zuschreibungen und Lizenztexte.






