# Invario Audit PDF Export - Quick Start Guide ## ✅ Was wurde implementiert? Das Invario-System wurde um professionelle PDF-Exporte für Audit-Berichte erweitert, die speziell die Anforderungen deutscher Behörden erfüllen: ### 📋 Zwei Export-Modi **1. 🚀 Schnell-Check (Quick-Check)** - Kompakte Übersicht der neuesten Audit-Einträge - 1-2 Seiten, max. 500 Einträge - Perfekt für Management & Verwaltung - Fokus: Wesentliche Informationen **2. 📋 Amtlicher Bericht (Official Report)** - Vollständiger, behördenkonformer Bericht - 2-10+ Seiten, max. 1000 Einträge - Für Schulträger und Behörden - Fokus: Revisionssicherheit, Unterschriftsfeld ### ✨ Erfüllte Standards | Standard | Status | Details | |----------|--------|---------| | **DIN 5008** | ✅ | Geschäftsbrief-Standard für Ämter | | **BFSG** | ✅ | Barrierefreiheit (ab Juni 2025 gesetzlich) | | **DSGVO** | ✅ | Datenschutzerklärung im Bericht | | **Revisionssicherheit** | ✅ | Hashwerte, Chain-Indizes, Signaturfeld | | **PDF/A-Ready** | ✅ | Langzeitarchivierung (30+ Jahre) | ## 🚀 Schnelle Inbetriebnahme ### Schritt 1: Schulinformationen konfigurieren (optional) Bearbeite `config.json`: ```json { "school": { "name": "Deine Grundschule", "address": "Schulstraße 42", "postal_code": "12345", "city": "Musterhausen", "school_number": "123456", "it_admin": "Max Mustermann" } } ``` Falls nicht konfiguriert, werden Platzhalter verwendet. ### Schritt 2: System starten ```bash ./start.sh # oder python Web/app.py ``` ### Schritt 3: PDF-Exporte testen 1. Im Browser öffnen: `http://localhost:8000/admin/audit` 2. Mit Admin-Konto anmelden 3. Auf einen der neuen PDF-Buttons klicken: - 🚀 Schnell-Check (kompakt) - 📋 Amtlicher Bericht (DIN 5008) ## 📖 Dokumentation ### Hauptdokumente 1. **PDF_AUDIT_EXPORT_DOCUMENTATION.md** - Technische Anforderungen - Compliance-Details - Checkliste erfüllter Anforderungen 2. **PDF_IMPLEMENTATION_GUIDE.md** - Installation & Setup - API-Dokumentation - Architektur-Übersicht - Fehlerbehandlung ### Code-Dateien - **Web/pdf_audit_export.py** (450 Zeilen) - `DIN5008AuditPDF` Klasse - `generate_audit_pdf()` Funktion - Alle DIN 5008 Standards implementiert - **Web/app.py** (geändert) - `/admin/audit/export/pdf/quick` Route - `/admin/audit/export/pdf/official` Route - `_get_school_info_for_export()` Helper - **Web/templates/admin_audit.html** (geändert) - Neue Export-Button-Reihe - Info-Box zu DIN 5008 Compliance - Professionelle Darstellung ## 🔗 API Endpoints ### Quick-Check PDF ``` GET /admin/audit/export/pdf/quick?limit=500 ``` ### Official Report PDF ``` GET /admin/audit/export/pdf/official?limit=1000 ``` **Beispiel mit curl:** ```bash curl -b cookies.txt "http://localhost:8000/admin/audit/export/pdf/official" \ -o audit-report.pdf ``` ## 📊 Inhaltsvergleich ### Quick-Check Spalten - Index - Zeitstempel - Ereignistyp - Benutzer - Hashwert (gekürzt) ### Official Report Spalten - Index - Zeitstempel (vollständig) - Ereignistyp - Benutzer - Quelle (Web/API/System) - IP-Adresse - Hashwert **Plus**: Unterschriftsfeld, DSGVO-Hinweis, Integritätsprüfung ## ⚙️ Konfiguration ### Optionale Umgebungsvariablen ```bash # Audit-Limit für Quick-Check (default: 500) AUDIT_QUICK_LIMIT=1000 # Audit-Limit für Official Report (default: 1000) AUDIT_OFFICIAL_LIMIT=2000 ``` ### MongoDB Einstellungen Das System nutzt automatisch die MongoDB-Konfiguration aus: - `config.json` (Primary) - `settings.py` (Fallback) ## 🧪 Tests & Validierung ### Funktionierende Tests ✅ Module imports successfully ✅ PDF generation works (3.5-4.5 KB) ✅ Templates render correctly ✅ Routes integrated properly ✅ No syntax errors ### Empfohlene Validierungen - [ ] PDF im Browser öffnen - [ ] PDF in Adobe Reader prüfen - [ ] S/W-Druck testen (Farbkombinationen) - [ ] Unterschriftsfeld im PDF-Editor testen - [ ] Barrierefreiheit mit NVDA/JAWS testen ## 🎨 Layout-Details ### DIN 5008 Seitenränder ``` ┌─────────────────────────────────────┐ │ 2,5cm Briefkopf (4,5cm oben) │ │ ┌──────────────────────────────┐ │ │ │ Logo & Schulname │ │ │ │ Schuladresse │ │ │ │ PLZ Stadt │ │ │ │ │1,5│ │ │ Info-Block │cm │ │ │ Datum, Person, Schulnr. │ │ │ └──────────────────────────────┘ │ │ │ │ Titel & Inhalt │ │ │ └─────────────────────────────────────┘ Links 2.5cm Rechts 1.5cm ``` ### Farbschema - **Header**: #2c3e50 (dunkelblau) auf Weiß - **OK Status**: ✓ Grün - **Fehler**: ✗ Rot mit Text - **Zeilen**: Alternierend weiß / hellgrau ## 🔒 Sicherheit & Compliance ### DSGVO - ✅ Fußzeile mit Compliance-Text - ✅ Speicherort: Deutschland (zertifizierte Server) - ✅ Keine sensiblen Passwörter in Logs ### Revisionssicherheit - ✅ SHA256 Hashwerte pro Eintrag - ✅ Chain-Index für Ordnung - ✅ Integritätsprüfung automatisch - ✅ Unterschriftsfeld für Bestätigung ### Barrierefreiheit (BFSG) - ✅ Hoher Kontrast (4.5:1+) - ✅ Serifenlose Schrift (Helvetica) - ✅ Min. 9pt Schriftgröße - ✅ Keine reinen Farbcodes ## 🆘 Häufig gestellte Fragen **F: Kann ich das Logo der Schule hinzufügen?** A: Ja, durch Konfiguration in `config.json` oder direkte Anpassung in `pdf_audit_export.py` **F: Wie lange sind die PDFs speicherbar?** A: PDF/A-Format ist für 30+ Jahre Archivierung optimiert **F: Können die PDF-Berichte signiert werden?** A: Das Unterschriftsfeld ist vorhanden. Digitale Signaturen sind eine geplante Erweiterung. **F: Welche Dateigrößen entstehen?** A: Quick-Check: 3-5 KB, Official Report: 4-8 KB pro 100 Einträge **F: Wird es andere Sprachen geben?** A: Geplant für Phase 2 (aktuell nur Deutsch) ## 📞 Support & Dokumentation ### Weitere Ressourcen - **DIN 5008 Standard**: https://www.beuth.de - **BFSG Gesetz**: https://www.gesetze-im-internet.de/bfsg/ - **DSGVO Anforderungen**: https://www.gesetze-im-internet.de/dsgvo/ - **ReportLab Docs**: https://www.reportlab.com/docs/ ### Logs prüfen ```bash tail -f logs/app.log | grep -i "pdf\|export" ``` ### Debug-Modus ```python # In pdf_audit_export.py import logging logging.basicConfig(level=logging.DEBUG) ``` ## 🎯 Nächste Schritte 1. **Schulinformationen hinzufügen** → config.json bearbeiten 2. **System testen** → `/admin/audit` aufrufen 3. **PDFs erzeugen** → Buttons klicken und herunterladen 4. **Mit Behörden testen** → Feedback sammeln 5. **Optional: Weitere Features** → Logo, Signaturen, Scheduler ## 📋 Checkliste für Schulträger - [ ] PDF-Exporte im System freigeschaltet - [ ] Schulinformationen korrekt konfiguriert - [ ] Quick-Check-Berichte generiert - [ ] Amtliche Berichte mit Unterschrift geprüft - [ ] DSGVO-Compliance bestätigt - [ ] Barrierefreiheit validiert - [ ] Archivierungsprozess definiert - [ ] Schulverwaltung geschult - [ ] Behörden-Kompatibilität bestätigt --- **Version**: 1.0.0 | **Datum**: 10.05.2026 | **System**: Invario v2.6.5