Open-Source-Lizenz-Audit
Software Bill of Materials (SBOM) und Lizenz-Compliance-Pruefung der Aldric-Plattform
Version 1.0 — Stand: Maerz 2026
Dieses Dokument dokumentiert die Open-Source-Abhaengigkeiten der Aldric-Plattform (Software Bill of Materials, SBOM), bewertet Lizenz-Risiken und stellt sicher, dass alle eingesetzten Komponenten lizenzkonform verwendet werden. Besonderes Augenmerk liegt auf Copyleft-Lizenzen (AGPL, GPL, LGPL), die Auswirkungen auf die Lizenzierung der Gesamtplattform haben koennten.
Dieses Audit wurde im Rahmen der Compliance-Pruefung der CONPORT Services GmbH erstellt und wird bei wesentlichen Abhaengigkeitsaenderungen aktualisiert. Es ersetzt keine rechtliche Beratung durch einen spezialisierten IT-Rechtsanwalt.
Teil A: Plattform-Architektur und Komponenten
§ 1 Systemuebersicht
Die Aldric-Plattform ist als modularer Monolith aufgebaut und besteht aus vier Hauptkomponenten sowie einer Container-basierten Infrastruktur:
| Komponente | Technologie | Funktion |
|---|---|---|
| Backend | NestJS 11, TypeScript 5 | REST-API, Business-Logik, Mandantentrennung |
| Frontend | React 19, Vite, TypeScript | Single-Page Application, Benutzer-Interface |
| Marketing-Site | Astro 5, Tailwind CSS | Statische Website, Dokumentation |
| Monitoring | Express, WebSocket, React | Internes Ueberwachungs-Dashboard |
| Infrastruktur | Docker, PostgreSQL, Redis, Keycloak, MinIO | Datenbank, Cache, Auth, Object-Storage |
§ 2 Abhaengigkeiten in Zahlen
| Komponente | Produktions-Abhaengigkeiten | Entwicklungs-Abhaengigkeiten |
|---|---|---|
| Backend (NestJS) | 53 | 27 |
| Frontend (React) | 10 | 23 |
| Marketing (Astro) | 6 | 7 |
| Monitoring | 7 | 8 |
| Gesamt | 76 | 65 |
Teil B: Lizenz-Klassifizierung
§ 3 Lizenz-Kategorien
Open-Source-Lizenzen lassen sich in drei Risikokategorien einteilen:
| Kategorie | Risiko | Lizenzen | Auswirkung |
|---|---|---|---|
| Permissiv | Niedrig | MIT, Apache 2.0, BSD, ISC, 0BSD | Freie Nutzung in proprietaerer Software, Lizenzhinweis erforderlich |
| Schwaches Copyleft | Mittel | LGPL, MPL 2.0, EPL | Aenderungen an der Bibliothek muessen veroeffentlicht werden, eigener Code bleibt proprietaer |
| Starkes Copyleft | Hoch | GPL, AGPL | Gesamtes abgeleitetes Werk muss unter gleicher Lizenz veroeffentlicht werden |
§ 4 Ergebnis der Lizenz-Analyse
Ergebnis: Keine AGPL- oder GPL-Abhaengigkeiten in Produktions-Code
Alle direkten Produktions-Abhaengigkeiten der Aldric-Plattform verwenden permissive Lizenzen (MIT, Apache 2.0, BSD, ISC). Es wurden keine starken Copyleft-Lizenzen (AGPL, GPL) im Produktions-Code identifiziert.
Lizenz-Verteilung (Produktions-Abhaengigkeiten)
| Lizenz | Anzahl Pakete | Anteil | Risiko |
|---|---|---|---|
| MIT | ~60 | ~79% | Niedrig |
| Apache 2.0 | ~10 | ~13% | Niedrig |
| BSD (2-/3-Clause) | ~4 | ~5% | Niedrig |
| ISC | ~2 | ~3% | Niedrig |
| AGPL / GPL | 0 | 0% | — |
Teil C: AGPL-Pruefung (Schwerpunkt MinIO)
§ 5 MinIO — Hintergrund
MinIO ist als S3-kompatibler Object-Storage ein zentraler Infrastruktur-Bestandteil der Aldric-Plattform. MinIO hat in der Vergangenheit seine Lizenz mehrfach geaendert:
| Zeitraum | Lizenz | Auswirkung |
|---|---|---|
| Bis 2018 | Apache 2.0 | Permissiv, keine Einschraenkungen |
| 2018 — 2021 | AGPL 3.0 | Copyleft, Netzwerk-Klausel |
| Ab April 2021 | GNU AGPL v3 (Server) / Apache 2.0 (SDK) | Dual-Lizenz, SDK bleibt permissiv |
§ 6 MinIO-Nutzung in Aldric
Ergebnis: Kein AGPL-Risiko
Aldric nutzt MinIO ausschliesslich ueber das offizielle JavaScript-SDK (minio@8.0.6),
das unter Apache License 2.0 lizenziert ist. Der MinIO-Server laeuft
als separater Docker-Container und ist nicht in den Aldric-Quellcode eingebettet.
| Aspekt | Detail | Lizenz |
|---|---|---|
| SDK (npm-Paket) | minio@8.0.6 | Apache 2.0 — permissiv |
| Server (Docker) | minio/minio:latest | AGPL 3.0 — laeuft isoliert |
| Integration | S3-kompatible API via HTTP | Keine Code-Verlinkung |
| Einbettung | Keine — separater Prozess | Kein abgeleitetes Werk |
Rechtliche Bewertung: Da MinIO als eigenstaendiger Service ueber eine standardisierte API (S3-Protokoll) angesprochen wird und nicht in den Anwendungscode eingebettet ist, entsteht nach herrschender Rechtsauffassung kein „abgeleitetes Werk" im Sinne der AGPL. Die AGPL-Lizenz des Servers hat somit keine Auswirkung auf die Lizenzierung der Aldric-Plattform.
§ 7 Alternativer Storage-Support
Aldric implementiert ein Adapter-Pattern fuer Object-Storage und unterstuetzt neben MinIO auch:
- AWS S3 —
@aws-sdk/client-s3(Apache 2.0) - Azure Blob Storage —
@azure/storage-blob(MIT) - Google Cloud Storage —
@google-cloud/storage(Apache 2.0)
Kunden, die AGPL-Bedenken haben, koennen alternativ einen rein proprietaeren Cloud-Storage-Anbieter nutzen, ohne Aenderungen an der Aldric-Plattform.
Teil D: Infrastruktur-Komponenten
§ 8 Docker-Services
Die folgenden Services laufen als eigenstaendige Docker-Container und sind nicht in den Aldric-Quellcode eingebettet:
| Service | Image | Lizenz | Risiko |
|---|---|---|---|
| PostgreSQL | pgvector/pgvector:pg17 | PostgreSQL License (BSD-aehnlich) | Niedrig |
| Redis | redis:7-alpine | Redis Source Available License (RSAL 2.0) / SSPL | Mittel |
| Keycloak | quay.io/keycloak/keycloak | Apache 2.0 | Niedrig |
| MinIO | minio/minio:latest | AGPL 3.0 | Mittel (isoliert) |
| Mailhog | mailhog/mailhog | MIT | Niedrig (nur Dev) |
| Prometheus | prom/prometheus | Apache 2.0 | Niedrig |
| Grafana | grafana/grafana | AGPL 3.0 (OSS) / Elastic License (Enterprise) | Mittel (isoliert) |
Hinweis zu Redis und Grafana
Redis: Ab Version 7.4 verwendet Redis die RSAL 2.0 / SSPL Dual-Lizenz.
Da Redis als separater Container-Service genutzt wird (keine Code-Einbettung), besteht
kein Copyleft-Risiko. Alternativ kann Valkey
(BSD-lizenzierter Redis-Fork) verwendet werden.
Grafana: Grafana OSS steht unter AGPL 3.0. Als eigenstaendiges
Monitoring-Dashboard ohne Code-Integration besteht kein abgeleitetes Werk.
Teil E: Kern-Abhaengigkeiten nach Kategorie
§ 9 Backend (NestJS)
| Paket | Version | Lizenz | Zweck |
|---|---|---|---|
@nestjs/core | ^11.0.1 | MIT | Application-Framework |
@prisma/client | ^5.22.0 | Apache 2.0 | Datenbank-ORM |
minio | ^8.0.6 | Apache 2.0 | Object-Storage-SDK |
stripe | ^18.5.0 | MIT | Zahlungsabwicklung |
bullmq | ^5.67.1 | MIT | Message-Queue |
ioredis | ^5.10.0 | MIT | Redis-Client |
passport | ^0.7.0 | MIT | Authentifizierung |
puppeteer | ^24.36.0 | Apache 2.0 | PDF-Generierung |
class-validator | ^0.14.3 | MIT | Input-Validierung |
winston | ^3.19.0 | MIT | Logging |
handlebars | ^4.7.8 | MIT | Template-Engine |
nodemailer | ^7.0.13 | MIT | E-Mail-Versand |
§ 10 Frontend (React)
| Paket | Version | Lizenz | Zweck |
|---|---|---|---|
react | ^19.2.0 | MIT | UI-Framework |
react-dom | ^19.2.0 | MIT | DOM-Rendering |
react-router-dom | ^7.13.0 | MIT | Client-Routing |
i18next | ^25.8.0 | MIT | Internationalisierung |
recharts | ^3.7.0 | MIT | Diagramme und Charts |
xlsx | ^0.18.5 | Apache 2.0 | Excel-Export |
dompurify | ^3.3.1 | Apache 2.0 / MPL 2.0 | XSS-Schutz, HTML-Sanitierung |
§ 11 Marketing-Site (Astro)
| Paket | Version | Lizenz | Zweck |
|---|---|---|---|
astro | ^5.5.0 | MIT | Static-Site-Generator |
@astrojs/tailwind | ^6.0.2 | MIT | CSS-Framework-Integration |
tailwindcss | ^3.4.17 | MIT | Utility-CSS-Framework |
nodemailer | ^8.0.1 | MIT | Kontaktformular-Versand |
Teil F: Risikobewertung und Empfehlungen
§ 12 Zusammenfassung der Risikobewertung
| Bereich | Risiko | Begruendung |
|---|---|---|
| npm-Abhaengigkeiten (Produktions-Code) | Niedrig | 100% permissive Lizenzen (MIT, Apache 2.0, BSD) |
| MinIO SDK | Niedrig | Apache 2.0 — kein Copyleft |
| MinIO Server | Mittel | AGPL 3.0, aber isolierter Container — kein abgeleitetes Werk |
| Redis Server | Mittel | RSAL 2.0 / SSPL, aber isolierter Container — Alternative: Valkey |
| Grafana | Mittel | AGPL 3.0, aber isoliertes Monitoring-Tool |
| PostgreSQL | Niedrig | PostgreSQL License (BSD-aehnlich) |
| Keycloak | Niedrig | Apache 2.0 |
§ 13 Empfehlungen
Sofortmassnahmen (umgesetzt)
- AGPL-Isolation beibehalten: MinIO, Grafana und Redis laufen als eigenstaendige Docker-Container. Keine direkte Code-Einbettung.
- SDK-Lizenzen pruefen: Alle npm-SDKs verwenden permissive Lizenzen. Der MinIO-JavaScript-SDK ist Apache 2.0, nicht AGPL.
- Adapter-Pattern: Aldric unterstuetzt multiple Storage-Backends (AWS S3, Azure Blob, Google Cloud), sodass MinIO nicht zwingend erforderlich ist.
Fortlaufende Massnahmen
- Abhaengigkeits-Updates ueberwachen: Bei jedem groesseren Abhaengigkeits-Update die Lizenz des Pakets pruefen. Lizenzaenderungen koennen auch bei Minor-/Patch-Updates auftreten.
- Automatisierte Lizenz-Pruefung: Integration eines Tools wie
license-checkeroderlicenseein die CI/CD-Pipeline, um Lizenzaenderungen automatisch zu erkennen. - SBOM regelmaessig aktualisieren: Dieses Dokument sollte bei jeder groesseren Abhaengigkeitsaenderung oder mindestens quartalsweise aktualisiert werden.
- Valkey als Redis-Alternative evaluieren: Bei Bedenken zur Redis RSAL/SSPL-Lizenz kann der BSD-lizenzierte Fork Valkey als Drop-in-Replacement eingesetzt werden.
§ 14 Lizenzhinweis-Pflichten
Folgende Pflichten ergeben sich aus den verwendeten permissiven Lizenzen:
| Lizenz | Pflicht | Umsetzung |
|---|---|---|
| MIT | Copyright-Hinweis und Lizenztext beibehalten | In node_modules enthalten, bei Dist-Build im NOTICES-File |
| Apache 2.0 | Copyright-Hinweis, Lizenztext, NOTICE-Datei beibehalten, Aenderungen kennzeichnen | In node_modules enthalten, NOTICE-Aggregation geplant |
| BSD | Copyright-Hinweis und Lizenztext beibehalten | In node_modules enthalten |
| ISC | Copyright-Hinweis und Lizenztext beibehalten | In node_modules enthalten |
Kontakt
Bei Fragen zu Open-Source-Lizenzen oder zur SBOM der Aldric-Plattform wenden Sie sich bitte an:
CONPORT Services GmbH
Alte Benninghofer Str. 24
44263 Dortmund
E-Mail: info@conport.services