# TimeMaster – Roadmap > Stand: Mai 2026 · Deployed: Dev `.137` · Prod `.164` --- ## ✅ Fertiggestellt | Feature | Migration | Deployed | |---|---|---| | Auth, JWT, Rollen (5 Stufen), TOTP/2FA | 0001–0016 | ✅ | | Zeiterfassung (Stempel, Pausen, Genehmigung) | 0002 | ✅ | | Abwesenheiten (Urlaub, Genehmigung, Kalender) | 0003–0016 | ✅ | | Urlaubskonto (Grundurlaub, Sondertage, Resturlaub) | 0003–0016 | ✅ | | Kiosk-Modus (PIN, NFC, QR, Mitarbeiterliste) | 0018 | ✅ | | Personalnummer (Format, Auto-Modus, CSV-Import) | 0020 | ✅ | | Krankmeldung (Quick-Sick, Bradford-Faktor, AU-Pflicht) | 0022 | ✅ | | Busylight-Integration (Pull-Modus, per-Firma Token) | 0023 | ✅ | | Row Level Security (PostgreSQL RLS, Mandanten-Isolation) | 0024 | ✅ | | SSRF-Fix CalDAV (CALDAV_ALLOWED_CIDRS Whitelist) | 0026 | ✅ | | Mobile Stempelseite `/mobile` (PWA, Touch-optimiert) | 0027 | ✅ | | FZA-Lücken geschlossen (Overdraft-Schutz, Refund, Auto-Recalc) | 0028 | ✅ | | Sondervertretungs-Faktoren (×1.5, eigene HR-Seite) | 0029 | ✅ | | Audit-Log Backend + Frontend (COMPANY_ADMIN/SUPER_ADMIN) | — | ✅ | | §3b EStG Stunden-Report (Nacht/Wochenende/Feiertag) | — | ✅ | --- ## 🚧 In Planung ### Priorität 1 – Sicherheit & Infrastruktur #### agent-08: Kiosk-Härtung (Ed25519-Signierung) **Warum:** Aktueller Token-Auth ist nicht MITM-resistent. Kein Produktiveinsatz ohne diese Absicherung. - [ ] **Backend + CLI**: Ed25519-Verifizierung pro Request, `timemaster kiosk`-CLI (add/approve/revoke/rotate-key), Migration 0030 - [ ] **Kiosk-Frontend**: ServiceWorker signiert alle Requests, WebCrypto `extractable: false`, IndexedDB Offline-Queue, Heartbeat - [ ] **Verwaltungs-Frontend**: KioskDevicesPage-Erweiterung (Status-Ampel, Fingerprint, Heartbeat-Timestamp), Health-Badge im Layout - [ ] *(Phase 2 später)* Anomalie-Detection (Frequenz-Threshold, IP-Sprung) --- ### Priorität 2 – Kernfunktionen #### agent-02-zeiterfassung: Vollständige Zeiterfassung **Warum:** ArbZG-Prüfung, Überstundenkonto und Genehmigungsworkflow sind noch nicht vollständig abgebildet. - [ ] Work Schedules (Arbeitspläne) mit Wochenstunden - [ ] ArbZG-Regeln: Max. 10h/Tag, Pause ab 6h/9h, 11h Mindestruhezeit - [ ] Überstunden-Konto: auto-Berechnung bei Genehmigung - [ ] Manuelle Zeiteinträge (mit Berechtigung) - [ ] Export: CSV · XLSX · PDF #### agent-04-dashboard: Dashboards & Reports - [ ] Mitarbeiter-Dashboard (eigene KPIs: Arbeitszeit heute, Urlaubskonto, Überstunden) - [ ] Manager-Dashboard (Teamübersicht: wer ist heute da, wer fehlt, offene Anträge) - [ ] Admin-Dashboard (Firmen-KPIs: Auslastung, Fehlzeiten, Bradford-Heatmap) - [ ] Erweiterte Exports: PDF (WeasyPrint), XLSX (openpyxl) --- ### Priorität 3 – HR-Erweiterungen #### Personalnummer Phase 2–5 - [ ] `GET /users/by-personnel/{number}` – Lookup für externe Integrationen - [ ] CSV-Import-UI mit Validierungs-Vorschau - [ ] Personalnummer in allen Exports (CSV/XLSX/PDF) - [ ] Kiosk-Login per Personalnummer + PIN #### Sondervertretungen – Erweiterungen - [ ] Jahresübersicht aller aktiven Zuweisungen - [ ] Bulk-Import via CSV (Spalten: Pers.-Nr., Von, Bis, Faktor, Ziel, Bezeichnung) - [ ] 🏅-Badge in Mitarbeiter-Tabelle (UsersPage) bei aktiver Zuweisung - [ ] Verknüpfung Payroll-Report ↔ Sondervertretungs-Seite --- ### Priorität 4 – Mobile & Kiosk #### Android App (Flutter) **Warum:** Mitarbeiter ohne PC-Zugang brauchen eine native App für Zeiterfassung unterwegs. - [ ] Flutter-App `mobile/` im Monorepo - [ ] Employee-only: Stempel In/Out/Pause, Tagesübersicht, Überstundenkonto - [ ] Offline-Modus: Hive-Queue, Auto-Sync bei Netzwerkwiederkehr - [ ] Direkt-APK (Sideloading, kein Play Store) - [ ] Konfigurierbarer Server-URL beim ersten Start --- ### Priorität 5 – Integrationen & Compliance #### LDAP-Sync (agent-09, geplant) - [ ] Automatischer User-Sync aus Active Directory / OpenLDAP - [ ] Mapping: `employeeNumber` → Personalnummer, `department` → Abteilung - [ ] Konflikt-Handling: Personalnr.-Kollision → Fehler (kein Override) #### CalDAV-Erweiterungen - [ ] Urlaubs-Events automatisch in Nextcloud-Kalender schreiben (bei Genehmigung) - [ ] Abwesenheits-Template mit Platzhalter `$personalnummer` und `$kuerzel` #### DSGVO-Hilfsmittel - [ ] Datenexport pro Mitarbeiter (Art. 20 DSGVO) - [ ] Löschfristen-Konfiguration + automatische Anonymisierung alter Einträge --- ## 💡 Ideen-Backlog (nicht priorisiert) | Idee | Notiz | |---|---| | Dienstplan-Modul | Schichtplanung mit Drag & Drop, Wochen-/Monatsansicht | | Lohnabrechnung-Export | DATEV-Format, Steuerberater-CSV mit §3b-Stunden | | Bereitschafts-Erfassung | Rufbereitschaft vs. Bereitschaftsdienst (25–95%-Quote) | | Slack/Teams-Integration | Abwesenheits-Notifications, Genehmigungs-Workflow im Chat | | Mehrsprachigkeit (i18n) | EN/FR/PL als erste Sprachen | | Multi-Mandanten-Admin | SUPER_ADMIN-Übersicht aller Firmen + Nutzung-KPIs | | Kiosk Anomalie-Detection | Frequenz-Threshold, Geo-Inkonsistenz, AuditLog-Alarm | --- ## Migrations-Übersicht | Migration | Inhalt | Status | |---|---|---| | 0001–0016 | Auth, Users, Abwesenheiten, TOTP | ✅ deployed | | 0018 | Kiosk-Geräte | ✅ deployed | | 0019 | Manual-Entry-Berechtigung | ✅ deployed | | 0020 | Personalnummer | ✅ deployed | | 0021 | Kiosk-Security (mTLS-Vorstufe) | ✅ deployed | | 0022 | Krankmeldung-Konfiguration | ✅ deployed | | 0023 | Busylight-Token | ✅ deployed | | 0024 | Row Level Security | ✅ deployed | | 0025 | Kiosk NFC-UID | ✅ deployed | | 0026 | Security-Fixes (LDAP TLS, TOTP-Länge) | ✅ deployed | | 0027 | Mobile-Stamping | ✅ deployed | | 0028 | FZA-Konfiguration (Overdraft, Warnschwelle) | ✅ deployed | | 0029 | Sondervertretungs-Faktoren | ✅ deployed | | **0030** | Kiosk-Härtung Ed25519 | 🔜 agent-08 |