Software Bill of Materials (SBOM)
BreakPilot PWA
Version: 1.5.0
Letzte Aktualisierung: 2026-02-08
Verantwortlicher: BreakPilot Development Team
Übersicht
Diese SBOM dokumentiert alle Open-Source-Komponenten, die in BreakPilot verwendet werden, einschließlich ihrer Lizenzen und Nutzungsbedingungen für den kommerziellen Einsatz.
1. LibreChat (Chat-Interface)
| Eigenschaft |
Wert |
| Name |
LibreChat |
| Version |
latest (dev) |
| Repository |
https://github.com/danny-avila/LibreChat |
| Lizenz |
MIT License |
| Copyright |
Copyright (c) 2025 LibreChat |
| Kommerzielle Nutzung |
Erlaubt |
| Attribution erforderlich |
Ja (Lizenztext beibehalten) |
| Verwendungszweck |
Chat/Prompt-Oberfläche für Nutzer |
LibreChat Abhängigkeiten (Container)
| Komponente |
Version |
Lizenz |
Kommerzielle Nutzung |
| MongoDB |
latest |
SSPL-1.0 |
Ja (mit Einschränkungen*) |
| Meilisearch |
v1.12.3 |
MIT |
Ja |
| PostgreSQL (pgvector) |
0.8.0-pg15 |
PostgreSQL License |
Ja |
| LibreChat RAG API |
latest (dev-lite) |
MIT |
Ja |
*MongoDB SSPL: Erlaubt kommerzielle Nutzung, solange MongoDB nicht als Service angeboten wird.
2. BreakPilot Backend (Python/FastAPI)
Python Dependencies
| Paket |
Version |
Lizenz |
Kommerzielle Nutzung |
| FastAPI |
0.123.9 |
MIT |
Ja |
| Uvicorn |
0.38.0 |
BSD-3-Clause |
Ja |
| Starlette |
0.49.3 |
BSD-3-Clause |
Ja |
| Pydantic |
2.12.5 |
MIT |
Ja |
| httpx |
0.28.1 |
BSD-3-Clause |
Ja |
| requests |
2.32.5 |
Apache-2.0 |
Ja |
| PyJWT |
2.10.1 |
MIT |
Ja |
| python-multipart |
0.0.20 |
Apache-2.0 |
Ja |
| Jinja2 |
3.1.6 |
BSD-3-Clause |
Ja |
| WeasyPrint |
66.0 |
BSD-3-Clause |
Ja |
| python-dateutil |
2.9.0 |
Apache-2.0/BSD |
Ja |
| python-docx |
1.2.0 |
MIT |
Ja |
| mammoth |
1.11.0 |
BSD-2-Clause |
Ja |
| Markdown |
3.9 |
BSD-3-Clause |
Ja |
| Pillow |
11.3.0 |
HPND |
Ja |
| opencv-python |
4.12.0 |
Apache-2.0 |
Ja |
| numpy |
2.0.2 |
BSD-3-Clause |
Ja |
| anthropic |
0.75.0 |
MIT |
Ja |
| email-validator |
2.3.0 |
CC0-1.0 |
Ja |
| PyJWKClient (PyJWT) |
2.10.1 |
MIT |
Ja |
| pytest |
8.4.2 |
MIT |
Ja |
| pytest-asyncio |
1.2.0 |
Apache-2.0 |
Ja |
| beautifulsoup4 |
4.12.3 |
MIT |
Ja |
3. Consent Service (Go)
| Eigenschaft |
Wert |
| Sprache |
Go 1.23+ |
| Lizenz |
Proprietär (BreakPilot) |
Go Dependencies (Direkt)
| Paket |
Version |
Lizenz |
Kommerzielle Nutzung |
| gin-gonic/gin |
1.11.0 |
MIT |
Ja |
| golang-jwt/jwt/v5 |
5.3.0 |
MIT |
Ja |
| google/uuid |
1.6.0 |
BSD-3-Clause |
Ja |
| jackc/pgx/v5 |
5.7.6 |
MIT |
Ja |
| joho/godotenv |
1.5.1 |
MIT |
Ja |
| skip2/go-qrcode |
0.0.0 |
MIT |
Ja |
| golang.org/x/crypto |
0.40.0 |
BSD-3-Clause |
Ja |
Go Dependencies (Indirekt/Transitiv)
| Paket |
Version |
Lizenz |
Kommerzielle Nutzung |
| bytedance/sonic |
1.14.0 |
Apache-2.0 |
Ja |
| go-playground/validator/v10 |
10.27.0 |
MIT |
Ja |
| goccy/go-json |
0.10.2 |
MIT |
Ja |
| jackc/pgpassfile |
1.0.0 |
MIT |
Ja |
| jackc/pgservicefile |
1.0.0 |
MIT |
Ja |
| jackc/puddle/v2 |
2.2.2 |
MIT |
Ja |
| ugorji/go/codec |
1.3.0 |
MIT |
Ja |
| google.golang.org/protobuf |
1.36.9 |
BSD-3-Clause |
Ja |
4. Matrix Synapse (Schulkommunikation)
| Eigenschaft |
Wert |
| Name |
Matrix Synapse |
| Version |
latest |
| Repository |
https://github.com/element-hq/synapse |
| Docker Image |
matrixdotorg/synapse:latest |
| Lizenz |
AGPL-3.0 |
| Copyright |
Copyright (c) 2014-2025 Element (formerly New Vector Ltd) |
| Kommerzielle Nutzung |
Erlaubt (mit Bedingungen*) |
| Attribution erforderlich |
Ja |
| Verwendungszweck |
E2EE Messenger für Eltern-Lehrer-Kommunikation |
*AGPL-3.0: Kommerzielle Nutzung erlaubt. Wenn Sie Synapse modifizieren und als Service anbieten, müssen die Änderungen unter AGPL veröffentlicht werden. Bei reiner Nutzung ohne Modifikation keine zusätzlichen Pflichten.
Matrix Protocol
| Komponente |
Lizenz |
Beschreibung |
| Matrix Protocol |
Apache-2.0 |
Offenes Kommunikationsprotokoll |
| Megolm (E2EE) |
Apache-2.0 |
Ende-zu-Ende-Verschlüsselung |
Matrix Service Dependencies (Go)
| Paket |
Version |
Lizenz |
Kommerzielle Nutzung |
| google/uuid |
1.6.0 |
BSD-3-Clause |
Ja |
| net/http (stdlib) |
Go 1.21+ |
BSD-3-Clause |
Ja |
| encoding/json (stdlib) |
Go 1.21+ |
BSD-3-Clause |
Ja |
5. Jitsi Meet (Videokonferenzen)
| Eigenschaft |
Wert |
| Name |
Jitsi Meet |
| Version |
stable-9823 |
| Repository |
https://github.com/jitsi/jitsi-meet |
| Docker Images |
jitsi/web, jitsi/prosody, jitsi/jicofo, jitsi/jvb |
| Lizenz |
Apache-2.0 |
| Copyright |
Copyright (c) 2013-2025 Atlassian Pty Ltd & Contributors |
| Kommerzielle Nutzung |
Erlaubt |
| Attribution erforderlich |
Ja (NOTICE-Datei beibehalten) |
| Verwendungszweck |
Videokonferenzen für Schulungen, Elterngespräche |
Jitsi Komponenten
| Komponente |
Image |
Lizenz |
Beschreibung |
| Jitsi Web |
jitsi/web:stable-9823 |
Apache-2.0 |
Web-Frontend |
| Prosody |
jitsi/prosody:stable-9823 |
MIT |
XMPP-Server |
| Jicofo |
jitsi/jicofo:stable-9823 |
Apache-2.0 |
Conference Focus |
| Jitsi Videobridge |
jitsi/jvb:stable-9823 |
Apache-2.0 |
WebRTC SFU |
Jitsi Abhängigkeiten
| Komponente |
Lizenz |
Beschreibung |
| WebRTC |
BSD-3-Clause |
Echtzeit-Kommunikation |
| Olibs (Olm) |
Apache-2.0 |
Verschlüsselung |
| Ogg/Opus |
BSD-3-Clause |
Audio-Codec |
| VP8/VP9 |
BSD-3-Clause |
Video-Codec |
Jitsi Service Dependencies (Go)
| Paket |
Version |
Lizenz |
Kommerzielle Nutzung |
| google/uuid |
1.6.0 |
BSD-3-Clause |
Ja |
| crypto/hmac (stdlib) |
Go 1.21+ |
BSD-3-Clause |
Ja |
| encoding/base64 (stdlib) |
Go 1.21+ |
BSD-3-Clause |
Ja |
6. Datenbanken
| Datenbank |
Version |
Lizenz |
Kommerzielle Nutzung |
Verwendung |
| PostgreSQL |
16-alpine |
PostgreSQL License |
Ja |
Hauptdatenbank |
| PostgreSQL (Synapse) |
16-alpine |
PostgreSQL License |
Ja |
Matrix Datenbank |
| pgvector Extension |
0.8.0 |
PostgreSQL License |
Ja |
LibreChat RAG |
| MongoDB |
latest |
SSPL-1.0 |
Ja* |
LibreChat |
| Meilisearch |
1.12.3 |
MIT |
Ja |
LibreChat Suche |
7. Frontend (PWA)
| Komponente |
Lizenz |
Kommerzielle Nutzung |
| HTML5/CSS3/JS |
N/A |
N/A |
| Service Worker API |
N/A |
N/A |
7a. Typografie & Schriftarten
Diese Sektion dokumentiert alle verwendeten Schriftarten für Website, Marketing und E-Mails, um sicherzustellen, dass nur lizenzfreie Schriften verwendet werden.
Primäre Schriftart: Inter
| Eigenschaft |
Wert |
| Name |
Inter |
| Designer |
Rasmus Andersson |
| Version |
Variable Font |
| Repository |
https://github.com/rsms/inter |
| Lizenz |
SIL Open Font License 1.1 (OFL-1.1) |
| Kommerzielle Nutzung |
Ja, uneingeschränkt |
| Attribution erforderlich |
Nein |
| Modifikation erlaubt |
Ja |
Verwendete Font-Weights
| Weight |
Name |
Verwendung |
| 400 |
Regular |
Fließtext, Beschreibungen |
| 500 |
Medium |
Labels, Buttons |
| 600 |
Semi-Bold |
Überschriften H3-H6, Hervorhebungen |
| 700 |
Bold |
Überschriften H1-H2, CTAs |
Einbindungsmethode
| Plattform |
Methode |
Datei |
| Website (Next.js) |
Google Fonts CDN |
website/app/globals.css |
| Admin Panel |
Google Fonts CDN |
backend/frontend/static/css/studio.css |
| Kundenportal |
Google Fonts CDN |
backend/frontend/static/css/customer.css |
| E-Mail Templates |
System Font Fallback |
Inline CSS |
Google Fonts Import
Font Stack (Fallback)
System-Fallback-Schriften
| Betriebssystem |
Fallback Font |
Lizenz |
| macOS/iOS |
SF Pro Text |
Apple Proprietary (vorinstalliert) |
| Windows |
Segoe UI |
Microsoft Proprietary (vorinstalliert) |
| Android |
Roboto |
Apache-2.0 (vorinstalliert) |
| Linux |
Sans-Serif Default |
Varies (system font) |
E-Mail-sichere Schriftarten
Für E-Mail-Templates werden nur websichere Schriften verwendet:
| Font |
Fallback für |
Lizenz |
| Arial |
Sans-Serif Fließtext |
Monotype (lizenzfrei für E-Mail) |
| Helvetica |
macOS/iOS |
Apple (vorinstalliert) |
| Georgia |
Serif (optional) |
Microsoft (lizenzfrei für E-Mail) |
Icon-Fonts & Symbol-Sets
| Name |
Quelle |
Lizenz |
Verwendung |
| Heroicons |
heroicons.com |
MIT |
Admin Panel SVG Icons |
| System Emojis |
OS-nativ |
N/A |
Feature-Icons, Bundesland-Marker |
Nicht verwendete / Ausgeschlossene Schriften
| Schriftart |
Grund für Ausschluss |
| Adobe Fonts (Typekit) |
Erfordert Adobe-Lizenz |
| Google Fonts (proprietäre) |
Nur OFL/Apache-lizenzierte |
| MyFonts/Linotype |
Kommerzielle Lizenz erforderlich |
| Custom Brand Fonts |
Lizenzkosten, keine Notwendigkeit |
Compliance-Checkliste (Typografie)
Performance-Hinweis
Google Fonts werden mit display=swap geladen, um FOUT (Flash of Unstyled Text) zu minimieren. Für Produktion kann eine lokale Einbindung über /public/fonts/ erwogen werden.
Lizenz-Zusammenfassung
Erlaubte Lizenzen für kommerzielle Nutzung:
| Lizenz |
Bedingungen |
| MIT |
Copyright-Vermerk beibehalten |
| BSD-2-Clause |
Copyright-Vermerk beibehalten |
| BSD-3-Clause |
Copyright-Vermerk beibehalten, keine Endorsement-Nutzung |
| Apache-2.0 |
NOTICE-Datei beibehalten, Patent-Klausel beachten |
| PostgreSQL License |
Copyright-Vermerk beibehalten |
| SSPL-1.0 |
Kein MongoDB-as-a-Service anbieten |
| AGPL-3.0 |
Bei Modifikation + Service: Quellcode veröffentlichen |
Compliance-Checkliste
8. LLM Platform (geplant)
LLM Inference Stack
| Komponente |
Version |
Lizenz |
Kommerzielle Nutzung |
Beschreibung |
| vLLM |
latest |
Apache-2.0 |
Ja |
OpenAI-kompatible Inference Engine |
| Ollama |
latest |
MIT |
Ja |
Lokale Entwicklung & Fallback |
LLM Modelle
| Modell |
Lizenz |
Kommerzielle Nutzung |
Einschränkungen |
| Llama 3.1 (8B/70B) |
Llama 3.1 Community License |
Ja |
>700M MAU erfordert Meta-Lizenzvereinbarung |
| Mistral 7B |
Apache-2.0 |
Ja |
Keine |
| Mixtral 8x7B |
Apache-2.0 |
Ja |
Keine |
| Claude API |
Proprietär (Anthropic) |
Ja |
Pay-per-use, API Terms |
Llama 3.1 License: Die Llama 3.1 Community License erlaubt kommerzielle Nutzung. Bei mehr als 700 Millionen monatlich aktiven Nutzern ist eine separate Lizenzvereinbarung mit Meta erforderlich. Für BreakPilot (Schulkontext) ist dies nicht relevant.
LLM Gateway Dependencies (Python)
| Paket |
Version |
Lizenz |
Kommerzielle Nutzung |
| sse-starlette |
2.x |
BSD-3-Clause |
Ja |
| feedparser |
6.x |
BSD-2-Clause |
Ja |
| simhash |
2.x |
MIT |
Ja |
| tavily-python |
latest |
MIT |
Ja |
Hosting (Phase 1)
| Anbieter |
Dienst |
Datenschutz |
| vast.ai |
GPU-Mietung |
US-basiert, nur für Inference (keine PII) |
| Bestehende Infra |
Gateway, DB |
DE-hosted |
9. Education Search Service (edu-search-service)
| Eigenschaft |
Wert |
| Name |
BreakPilot Education Search Service |
| Status |
In Entwicklung (Phase 0 PoC) |
| Sprache |
Go 1.21+ |
| Lizenz |
Proprietär (BreakPilot) |
| Verwendungszweck |
EU-gehostete Bildungsquellen-Suche als Tavily-Alternative |
Go Dependencies (Direkt)
| Paket |
Version |
Lizenz |
Kommerzielle Nutzung |
Beschreibung |
| gin-gonic/gin |
1.9.1 |
MIT |
Ja |
HTTP Web Framework |
| opensearch-project/opensearch-go/v2 |
2.3.0 |
Apache-2.0 |
Ja |
OpenSearch Client |
| google/uuid |
1.5.0 |
BSD-3-Clause |
Ja |
UUID Generierung |
| gopkg.in/yaml.v3 |
3.0.1 |
MIT |
Ja |
YAML Parser |
| PuerkitoBio/goquery |
1.8.1 |
BSD-3-Clause |
Ja |
HTML Parsing/Scraping |
| ledongthuc/pdf |
0.0.0 |
MIT |
Ja |
PDF Text Extraction |
| golang.org/x/net |
0.19.0 |
BSD-3-Clause |
Ja |
Netzwerk-Utilities |
| golang.org/x/text |
0.14.0 |
BSD-3-Clause |
Ja |
Text/Encoding |
Infrastructure Dependencies
| Komponente |
Version |
Lizenz |
Kommerzielle Nutzung |
Beschreibung |
| OpenSearch |
2.x |
Apache-2.0 |
Ja |
Such-Engine & Index |
Hinweis: OpenSearch ist ein Fork von Elasticsearch unter Apache-2.0 Lizenz und damit uneingeschränkt kommerziell nutzbar.
10. Legal Crawler (Backend Module)
| Eigenschaft |
Wert |
| Name |
BreakPilot Legal Crawler |
| Status |
Aktiv |
| Sprache |
Python 3.10+ |
| Lizenz |
Proprietär (BreakPilot) |
| Verwendungszweck |
Crawlt Schulgesetze und rechtliche Inhalte aller 16 Bundesländer |
Python Dependencies (Legal Crawler spezifisch)
| Paket |
Version |
Lizenz |
Kommerzielle Nutzung |
Beschreibung |
| beautifulsoup4 |
4.12.3 |
MIT |
Ja |
HTML Parsing |
| httpx |
0.28.1 |
BSD-3-Clause |
Ja |
Async HTTP Client |
Gecrawlte Quellen (Legal Seeds)
| Bundesland |
Quelle |
Typ |
| Baden-Württemberg |
landesrecht-bw.de |
Schulgesetz |
| Bayern |
gesetze-bayern.de |
BayEUG |
| Berlin |
gesetze.berlin.de |
Schulgesetz |
| Brandenburg |
bravors.brandenburg.de |
BbgSchulG |
| Bremen |
transparenz.bremen.de |
BremSchulG |
| Hamburg |
landesrecht-hamburg.de |
HmbSG |
| Hessen |
rv.hessenrecht.hessen.de |
HSchG |
| Mecklenburg-Vorpommern |
landesrecht-mv.de |
SchulG M-V |
| Niedersachsen |
voris.niedersachsen.de |
NSchG |
| Nordrhein-Westfalen |
bass.schule.nrw |
SchulG NRW |
| Rheinland-Pfalz |
landesrecht.rlp.de |
SchulG |
| Saarland |
sl.juris.de |
SchoG |
| Sachsen |
revosax.sachsen.de |
SächsSchulG |
| Sachsen-Anhalt |
landesrecht.sachsen-anhalt.de |
SchulG LSA |
| Schleswig-Holstein |
gesetze-rechtsprechung.sh.juris.de |
SchulG SH |
| Thüringen |
landesrecht.thueringen.de |
ThürSchulG |
Hinweis: Alle gecrawlten Inhalte sind öffentlich zugängliche Rechtstexte. Der Crawler respektiert robots.txt und Rate-Limiting.
11. ERPNext (Enterprise Resource Planning)
| Eigenschaft |
Wert |
| Name |
ERPNext |
| Version |
latest (v15+) |
| Framework |
Frappe Framework |
| Repository |
https://github.com/frappe/erpnext |
| Docker Image |
frappe/erpnext:latest |
| Lizenz |
GNU General Public License v3.0 (GPLv3) |
| Copyright |
Copyright (c) 2013-2025 Frappe Technologies Pvt. Ltd. |
| Kommerzielle Nutzung |
Erlaubt (mit Bedingungen*) |
| Attribution erforderlich |
Ja |
| Verwendungszweck |
Vollständiges ERP-System für Buchhaltung, HR, Billing & Projekte |
*GPLv3: Kommerzielle Nutzung erlaubt. Wenn Sie ERPNext modifizieren und verteilen, müssen die Änderungen unter GPLv3 veröffentlicht werden. Bei reiner Nutzung ohne Modifikation keine zusätzlichen Pflichten.
ERPNext Features
| Feature |
Beschreibung |
Verwendung in BreakPilot |
| Accounting |
Double-Entry Buchhaltung |
Finanzmanagement für Schulen |
| Invoicing |
Rechnungsstellung + Abos |
Automatische Billing für Services |
| HR & Payroll |
Personalverwaltung + Lohnabrechnung |
Lehrerverträge (zukünftig) |
| Project Management |
Projekte & Dienstleistungen |
Bildungsprojekte verwalten |
| Banking |
Payables, Receivables |
Zahlungsverkehr |
| Expenses |
Spesen & Reisekosten |
Kostenverwaltung |
Frappe Framework (ERPNext Basis)
ERPNext Service Stack
| Service |
Image/Version |
Lizenz |
Beschreibung |
| ERPNext Application |
frappe/erpnext:latest |
GPLv3 |
Hauptanwendung |
| Frappe Framework |
frappe/erpnext:latest |
MIT |
Python Framework |
| Nginx |
(embedded) |
BSD-2-Clause |
Web Server |
| Node.js |
(embedded) |
MIT |
WebSocket Server |
| MariaDB |
10.6 |
GPL-2.0 |
Datenbank |
| Redis |
alpine |
BSD-3-Clause |
Cache & Queue |
Python Dependencies (ERPNext/Frappe)
| Paket |
Lizenz |
Kommerzielle Nutzung |
Beschreibung |
| Werkzeug |
BSD-3-Clause |
Ja |
WSGI Utilities |
| Jinja2 |
BSD-3-Clause |
Ja |
Template Engine |
| SQLAlchemy |
MIT |
Ja |
ORM |
| Babel |
BSD-3-Clause |
Ja |
Internationalisierung |
| Pillow |
HPND |
Ja |
Image Processing |
| PyMySQL |
MIT |
Ja |
MySQL Client |
| gevent |
MIT |
Ja |
Async Networking |
| gunicorn |
MIT |
Ja |
WSGI Server |
JavaScript Dependencies (ERPNext Frontend)
| Paket |
Lizenz |
Kommerzielle Nutzung |
Beschreibung |
| Vue.js |
MIT |
Ja |
Frontend Framework |
| Chart.js |
MIT |
Ja |
Visualisierung |
| Socket.IO |
MIT |
Ja |
Real-time Communication |
| Frappe UI |
MIT |
Ja |
UI Components |
ERPNext Deployment
| Komponente |
Container |
Port |
Beschreibung |
| Frontend |
breakpilot-pwa-erpnext-frontend |
8090 |
Nginx Reverse Proxy |
| Backend |
breakpilot-pwa-erpnext-backend |
8000 (intern) |
Python/Frappe App |
| WebSocket |
breakpilot-pwa-erpnext-websocket |
9000 (intern) |
Real-time Updates |
| Scheduler |
breakpilot-pwa-erpnext-scheduler |
- |
Background Jobs |
| Worker (Long) |
breakpilot-pwa-erpnext-worker-long |
- |
Long-running Tasks |
| Worker (Short) |
breakpilot-pwa-erpnext-worker-short |
- |
Short Tasks |
| MariaDB |
breakpilot-pwa-erpnext-db |
3306 (intern) |
Database |
| Redis Queue |
breakpilot-pwa-erpnext-redis-queue |
6379 (intern) |
Job Queue |
| Redis Cache |
breakpilot-pwa-erpnext-redis-cache |
6379 (intern) |
App Cache |
Lizenz-Compliance: ERPNext steht unter GPLv3. BreakPilot nutzt ERPNext als eigenständigen Service ohne Modifikationen. Die GPLv3-Lizenz erlaubt dies ohne zusätzliche Verpflichtungen, solange ERPNext nicht modifiziert und redistribuiert wird.
12. Keycloak Integration (Authentifizierung)
| Eigenschaft |
Wert |
| Name |
Keycloak (Optional) |
| Version |
24.x+ |
| Repository |
https://github.com/keycloak/keycloak |
| Lizenz |
Apache-2.0 |
| Copyright |
Copyright (c) Red Hat, Inc. |
| Kommerzielle Nutzung |
Erlaubt |
| Verwendungszweck |
Identity & Access Management (IAM) fuer Produktion |
| Status |
Optional (Fallback: Lokales JWT) |
Architektur: Hybrid-Authentifizierung
BreakPilot verwendet einen Hybrid-Ansatz:
| Modus |
Beschreibung |
Empfohlen fuer |
| Lokales JWT |
Eigene JWT-Tokens mit HS256 |
Entwicklung, Tests |
| Keycloak |
JWKS-validierte RS256-Tokens |
Produktion |
Keycloak Komponenten (wenn aktiviert)
| Komponente |
Beschreibung |
Lizenz |
| Keycloak Server |
IAM Server |
Apache-2.0 |
| JWKS Endpoint |
Public Key Distribution |
Apache-2.0 |
| Realm Configuration |
Multi-Tenant Support |
Apache-2.0 |
Python Dependencies (Keycloak)
| Paket |
Version |
Lizenz |
Kommerzielle Nutzung |
Beschreibung |
| PyJWT |
2.10.1 |
MIT |
Ja |
JWT Decoding & Validation |
| httpx |
0.28.1 |
BSD-3-Clause |
Ja |
Async HTTP Client fuer JWKS |
| cryptography |
latest |
Apache-2.0/BSD |
Ja |
RSA Key Verification |
Rollentrennung
| Schicht |
Verantwortung |
Implementierung |
| Authentifizierung |
"Wer bist du?" |
Keycloak (Produktion) oder lokales JWT |
| Autorisierung |
"Was darfst du?" |
Eigenes rbac.py (domaenenspezifisch) |
Compliance Note: Keycloak steht unter Apache-2.0 Lizenz und ist vollstaendig fuer kommerzielle Nutzung freigegeben. Die Integration ist optional - ohne Keycloak-Konfiguration verwendet BreakPilot automatisch lokale JWT-Authentifizierung.
13. Tool-Integrationen (geplant)
| Tool |
Anbieter |
Lizenz/API |
Kommerzielle Nutzung |
Beschreibung |
| Tavily Search |
Tavily AI |
Proprietär (API) |
Ja (Pay-per-use) |
Web Search für LLM Tool-Calling |
Datenschutz-Hinweis: Alle Anfragen an externe Tools (Tavily) durchlaufen einen PII-Redaction-Filter. Keine personenbezogenen Daten werden an externe Dienste übermittelt.
13. Content Service (Educational Content Platform)
| Eigenschaft |
Wert |
| Name |
BreakPilot Content Service |
| Version |
1.0.0 |
| Status |
Produktionsbereit |
| Sprache |
Python 3.11 + Node.js 20 |
| Lizenz |
Proprietär (BreakPilot) |
| Verwendungszweck |
Educational Content Management mit Creative Commons Licensing |
Content Service Stack
| Service |
Port |
Framework |
Beschreibung |
| Content Service API |
8002 |
FastAPI |
Content CRUD, Rating, Analytics |
| H5P Service |
8003 |
Express |
Interactive Content Editor & Player |
| AI Content Generator |
8004 |
FastAPI |
KI-gestützte H5P Content-Generierung |
| MinIO Storage |
9000-9001 |
MinIO |
S3-compatible Object Storage |
| Content Database |
5433 |
PostgreSQL 16 |
Metadata Storage |
13.1 Content Service API (FastAPI)
| Eigenschaft |
Wert |
| Framework |
FastAPI |
| Base Image |
python:3.11-slim |
| Lizenz |
MIT License |
| Port |
8002 |
Python Dependencies (Content Service)
| Paket |
Version |
Lizenz |
Kommerzielle Nutzung |
Beschreibung |
| fastapi |
^0.109.0 |
MIT |
Ja |
Web Framework |
| uvicorn[standard] |
^0.27.0 |
BSD-3-Clause |
Ja |
ASGI Server |
| sqlalchemy |
^2.0.25 |
MIT |
Ja |
Database ORM |
| psycopg2-binary |
^2.9.9 |
LGPL-3.0 |
Ja |
PostgreSQL Driver |
| pydantic |
^2.5.3 |
MIT |
Ja |
Data Validation |
| minio |
^7.2.3 |
Apache-2.0 |
Ja |
S3 Storage Client |
| python-multipart |
^0.0.6 |
Apache-2.0 |
Ja |
Form Data Parsing |
| python-jose[cryptography] |
^3.3.0 |
MIT |
Ja |
JWT Handling |
| passlib[bcrypt] |
^1.7.4 |
BSD |
Ja |
Password Hashing |
| matrix-nio |
^0.24.0 |
ISC |
Ja |
Matrix Client for Feed Publishing |
13.2 H5P Service (Node.js) - Simplified Implementation
| Eigenschaft |
Wert |
| Framework |
Express (Simplified) |
| Base Image |
node:20-alpine |
| Lizenz |
MIT (Proprietäre Editoren) |
| Port |
8003 (8080 internal) |
| Status |
Produktionsbereit (8 Content-Typen) |
Node.js Dependencies (H5P Service)
| Paket |
Version |
Lizenz |
Kommerzielle Nutzung |
Beschreibung |
| express |
^4.18.2 |
MIT |
Ja |
Web Framework |
| cors |
^2.8.5 |
MIT |
Ja |
CORS Middleware |
Implementation Note: Vereinfachter H5P Service ohne externe GPL-3.0 Libraries. Alle Editoren und Player sind proprietäre HTML/CSS/JS Implementierungen unter MIT-kompatibler Lizenz.
H5P Content Types (Proprietäre Implementation)
| Content Type |
Status |
Beschreibung |
| Quiz (Question Set) |
✅ |
Multiple-Choice Tests mit Feedback |
| Interactive Video |
✅ |
Videos mit zeitbasierten Interaktionen (YouTube, Vimeo, MP4) |
| Course Presentation |
✅ |
Multi-Slide Präsentationen mit Navigation |
| Flashcards |
✅ |
Lernkarten zum Wiederholen |
| Timeline |
✅ |
Chronologische Zeitstrahle |
| Drag and Drop |
✅ |
Zuordnungsaufgaben mit HTML5 Drag API |
| Fill in the Blanks |
✅ |
Lückentexte mit automatischer Korrektur |
| Memory Game |
✅ |
Klassisches Memory-Spiel |
H5P Service Architecture
| Komponente |
Technologie |
Lizenz |
| Server |
Express.js |
MIT |
| Editors |
HTML5/CSS3/Vanilla JS |
Proprietär (BreakPilot) |
| Players |
HTML5/CSS3/Vanilla JS |
Proprietär (BreakPilot) |
| Storage |
LocalStorage (Browser) |
N/A |
| Video Integration |
YouTube/Vimeo iFrame API |
Proprietär (API Terms) |
Compliance Note: Keine GPL-3.0 Dependencies. Vollständig kommerziell nutzbar ohne Copyleft-Verpflichtungen.
13.3 AI Content Generator (Python/FastAPI)
| Eigenschaft |
Wert |
| Framework |
FastAPI |
| Base Image |
python:3.11-slim |
| Lizenz |
MIT License (Dependencies) / Proprietär (Code) |
| Port |
8004 |
| Status |
Produktionsbereit |
Hauptfunktion
Automatische Generierung aller 8 H5P Content-Typen aus hochgeladenen Lernmaterialien mittels Claude AI und YouTube-Integration.
Python Dependencies (AI Content Generator)
| Paket |
Version |
Lizenz |
Kommerzielle Nutzung |
Beschreibung |
| fastapi |
^0.115.6 |
MIT |
Ja |
Web Framework |
| uvicorn |
^0.34.0 |
BSD-3-Clause |
Ja |
ASGI Server |
| anthropic |
^0.42.0 |
MIT |
Ja |
Claude API Client |
| youtube-transcript-api |
^0.6.3 |
MIT |
Ja |
YouTube Transkript-Extraktion |
| PyPDF2 |
^3.0.1 |
BSD-3-Clause |
Ja |
PDF Text-Extraktion |
| Pillow |
^11.0.0 |
HPND |
Ja |
Image Processing |
| pytesseract |
^0.3.14 |
Apache-2.0 |
Ja |
OCR Text Recognition |
| python-docx |
^1.1.2 |
MIT |
Ja |
Word Document Processing |
| mammoth |
^1.8.0 |
BSD-2-Clause |
Ja |
DOCX to Text Conversion |
| python-multipart |
^0.0.20 |
Apache-2.0 |
Ja |
File Upload Handling |
System Dependencies
| Komponente |
Lizenz |
Kommerzielle Nutzung |
Beschreibung |
| Tesseract OCR |
Apache-2.0 |
Ja |
Optical Character Recognition Engine |
| Poppler Utils |
GPL-2.0 |
Ja (nicht modifiziert) |
PDF Rendering Library |
Externe APIs (Cloud Services)
| Service |
Verwendung |
Kosten |
Lizenz/Terms |
| Anthropic Claude API |
Content-Generierung |
Pay-per-use |
Anthropic Terms |
| YouTube Data API (optional) |
Video-Suche |
Kostenlos (Quota) |
YouTube API Terms |
| YouTube Transcript API |
Transkript-Abruf |
Kostenlos |
Public API |
Generierte Content-Typen
| Content Type |
Input |
AI-Technologie |
| Quiz |
Lernmaterialien |
Claude (Sonnet 4.5) |
| Interactive Video |
YouTube URL + Transkript |
Claude + Transcript API |
| Course Presentation |
Lernmaterialien |
Claude (Sonnet 4.5) |
| Flashcards |
Lernmaterialien |
Claude (Sonnet 4.5) |
| Timeline |
Lernmaterialien |
Claude (Sonnet 4.5) |
| Drag and Drop |
Lernmaterialien |
Claude (Sonnet 4.5) |
| Fill in the Blanks |
Lernmaterialien |
Claude (Sonnet 4.5) |
| Memory Game |
Lernmaterialien |
Claude (Sonnet 4.5) |
Material-Analyse Capabilities
| Dateityp |
Processing Library |
Extraction Method |
| PDF |
PyPDF2 |
Text Extraction |
| PNG/JPG |
Pillow + Tesseract |
OCR (Optical Character Recognition) |
| DOCX |
python-docx / mammoth |
Document Parsing |
| TXT |
Python stdlib |
Plain Text Reading |
Compliance Note: Alle Dependencies sind MIT, BSD oder Apache-2.0 lizenziert. Tesseract und Poppler werden als unveränderter Binary verwendet (GPL-Compliance gegeben). Anthropic Claude API erfordert kommerzielle Lizenz.
Cost Note: Anthropic Claude API ist kostenpflichtig (Pay-per-token). YouTube Data API hat kostenlose Quota-Limits.
13.4 MinIO S3 Storage
| Eigenschaft |
Wert |
| Image |
minio/minio:latest |
| Ports |
9000 (API), 9001 (Console) |
| Lizenz |
AGPL-3.0 |
| Verwendung |
Media File Storage (Videos, PDFs, Images) |
AGPL-3.0: Kommerzielle Nutzung erlaubt. Wenn MinIO modifiziert und als Service angeboten wird, müssen Änderungen unter AGPL veröffentlicht werden.
13.5 Content Database (PostgreSQL)
| Eigenschaft |
Wert |
| Image |
postgres:16-alpine |
| Port |
5433 (external), 5432 (internal) |
| Lizenz |
PostgreSQL License |
| Database |
breakpilot_content |
Content Platform Features
| Feature |
Status |
Beschreibung |
| Content CRUD |
✅ |
Create, Read, Update, Delete für Educational Content |
| Creative Commons Licensing |
✅ |
CC-BY, CC-BY-SA, CC-BY-NC, CC-BY-NC-SA, CC0 |
| H5P Interactive Content |
✅ |
Self-hosted H5P Editor & Player |
| Matrix Feed Integration |
✅ |
Automatisches Publishing zu Matrix Spaces |
| Rating System |
✅ |
5-Star Ratings mit Kommentaren |
| Download Tracking |
✅ |
Analytics & Impact Scoring |
| DSGVO Compliance |
✅ |
Data Minimization, IP Anonymization |
| S3 File Storage |
✅ |
MinIO für Videos, PDFs, Bilder |
Supported Content Types
| Content Type |
Format |
Beschreibung |
| VIDEO |
MP4, WebM |
Video Content |
| PDF |
PDF |
PDF Documents |
| IMAGE_GALLERY |
JPG, PNG, WebP |
Image Collections |
| MARKDOWN |
.md |
Markdown Documents |
| AUDIO |
MP3, OGG, WebM |
Audio Files |
| H5P |
.h5p |
Interactive H5P Packages |
Creative Commons Licenses
| License |
Beschreibung |
Commercial Use |
| CC-BY-4.0 |
Attribution |
✅ |
| CC-BY-SA-4.0 |
Attribution + ShareAlike |
✅ (Recommended) |
| CC-BY-NC-4.0 |
Attribution + NonCommercial |
⚠️ |
| CC-BY-NC-SA-4.0 |
Attribution + NonCommercial + ShareAlike |
⚠️ |
| CC0-1.0 |
Public Domain |
✅ |
Content Categories
| Category |
Beschreibung |
| MOVEMENT |
Bewegungspausen & Physical Activities |
| MATH |
Mathematik-Übungen |
| STEAM |
Science, Technology, Engineering, Arts, Math |
| LANGUAGE |
Sprachlernen |
| ARTS |
Kreative Künste |
| SOCIAL |
Social-Emotional Learning |
| MINDFULNESS |
Achtsamkeit & Meditation |
Security & Privacy (Content Service)
| Feature |
Status |
Beschreibung |
| Data Minimization |
✅ |
Nur notwendige Metadaten gespeichert |
| IP Anonymization |
✅ |
IP-Adressen nach 7 Tagen anonymisiert |
| User Data Export |
✅ |
DSGVO-konformer Datenexport |
| Account Deletion |
✅ |
Vollständige Datenlöschung möglich |
| No Student Data |
✅ |
Keine Schülerdaten erfasst |
| JWT Authentication |
🔜 |
OAuth2 via consent-service (pending) |
| HTTPS/TLS |
🔜 |
Production requirement |
Docker Volumes
| Volume |
Verwendung |
| minio_data |
Object Storage für Media Files |
| content_db_data |
PostgreSQL Database |
| h5p_content |
H5P Content Files |
Lizenz-Compliance: Die Content Service Plattform nutzt hauptsächlich MIT/Apache-2.0 lizenzierte Komponenten. H5P Libraries sind unter GPL-3.0, was kommerzielle Nutzung erlaubt.
Aktualisierungsprotokoll
| Datum |
Änderung |
Verantwortlich |
| 2025-12-14 |
Initiale SBOM erstellt |
Claude Code |
| 2025-12-14 |
LibreChat hinzugefügt |
Claude Code |
| 2025-12-15 |
Matrix Synapse hinzugefügt (AGPL-3.0) |
Claude Code |
| 2025-12-15 |
PostgreSQL für Synapse-DB hinzugefügt |
Claude Code |
| 2025-12-15 |
Jitsi Meet hinzugefügt (Apache-2.0) |
Claude Code |
| 2025-12-15 |
Go Dependencies aktualisiert (gin-gonic/gin, jackc/pgx) |
Claude Code |
| 2025-12-15 |
Python Dependencies aktualisiert (mammoth, python-docx für DSR) |
Claude Code |
| 2025-12-15 |
LLM Platform Komponenten hinzugefügt (vLLM, Ollama, Llama 3.1, Mistral) |
Claude Code |
| 2025-12-15 |
Tool-Integrationen Sektion hinzugefügt (Tavily) |
Claude Code |
| 2025-12-16 |
Education Search Service hinzugefügt (OpenSearch, goquery, pdf) |
Claude Code |
| 2025-12-17 |
Legal Crawler Modul hinzugefügt (beautifulsoup4) |
Claude Code |
| 2025-12-17 |
Alle 16 Bundesländer Schulgesetz-Quellen dokumentiert |
Claude Code |
| 2025-12-29 |
ERPNext hinzugefügt (GPLv3, Frappe Framework) |
Claude Code |
| 2025-12-29 |
MariaDB 10.6 für ERPNext hinzugefügt (GPL-2.0) |
Claude Code |
| 2025-12-29 |
Redis Cache & Queue für ERPNext hinzugefügt |
Claude Code |
| 2025-12-30 |
Content Service hinzugefügt (FastAPI, H5P, MinIO) |
Claude Code |
| 2025-12-30 |
H5P Service vereinfacht: Proprietäre Editoren/Players ohne GPL-3.0 |
Claude Code |
| 2025-12-30 |
Alle 8 H5P Content-Typen implementiert (Quiz, Video, Presentation, etc.) |
Claude Code |
| 2025-12-30 |
Creative Commons Licensing System dokumentiert |
Claude Code |
| 2025-12-30 |
Matrix Feed Integration für Content Publishing |
Claude Code |
| 2025-12-30 |
AI Content Generator Service hinzugefügt (Claude API, YouTube Transcript) |
Claude Code |
| 2025-12-30 |
Material-Analyse implementiert (PDF, DOCX, Images mit OCR) |
Claude Code |
| 2025-12-30 |
Automatische H5P-Generierung für alle 8 Content-Typen |
Claude Code |
| 2026-01-09 |
Keycloak-Integration (Hybrid-Auth) hinzugefügt |
Claude Code |
| 2026-01-09 |
PyJWKClient für JWKS-Validierung dokumentiert |
Claude Code |
| 2026-01-09 |
HashiCorp Vault für Secrets-Management hinzugefügt |
Claude Code |
| 2026-01-09 |
Sicherheitsaudit: Hardcodierte Secrets entfernt |
Claude Code |
| 2026-01-09 |
DevSecOps-Stack integriert (Gitleaks, Semgrep, Trivy, Syft/Grype) |
Claude Code |
| 2026-01-09 |
Pre-Commit Security Hooks aktualisiert (Bandit, Semgrep) |
Claude Code |
| 2026-01-10 |
Sektion 7a: Typografie & Schriftarten hinzugefügt |
Claude Code |
| 2026-01-10 |
Inter Font (OFL-1.1) als primäre Schrift dokumentiert |
Claude Code |
| 2026-01-10 |
E-Mail-sichere Schriften und Icon-Fonts dokumentiert |
Claude Code |
| 2026-01-10 |
Compliance-Checkliste für Typografie erstellt |
Claude Code |
| 2026-02-08 |
Sektion 15: Klausur-Service RAG System hinzugefügt |
Claude Code |
| 2026-02-08 |
Model Cards für BAAI/bge-m3 und bge-reranker-v2-m3 dokumentiert |
Claude Code |
| 2026-02-08 |
MS MARCO Modelle als nicht empfohlen markiert (Lizenzproblem) |
Claude Code |
| 2026-02-08 |
PyMuPDF aus Default-Build entfernt (AGPL-3.0) |
Claude Code |
| 2026-02-08 |
HyDE/Self-RAG Datenschutz-Warnungen dokumentiert |
Claude Code |
| 2026-02-08 |
RAG Feature-Status-Tabelle hinzugefügt (implementiert vs. aktiv vs. extern) |
Claude Code |
13. HashiCorp Vault (Secrets Management)
Vault Server
| Komponente |
Version |
Lizenz |
Verwendung |
| HashiCorp Vault |
1.15 |
BSL 1.1 |
Secrets-Management |
| hvac (Python Client) |
2.1.0 |
Apache-2.0 |
Python Vault Client |
Lizenz-Hinweis
HashiCorp Vault ist unter der Business Source License 1.1 (BSL 1.1) lizenziert:
- Kostenlose Nutzung für alle Zwecke (einschließlich kommerzielle) erlaubt
- Einzige Einschränkung: Vault darf nicht als Hosted/Managed Service angeboten werden
- Nach 4 Jahren wechselt die Lizenz automatisch zu Open Source (MPL 2.0)
Für BreakPilot ist die Nutzung vollständig konform, da Vault nur intern verwendet wird.
Konfiguration
| Feature |
Status |
Beschreibung |
| KV v2 Engine |
✅ |
Key-Value Secrets mit Versionierung |
| AppRole Auth |
✅ |
Service-to-Service Authentication |
| Token Auth |
✅ |
Development Mode |
| Kubernetes Auth |
🔜 |
Für K8s Deployments |
| TLS/mTLS |
🔜 |
Production Requirement |
Gespeicherte Secrets
| Pfad |
Typ |
Beschreibung |
secret/breakpilot/api_keys/anthropic |
API Key |
Anthropic Claude API |
secret/breakpilot/api_keys/vast |
API Key |
vast.ai GPU |
secret/breakpilot/api_keys/stripe |
API Key |
Stripe Payments |
secret/breakpilot/database/postgres |
Credentials |
PostgreSQL |
secret/breakpilot/auth/jwt |
Secret |
JWT Signing Keys |
secret/breakpilot/auth/keycloak |
Secret |
Keycloak Client |
secret/breakpilot/communication/matrix |
Token |
Matrix Access Token |
secret/breakpilot/communication/jitsi |
Secret |
Jitsi Auth Secrets |
secret/breakpilot/storage/minio |
Credentials |
MinIO Object Storage |
Docker Volumes
| Volume |
Verwendung |
| vault_data |
Vault Storage Backend |
| vault_logs |
Audit Logs |
Sicherheitsfeatures
| Feature |
Status |
Beschreibung |
| Audit Logging |
✅ |
Alle Zugriffe werden geloggt |
| Secret Rotation |
🔜 |
Automatische Key-Rotation |
| Dynamic Secrets |
🔜 |
Kurzlebige Database Credentials |
| Seal/Unseal |
✅ |
Verschlüsselung im Ruhezustand |
Wichtig: In Produktion müssen alle Placeholder-Secrets durch echte Werte ersetzt werden!
Secrets niemals in Git committen!
14. DevSecOps Tools (Security Scanning)
BreakPilot verwendet einen umfassenden DevSecOps-Stack fuer kontinuierliche Security-Pruefungen.
Secrets Detection
| Tool |
Version |
Lizenz |
Verwendung |
| Gitleaks |
8.18.x |
MIT |
Pre-commit, CI/CD Secrets Detection |
| detect-secrets |
1.4.x |
Apache-2.0 |
Baseline Secrets Detection |
Static Application Security Testing (SAST)
| Tool |
Version |
Lizenz |
Verwendung |
| Semgrep |
1.52.x |
LGPL-2.1 |
Multi-Language SAST |
| Bandit |
1.7.x |
Apache-2.0 |
Python Security Linting |
Software Composition Analysis (SCA)
| Tool |
Version |
Lizenz |
Verwendung |
| Trivy |
0.48.x |
Apache-2.0 |
Vulnerability & Misconfiguration Scanning |
| Grype |
0.74.x |
Apache-2.0 |
Vulnerability Scanner |
| OWASP Dependency-Check |
9.x |
Apache-2.0 |
CVE/NVD Dependency Check |
SBOM Generation
| Tool |
Version |
Lizenz |
Verwendung |
| Syft |
0.100.x |
Apache-2.0 |
SBOM Generation (CycloneDX, SPDX) |
Dynamic Application Security Testing (DAST)
| Tool |
Version |
Lizenz |
Verwendung |
| OWASP ZAP |
2.14.x |
Apache-2.0 |
Web Application Scanner |
Lizenz-Compliance
Alle DevSecOps-Tools sind unter permissiven Open-Source-Lizenzen veroeffentlicht:
| Lizenz |
Tools |
Verpflichtungen |
| MIT |
Gitleaks |
Copyright-Hinweis beibehalten |
| Apache-2.0 |
Trivy, Grype, Syft, Bandit, ZAP, Dependency-Check, detect-secrets |
Lizenz/Copyright beibehalten, Aenderungen dokumentieren |
| LGPL-2.1 |
Semgrep |
Bei Aenderungen am Semgrep-Code: Source bereitstellen |
Konfigurationsdateien
| Datei |
Beschreibung |
.gitleaks.toml |
Gitleaks Regeln & Allowlists |
.semgrep.yml |
Custom SAST Rules |
.trivy.yaml |
Trivy Scan-Konfiguration |
.trivyignore |
Akzeptierte Vulnerabilities |
.pre-commit-config.yaml |
Pre-Commit Hook Definitionen |
scripts/security-scan.sh |
Manuelles Security-Scan Script |
Dokumentation
Siehe: docs/architecture/devsecops.md
15. Klausur-Service RAG System (Educational Document Retrieval)
| Eigenschaft |
Wert |
| Name |
BreakPilot Klausur-Service RAG |
| Version |
2.1.0 |
| Status |
Produktionsbereit |
| Sprache |
Python 3.11+ |
| Lizenz |
Proprietär (BreakPilot) |
| Verwendungszweck |
RAG für Abitur-Erwartungshorizonte (Niedersachsen) |
15.1 ML Models (Model Cards)
Wichtig: Alle Standard-ML-Modelle sind für kommerzielle Nutzung freigegeben.
Embedding Model
| Eigenschaft |
Wert |
| Name |
BAAI/bge-m3 |
| Repository |
https://huggingface.co/BAAI/bge-m3 |
| Lizenz |
MIT |
| Dimensionen |
1024 |
| Max Token |
8192 |
| Sprachen |
Multilingual (inkl. Deutsch) |
| Kommerzielle Nutzung |
✅ Ja |
| Status |
Default (aktiv) |
Re-Ranking Model
Alternatve Embedding Models (Optional)
| Modell |
Lizenz |
Dimensionen |
Empfehlung |
| all-MiniLM-L6-v2 |
Apache-2.0 |
384 |
✅ Fallback/Development |
| deepset/mxbai-embed-de-large-v1 |
Apache-2.0 |
1024 |
✅ German-only deployments |
| jinaai/jina-embeddings-v2-base-de |
Apache-2.0 |
768 |
✅ German/English |
| intfloat/multilingual-e5-large |
MIT |
1024 |
✅ Multilingual |
Nicht empfohlene Modelle (Lizenzprobleme)
| Modell |
Lizenz |
Problem |
| cross-encoder/ms-marco-* |
Apache-2.0 |
⚠️ MS MARCO Trainingsdaten sind nur für nicht-kommerzielle Nutzung freigegeben |
| PyMuPDF/fitz |
AGPL-3.0 |
⚠️ AGPL erfordert Open-Source-Veröffentlichung oder kommerzielle Lizenz |
15.2 Python Dependencies (Klausur-Service)
| Paket |
Version |
Lizenz |
Kommerzielle Nutzung |
Beschreibung |
| sentence-transformers |
>=2.2.0 |
Apache-2.0 |
Ja |
Embedding & Re-Ranking |
| torch |
>=2.0.0 |
BSD-3-Clause |
Ja |
ML Framework (CPU-only) |
| pypdf |
>=4.0.0 |
BSD-3-Clause |
Ja |
PDF-Extraktion (Default) |
| unstructured |
>=0.12.0 |
Apache-2.0 |
Ja |
PDF-Extraktion (Tabellen) |
| qdrant-client |
>=1.7.0 |
Apache-2.0 |
Ja |
Vector Database Client |
| httpx |
>=0.26.0 |
BSD-3-Clause |
Ja |
Async HTTP Client |
| FastAPI |
>=0.109.0 |
MIT |
Ja |
Web Framework |
| cryptography |
>=41.0.0 |
Apache-2.0/BSD |
Ja |
AES-256-GCM Verschlüsselung |
Hinweis: PyMuPDF ist NICHT im Default-Build enthalten (AGPL-3.0). Falls benötigt, separat installieren und AGPL-Compliance sicherstellen.
15.3 RAG Feature Status
| Feature |
Implementiert |
Standardmäßig Aktiv |
Sendet Daten extern |
| Local Embeddings |
✅ |
✅ |
❌ Nein |
| Local Re-Ranking |
✅ |
✅ |
❌ Nein |
| Semantic Chunking |
✅ |
✅ |
❌ Nein |
| Hybrid Search (BM25) |
✅ |
✅ |
❌ Nein |
| HyDE |
✅ |
❌ |
⚠️ Ja (LLM APIs) |
| Self-RAG |
✅ |
❌ |
⚠️ Ja (OpenAI API) |
| RAG Evaluation |
✅ |
⚠️ Teilweise |
⚠️ Optional (LLM) |
15.4 Datenschutz-Hinweise (Privacy Notes)
| Kategorie |
Status |
Beschreibung |
| Embeddings |
✅ Lokal |
Keine Daten werden an externe Server gesendet |
| Re-Ranking |
✅ Lokal |
Cross-Encoder läuft komplett lokal |
| PDF-Extraktion |
✅ Lokal |
pypdf/unstructured laufen lokal |
| Hybrid Search |
✅ Lokal |
BM25 läuft komplett lokal |
| HyDE |
⚠️ Opt-in |
Bei Aktivierung: Queries an LLM APIs (OpenAI/Anthropic) |
| Self-RAG |
⚠️ Opt-in |
Bei Aktivierung: Dokumente + Queries an OpenAI |
| Indexierte Daten |
✅ |
Nur Erwartungshorizonte, keine Schülerdaten |
15.5 Konfiguration (Environment Variables)
| Variable |
Default |
Beschreibung |
EMBEDDING_BACKEND |
local |
Embedding-Backend (local/openai) |
LOCAL_EMBEDDING_MODEL |
BAAI/bge-m3 |
Lokales Embedding-Modell |
RERANKER_BACKEND |
local |
Re-Ranking Backend (local/cohere) |
LOCAL_RERANKER_MODEL |
BAAI/bge-reranker-v2-m3 |
Lokales Re-Ranking Modell |
PDF_EXTRACTION_BACKEND |
auto |
PDF-Backend (auto/unstructured/pypdf) |
HYDE_ENABLED |
false |
HyDE aktivieren (⚠️ sendet Daten extern) |
SELF_RAG_ENABLED |
false |
Self-RAG aktivieren (⚠️ sendet Daten extern) |
HYBRID_SEARCH_ENABLED |
true |
Hybrid Search aktivieren |
CHUNKING_STRATEGY |
semantic |
Chunking-Strategie (semantic/recursive) |
15.6 API Endpoints
| Endpoint |
Methode |
Beschreibung |
/api/v1/admin/rag/system-info |
GET |
System-Info mit Lizenzen und Feature-Status |
/api/v1/admin/nibis/search |
POST |
RAG-Suche mit optionalem Re-Ranking |
/api/v1/admin/rag/collections |
GET |
Liste aller RAG Collections |
/api/v1/admin/nibis/ingest |
POST |
Dokument-Indexierung starten |
/api/v1/admin/rag/metrics |
GET |
RAG-Qualitätsmetriken |
15.7 Compliance-Checkliste (Klausur-Service RAG)
Kontakt
Bei Fragen zur Lizenz-Compliance:
16. OCR Grid Detection System (klausur-service)
| Eigenschaft |
Wert |
| Name |
BreakPilot OCR Grid Detection |
| Version |
4.0 |
| Status |
Produktiv |
| Sprache |
Python 3.11+ / TypeScript |
| Lizenz |
Proprietär (BreakPilot) |
| Verwendungszweck |
OCR-Analyse von Vokabeltabellen mit mm-Koordinaten |
Python Dependencies (Grid Detection)
| Paket |
Version |
Lizenz |
Kommerzielle Nutzung |
Beschreibung |
| NumPy |
≥2.0.0 |
BSD-3-Clause |
Ja |
Deskew-Berechnung (polyfit/lineare Regression) |
| OpenCV |
≥4.8.0 |
Apache-2.0 |
Ja |
Bildverarbeitung (optional) |
Frontend Dependencies (Worksheet Editor Integration)
| Paket |
Version |
Lizenz |
Kommerzielle Nutzung |
Beschreibung |
| Fabric.js |
6.x |
MIT |
Ja |
Canvas-Rendering für Wortpositionierung |
Features
| Feature |
Status |
Beschreibung |
| mm-Koordinatensystem |
✅ |
A4-Format (210x297mm) |
| Deskew-Korrektur |
✅ |
Automatische Ausrichtung schiefer Scans |
| 1mm Column Margin |
✅ |
Spalten beginnen 1mm vor erstem Wort |
| Spalten-Erkennung |
✅ |
Englisch/Deutsch/Beispiel automatisch erkannt |
| Editor-Integration |
✅ |
Export/Import via localStorage |
Lizenz-Compliance
| 2026-02-08 | OCR Grid Detection System (v4) hinzugefügt | Claude Code |
| 2026-02-08 | Fabric.js für Worksheet Editor Integration dokumentiert | Claude Code |
| 2026-02-08 | Deskew-Korrektur und mm-Koordinatensystem dokumentiert | Claude Code |