eae0f6f9b4
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5.7 KiB
5.7 KiB
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
$personalnummerund$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 |