8348764c9998fc5ecd9d2e1fd2b29beaa7129ec1
Der requireModule-Guard war bislang nur exemplarisch in den Policy-Actions
gesetzt. Jetzt läuft jede mutierende Server-Action eines gegateten Moduls über
einen zentralen, modul- und rechteprüfenden Guard — ein für den Mandanten
deaktiviertes Modul weist damit auch Writes serverseitig ab (nicht nur Reads
über die Route-Layouts).
- action-guard.ts: moduleGuard("<key>") erzeugt je Modul einen guard(...perms),
der Session → Modul-Aktivierung → RBAC prüft und {session, db} zurückgibt.
- modules.ts: assertModuleEnabled(session, key) wirft (statt Redirect) bei
Deaktivierung und protokolliert die Verweigerung (Audit-Aktion "denied").
- audit.ts: Audit-Aktion "denied" + optionaler scope-Parameter.
- Alle gegateten Action-Dateien umgestellt: assets→assets, processes→bia,
risks→risk, measures→measures, suppliers/services→suppliers, policies→policies.
Freigabe/Ablehnung der Richtlinien laufen jetzt ebenfalls über den Modul-Guard.
- Vollständigkeitscheck scripts/check-module-guards.ts (Registry Action→Modul):
schlägt fehl bei nicht zugeordneter Datei, fehlendem moduleGuard oder einer
Action ohne guard(...). Als prebuild verdrahtet ⇒ Build failt bei vergessenem
Endpoint. admin/tenant-settings sind als EXEMPT (eigene Auth) markiert.
Verifiziert: tsc sauber, lint sauber, Guard-Check grün (9 Dateien), Negativ-Probe
(ungemappte Action-Datei) failt den Check wie erwartet.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ISMS-Tool
Multi-Tenant-SaaS zum Betrieb eines Informationssicherheits-Managementsystems (ISMS), ausgerichtet auf ISO/IEC 27001:2022 und TISAX / VDA-ISA 6.0.
📄 Vollständige Spezifikation: docs/SPEC.md · UI-Mockup: docs/ISMS-Prototyp-GEFIM.html
Module
- Assets & BIA — Asset-Inventar und Business Impact Analyse als gemeinsames Modul (Schutzbedarf, RTO/RPO/MTD, primäre/sekundäre Assets, zugeordnete Risiken)
- Risikoanalyse — 5×5-Heatmap mit Drag-and-Drop, Detailansicht mit Maßnahmen, betroffenen Assets und Rest-Risiko
- SoA & Control-Kataloge — ISO 27001:2022 Annex A (93 Controls), VDA-ISA-6.0-Struktur mit Reifegraden
- Maßnahmen — Kanban, wiederkehrende Aufgaben, Fristen und Eskalation
- Vorfälle, Audits, Lieferanten, Nachweise, Richtlinien (KI-Assistent), RAG-Chat, Dashboards, Management-Review
Tech-Stack
Next.js (App Router, TypeScript) · Prisma + PostgreSQL 16 (pgvector) · BullMQ + Redis · MinIO (S3) · Auth.js · Tailwind CSS + shadcn/ui · Docker Compose
Quickstart (Entwicklung)
cp .env.example .env # Werte anpassen
docker compose up -d postgres redis minio # Infrastruktur starten
npm install
npx prisma migrate dev # Datenbank migrieren
npm run dev # http://localhost:3000
Produktions-Stack (App + Worker + Infrastruktur):
docker compose up -d --build
Projektstruktur
docs/ Spezifikation (SPEC.md) und UI-Mockup
prisma/ Datenbankschema, Migrationen, Seeds
src/app/ Next.js App Router (UI + API)
src/server/ Server-Logik (Tenant-Guard, RBAC, Services)
Languages
TypeScript
78.4%
Python
20.4%
CSS
0.9%
Dockerfile
0.2%