# TimeMaster – Dev Log

## 2026-03-28 21:59 – 22:02 (3m)
**Beschreibung:** Projekte-Feature entfernen, Timetrack einbauen

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-03-28 21:59 – 22:02 (3m)
**Beschreibung:** Projekte-Feature entfernen, Timetrack einbauen

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-03-28 21:59 – 22:02 (3m)
**Beschreibung:** Projekte-Feature entfernen, Timetrack einbauen

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-03-28 22:22 – 22:22 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-03-28 22:24 – 22:25 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 14:31 – 19:45 (5h 14m)
**Beschreibung:** Claude Code Session
**Projekt:** archivmail

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 19:46 – 19:47 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 19:49 – 19:49 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 19:52 – 19:52 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 19:54 – 19:56 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 19:58 – 20:00 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 20:06 – 20:06 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 20:06 – 20:08 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 20:11 – 20:11 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 20:12 – 20:12 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 20:12 – 20:12 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 20:14 – 20:14 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 20:15 – 20:15 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 20:17 – 20:17 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 20:19 – 20:22 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 20:38 – 20:38 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 20:39 – 20:39 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 20:46 – 20:50 (4m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 21:05 – 21:08 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 21:09 – 21:13 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 21:17 – 21:18 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-04-06 21:27 – 21:31 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-05 17:06 – 17:07 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-05 17:10 – 17:11 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-05 17:20 – 17:20 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-05 17:27 – 17:27 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-05 17:31 – 17:32 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-05 17:39 – 17:40 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-05 17:41 – 17:44 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-05 17:47 – 17:49 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-05 17:57 – 17:58 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-05 18:18 – 18:19 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-05 18:27 – 18:32 (5m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-05 19:50 – 19:52 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-05 19:52 – 19:53 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-05 22:43 – 10:21 (11h 37m)
**Beschreibung:** Claude Code Session
**Projekt:** frontend

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-06 17:20 – 17:34 (14m)
**Beschreibung:** Claude Code Session
**Projekt:** frontend

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-06 17:34 – 17:35 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-06 22:47 – 22:51 (4m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-06 22:54 – 22:55 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-06 23:00 – 23:00 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-06 23:00 – 23:10 (9m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-23 19:20 – 19:21 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-23 20:02 – 20:03 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** frontend

### Commits
- 1fedd68 Initial commit – TimeMaster Zeiterfassung & HR-Tool

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-23 20:08 – 20:09 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
Keine Änderungen ermittelbar.

---
## 2026-05-23 20:11 – 20:12 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 39a0e37 .gitignore und DEVLOG aktualisieren

### Geänderte Dateien
- .gitignore |  4 ++++
- DEVLOG.md  | 22 ++++++++++++++++++++++

---
## 2026-05-23 20:33 – 21:07 (34m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- fbc04bc agent-07 phase 2: fix test isolation + CSV import UI

### Geänderte Dateien
- DEVLOG.md                                   |  12 ++
- backend/app/services/user_import_service.py |   6 +-
- backend/tests/conftest.py                   |  10 +-
- backend/tests/test_personnel_number.py      |  27 ++--
- frontend/src/pages/UsersPage.tsx            | 186 +++++++++++++++++++++++++++-

---
## 2026-05-23 21:07 – 21:08 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                   |  12 ++
- backend/app/services/user_import_service.py |   6 +-
- backend/tests/conftest.py                   |  10 +-
- backend/tests/test_personnel_number.py      |  27 ++--
- frontend/src/pages/UsersPage.tsx            | 186 +++++++++++++++++++++++++++-

---
## 2026-05-23 21:08 – 21:08 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                   |  12 ++
- backend/app/services/user_import_service.py |   6 +-
- backend/tests/conftest.py                   |  10 +-
- backend/tests/test_personnel_number.py      |  27 ++--
- frontend/src/pages/UsersPage.tsx            | 186 +++++++++++++++++++++++++++-

---
## 2026-05-23 21:09 – 21:16 (7m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 8e5e76d add deployment updater scripts

### Geänderte Dateien
- scripts/check_migrations.sh |  344 +++++++++++++++
- update.sh                   | 1007 ++++++++++++++++++++-----------------------

---
## 2026-05-23 21:23 – 21:31 (8m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 3dfcff3 update.sh: switch backend sync to git pull instead of rsync

### Geänderte Dateien
- update.sh | 53 +++++++++++++++++++++++------------------------------

---
## 2026-05-23 21:47 – 21:48 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- update.sh | 53 +++++++++++++++++++++++------------------------------

---
## 2026-05-23 21:51 – 21:58 (7m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 6d4b8a9 agent-rls: PostgreSQL Row Level Security für Mandanten-Isolation

### Geänderte Dateien
- DEVLOG.md                                          |  79 ++++++++
- backend/app/core/database.py                       |   6 +
- backend/app/core/dependencies.py                   |  18 ++
- backend/migrations/env.py                          |   4 +
- .../migrations/versions/0024_row_level_security.py | 208 +++++++++++++++++++++
- backend/tests/conftest.py                          |   4 +

---
## 2026-05-23 22:00 – 22:35 (34m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- dd3e069 fix: router db.refresh() nach commit bricht RLS-Kontext

### Geänderte Dateien
- DEVLOG.md                                          |  16 ++
- backend/app/routers/absences.py                    |  10 -
- backend/app/routers/caldav.py                      |   2 -
- backend/app/routers/kiosk.py                       |   3 -
- backend/app/routers/ldap.py                        |   2 -
- backend/app/routers/projects.py                    |   2 -
- backend/app/routers/smtp.py                        |   1 -
- backend/app/routers/time_entries.py                |  10 -
- backend/migrations/env.py                          |   4 -
- .../migrations/versions/0024_row_level_security.py | 223 +++++----------------
- backend/tests/conftest.py                          |  48 +++++
- backend/tests/test_rls.py                          | 190 ++++++++++++++++++

---
## 2026-05-23 22:43 – 22:52 (9m)
**Beschreibung:** Claude Code Session
**Projekt:** frontend

### Commits
- eb12280 fix: 8 pre-existing Test-Fehler behoben

### Geänderte Dateien
- backend/app/services/absence_service.py |  3 ++-
- backend/tests/test_absences.py          | 30 +++++++++++++++++++++++++-----
- backend/tests/test_reports.py           |  2 +-
- backend/tests/test_time.py              | 25 ++++++++++++++++++++++---

---
## 2026-05-23 23:08 – 23:08 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/services/absence_service.py |  3 ++-
- backend/tests/test_absences.py          | 30 +++++++++++++++++++++++++-----
- backend/tests/test_reports.py           |  2 +-
- backend/tests/test_time.py              | 25 ++++++++++++++++++++++---

---
## 2026-05-23 23:12 – 10:21 (11h 09m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/services/absence_service.py |  3 ++-
- backend/tests/test_absences.py          | 30 +++++++++++++++++++++++++-----
- backend/tests/test_reports.py           |  2 +-
- backend/tests/test_time.py              | 25 ++++++++++++++++++++++---

---
## 2026-05-24 10:26 – 11:29 (1h 03m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- ada1b51 docs: vollständige Projektdokumentation hinzugefügt

### Geänderte Dateien
- DEVLOG.md            |   64 +++
- docs/api.md          | 1375 ++++++++++++++++++++++++++++++++++++++++++++++++++
- docs/architecture.md |  461 +++++++++++++++++
- docs/deployment.md   |  429 ++++++++++++++++
- docs/development.md  |  531 +++++++++++++++++++
- frontend/DEVLOG.md   |   22 +

---
## 2026-05-24 11:43 – 11:43 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md            |   64 +++
- docs/api.md          | 1375 ++++++++++++++++++++++++++++++++++++++++++++++++++
- docs/architecture.md |  461 +++++++++++++++++
- docs/deployment.md   |  429 ++++++++++++++++
- docs/development.md  |  531 +++++++++++++++++++
- frontend/DEVLOG.md   |   22 +

---
## 2026-05-24 11:46 – 11:47 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md            |   64 +++
- docs/api.md          | 1375 ++++++++++++++++++++++++++++++++++++++++++++++++++
- docs/architecture.md |  461 +++++++++++++++++
- docs/deployment.md   |  429 ++++++++++++++++
- docs/development.md  |  531 +++++++++++++++++++
- frontend/DEVLOG.md   |   22 +

---
## 2026-05-24 11:48 – 11:49 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md            |   64 +++
- docs/api.md          | 1375 ++++++++++++++++++++++++++++++++++++++++++++++++++
- docs/architecture.md |  461 +++++++++++++++++
- docs/deployment.md   |  429 ++++++++++++++++
- docs/development.md  |  531 +++++++++++++++++++
- frontend/DEVLOG.md   |   22 +

---
## 2026-05-24 11:51 – 11:51 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md            |   64 +++
- docs/api.md          | 1375 ++++++++++++++++++++++++++++++++++++++++++++++++++
- docs/architecture.md |  461 +++++++++++++++++
- docs/deployment.md   |  429 ++++++++++++++++
- docs/development.md  |  531 +++++++++++++++++++
- frontend/DEVLOG.md   |   22 +

---
## 2026-05-24 11:54 – 11:55 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md            |   64 +++
- docs/api.md          | 1375 ++++++++++++++++++++++++++++++++++++++++++++++++++
- docs/architecture.md |  461 +++++++++++++++++
- docs/deployment.md   |  429 ++++++++++++++++
- docs/development.md  |  531 +++++++++++++++++++
- frontend/DEVLOG.md   |   22 +

---
## 2026-05-24 11:55 – 11:56 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md            |   64 +++
- docs/api.md          | 1375 ++++++++++++++++++++++++++++++++++++++++++++++++++
- docs/architecture.md |  461 +++++++++++++++++
- docs/deployment.md   |  429 ++++++++++++++++
- docs/development.md  |  531 +++++++++++++++++++
- frontend/DEVLOG.md   |   22 +

---
## 2026-05-24 11:57 – 11:57 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md            |   64 +++
- docs/api.md          | 1375 ++++++++++++++++++++++++++++++++++++++++++++++++++
- docs/architecture.md |  461 +++++++++++++++++
- docs/deployment.md   |  429 ++++++++++++++++
- docs/development.md  |  531 +++++++++++++++++++
- frontend/DEVLOG.md   |   22 +

---
## 2026-05-24 12:03 – 12:03 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                               | 128 +++++++
- backend/app/routers/absence.py          | 159 +++++++++
- backend/app/routers/absence_service.py  | 615 ++++++++++++++++++++++++++++++++
- backend/requirements.txt                |   1 +
- backend/tests/test_reports.py           |  44 +++
- frontend/src/pages/TimeTrackingPage.tsx | 521 +++++++++++++++++++--------

---
## 2026-05-24 12:04 – 12:08 (4m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 981bde3 feat(kiosk): Migration 0021 – Ed25519-Auth, Status-Enum, Heartbeat, IP-Whitelist

### Geänderte Dateien
- backend/app/models/company.py                      |   5 +
- backend/app/models/kiosk_device.py                 |  47 ++++++-
- backend/migrations/versions/0021_kiosk_security.py | 143 +++++++++++++++++++++
- .../migrations/versions/0022_sick_note_config.py   |   2 +-

---
## 2026-05-24 12:09 – 12:11 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/models/company.py                      |   5 +
- backend/app/models/kiosk_device.py                 |  47 ++++++-
- backend/migrations/versions/0021_kiosk_security.py | 143 +++++++++++++++++++++
- .../migrations/versions/0022_sick_note_config.py   |   2 +-

---
## 2026-05-24 12:13 – 12:13 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/models/company.py                      |   5 +
- backend/app/models/kiosk_device.py                 |  47 ++++++-
- backend/migrations/versions/0021_kiosk_security.py | 143 +++++++++++++++++++++
- .../migrations/versions/0022_sick_note_config.py   |   2 +-

---
## 2026-05-24 12:17 – 12:19 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                               |  58 ++++
- backend/app/core/kiosk_security.py      | 233 ++++++++++++++
- backend/app/routers/kiosk.py            | 119 +++++--
- backend/app/schemas/kiosk.py            |  70 ++++-
- backend/app/services/kiosk_service.py   | 138 ++++++---
- backend/cli.py                          | 529 ++++++++++++++++++++++++++++++++
- backend/requirements.txt                |   2 +
- frontend/DEVLOG.md                      |  16 +
- frontend/src/components/Layout.tsx      |  71 ++++-
- frontend/src/pages/KioskDevicesPage.tsx | 412 +++++++++++++++++--------

---
## 2026-05-24 12:37 – 12:47 (10m)
**Beschreibung:** Claude Code Session
**Projekt:** frontend

### Commits
- 094863f feat: agent-02-kiosk Phase 1 - NFC UID migration + session service
- 1db7164 fix(security): SSRF-Schutz für CalDAV-URLs

### Geänderte Dateien
- backend/app/core/redis.py                         |  28 ++++++
- backend/app/models/user.py                        |   3 +
- backend/app/services/kiosk_session_service.py     | 114 ++++++++++++++++++++++
- backend/migrations/versions/0025_kiosk_nfc_uid.py |  36 +++++++
- frontend/DEVLOG.md                                |  51 ++++++++++

---
## 2026-05-24 12:48 – 12:49 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 30828c6 feat: agent-02-kiosk Phase 2A - Auth endpoints (PIN/NFC/QR/List)

### Geänderte Dateien
- DEVLOG.md                                  |  16 +++
- backend/app/routers/kiosk.py               | 130 ++++++++++++++++++-
- backend/app/schemas/kiosk_auth.py          |  38 ++++++
- backend/app/services/kiosk_auth_service.py | 195 +++++++++++++++++++++++++++++

---
## 2026-05-24 12:52 – 12:53 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 7e19311 feat: CALDAV_ALLOWED_CIDRS Whitelist für interne CalDAV/Nextcloud-Server

### Geänderte Dateien
- DEVLOG.md                              | 14 ++++++++++++++
- backend/app/core/config.py             |  6 ++++++
- backend/app/services/caldav_service.py | 29 +++++++++++++++++++++++++++--

---
## 2026-05-24 12:55 – 12:56 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                              | 14 ++++++++++++++
- backend/app/core/config.py             |  6 ++++++
- backend/app/services/caldav_service.py | 29 +++++++++++++++++++++++++++--

---
## 2026-05-24 12:57 – 12:58 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                              | 14 ++++++++++++++
- backend/app/core/config.py             |  6 ++++++
- backend/app/services/caldav_service.py | 29 +++++++++++++++++++++++++++--

---
## 2026-05-24 13:01 – 13:01 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                              | 14 ++++++++++++++
- backend/app/core/config.py             |  6 ++++++
- backend/app/services/caldav_service.py | 29 +++++++++++++++++++++++++++--

---
## 2026-05-24 13:03 – 13:04 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- a639de1 docs: CalDAV-Konfiguration und CALDAV_ALLOWED_CIDRS in deployment.md

### Geänderte Dateien
- docs/deployment.md | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-05-24 13:15 – 19:45 (6h 29m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 62c4e74 security: 9 Findings aus Security-Audit behoben (CRITICAL + HIGH + MEDIUM)

### Geänderte Dateien
- DEVLOG.md                                          | 63 ++++++++++++++++++++
- backend/app/core/crypto.py                         | 42 +++++++++++++
- backend/app/core/kiosk_security.py                 | 37 ++++++++----
- backend/app/main.py                                | 18 ++++--
- backend/app/models/ldap_config.py                  |  2 +-
- backend/app/models/user.py                         |  2 +-
- backend/app/routers/auth.py                        | 51 +++++++++++++---
- backend/app/routers/import_kimai.py                | 17 +++++-
- backend/app/routers/users.py                       | 20 ++++++-
- backend/app/services/auth_service.py               | 13 ++++-
- backend/app/services/caldav_service.py             | 17 ++++++
- backend/migrations/versions/0026_security_fixes.py | 68 ++++++++++++++++++++++

---
## 2026-05-24 19:53 – 20:58 (1h 05m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                          | 63 ++++++++++++++++++++
- backend/app/core/crypto.py                         | 42 +++++++++++++
- backend/app/core/kiosk_security.py                 | 37 ++++++++----
- backend/app/main.py                                | 18 ++++--
- backend/app/models/ldap_config.py                  |  2 +-
- backend/app/models/user.py                         |  2 +-
- backend/app/routers/auth.py                        | 51 +++++++++++++---
- backend/app/routers/import_kimai.py                | 17 +++++-
- backend/app/routers/users.py                       | 20 ++++++-
- backend/app/services/auth_service.py               | 13 ++++-
- backend/app/services/caldav_service.py             | 17 ++++++
- backend/migrations/versions/0026_security_fixes.py | 68 ++++++++++++++++++++++

---
## 2026-05-24 21:00 – 21:05 (5m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                          | 63 ++++++++++++++++++++
- backend/app/core/crypto.py                         | 42 +++++++++++++
- backend/app/core/kiosk_security.py                 | 37 ++++++++----
- backend/app/main.py                                | 18 ++++--
- backend/app/models/ldap_config.py                  |  2 +-
- backend/app/models/user.py                         |  2 +-
- backend/app/routers/auth.py                        | 51 +++++++++++++---
- backend/app/routers/import_kimai.py                | 17 +++++-
- backend/app/routers/users.py                       | 20 ++++++-
- backend/app/services/auth_service.py               | 13 ++++-
- backend/app/services/caldav_service.py             | 17 ++++++
- backend/migrations/versions/0026_security_fixes.py | 68 ++++++++++++++++++++++

---
## 2026-05-24 21:09 – 21:12 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 8a04525 fix: auto-refresh access token on 401 in API client

### Geänderte Dateien
- frontend/src/api/client.ts | 56 ++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-05-24 21:15 – 21:17 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- edb1568 feat: mobile Login-Seite /mobile/login

### Geänderte Dateien
- DEVLOG.md                                         |  77 ++++++
- frontend/src/App.tsx                              |   4 +
- frontend/src/pages/mobile/MobileBottomNav.tsx     |  69 +++++
- frontend/src/pages/mobile/MobileLoginPage.tsx     | 195 ++++++++++++++
- frontend/src/pages/mobile/MobilePage.tsx          |  75 ++++++
- frontend/src/pages/mobile/MobileProfileScreen.tsx | 124 +++++++++
- frontend/src/pages/mobile/MobileStampScreen.tsx   | 310 ++++++++++++++++++++++
- frontend/src/pages/mobile/MobileTodayScreen.tsx   | 146 ++++++++++

---
## 2026-05-24 23:21 – 23:22 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 4a1dec7 fix: mobile/tablet Geräteerkennung in LoginPage → Redirect zu /mobile/login

### Geänderte Dateien
- frontend/src/pages/LoginPage.tsx | 11 +++++++++--

---
## 2026-05-24 23:23 – 23:23 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- frontend/src/pages/LoginPage.tsx | 11 +++++++++--

---
## 2026-05-24 23:28 – 23:31 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 22be68e feat: Abwesenheiten-Screen in Mobile-App

### Geänderte Dateien
- DEVLOG.md                                          |  40 +++
- frontend/src/pages/mobile/MobileAbsencesScreen.tsx | 370 +++++++++++++++++++++
- frontend/src/pages/mobile/MobileBottomNav.tsx      |  16 +-
- frontend/src/pages/mobile/MobilePage.tsx           |  17 +-

---
## 2026-05-24 23:33 – 23:33 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                          |  40 +++
- frontend/src/pages/mobile/MobileAbsencesScreen.tsx | 370 +++++++++++++++++++++
- frontend/src/pages/mobile/MobileBottomNav.tsx      |  16 +-
- frontend/src/pages/mobile/MobilePage.tsx           |  17 +-

---
## 2026-05-24 23:50 – 23:54 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 0ba16bb fix: ternäre Button-Kette in MobileStampScreen korrigiert
- c8804ef feat: Admin-Toggle für mobile Zeiterfassung

### Geänderte Dateien
- frontend/src/pages/mobile/MobileStampScreen.tsx | 2 --

---
## 2026-05-24 23:55 – 23:55 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- frontend/src/pages/mobile/MobileStampScreen.tsx | 2 --

---
## 2026-05-24 23:58 – 00:19 (20m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- f70736f test: test_cancel_absence an neue 200-Response angepasst (vorher 204)
- fd382e3 test: FZA tests korrigiert (can_manual_time_entry, TimeEntryWithWarnings, CalDAV race fix)
- 3450029 feat: Freizeitausgleich-Lücken geschlossen (Gap 1-3) + konfigurierbare Schwellwerte

### Geänderte Dateien
- backend/tests/test_absences.py | 3 ++-

---
## 2026-05-25 00:21 – 00:22 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 1170e59 fix: AuditLog bei FZA-Stornierung mit korrektem old_status und fza_hours_refunded-Flag

### Geänderte Dateien
- backend/app/services/absence_service.py | 5 ++++-

---
## 2026-05-25 00:26 – 00:29 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/services/absence_service.py | 5 ++++-

---
## 2026-05-25 00:33 – 00:39 (6m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/services/absence_service.py | 5 ++++-

---
## 2026-05-25 00:42 – 00:43 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/services/absence_service.py | 5 ++++-

---
## 2026-05-25 00:45 – 01:00 (14m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 0dd736c fix: require_role in special_assignments router ohne extra Depends() wrapping
- 767ff9f fix: migration 0029 enum DO-Block statt CREATE TYPE IF NOT EXISTS
- 82ce592 fix: migration 0029 idempotent (IF NOT EXISTS für Enum + Tabelle)
- d60349d feat: Sondervertretungs-Faktoren (special_assignments)

### Geänderte Dateien
- backend/app/routers/special_assignments.py | 10 +++++-----

---
## 2026-05-25 01:06 – 01:13 (7m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 5049747 feat: Sondervertretungen als eigene HR-Seite (/hr/special-assignments)

### Geänderte Dateien
- DEVLOG.md                                     |  14 +
- frontend/src/App.tsx                          |   2 +
- frontend/src/components/Layout.tsx            |   5 +-
- frontend/src/pages/SpecialAssignmentsPage.tsx | 480 ++++++++++++++++++++++++++
- frontend/src/pages/UsersPage.tsx              | 106 ------

---
## 2026-05-25 01:15 – 01:15 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                     |  14 +
- frontend/src/App.tsx                          |   2 +
- frontend/src/components/Layout.tsx            |   5 +-
- frontend/src/pages/SpecialAssignmentsPage.tsx | 480 ++++++++++++++++++++++++++
- frontend/src/pages/UsersPage.tsx              | 106 ------

---
## 2026-05-25 01:17 – 01:17 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                     |  14 +
- frontend/src/App.tsx                          |   2 +
- frontend/src/components/Layout.tsx            |   5 +-
- frontend/src/pages/SpecialAssignmentsPage.tsx | 480 ++++++++++++++++++++++++++
- frontend/src/pages/UsersPage.tsx              | 106 ------

---
## 2026-05-25 01:18 – 01:22 (4m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- eae0f6f docs: ROADMAP.md angelegt – alle Features in Planung

### Geänderte Dateien
- ROADMAP.md | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-05-25 01:28 – 01:36 (8m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- ROADMAP.md | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-05-25 01:37 – 01:40 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- ROADMAP.md | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-05-25 01:41 – 01:42 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- e83a3fb fix: agent-08 Kiosk-Härtung + 24h-Zeiteintrag-Bug

### Geänderte Dateien
- DEVLOG.md                                  | 78 ++++++++++++++++++++++++++
- backend/app/models/kiosk_device.py         |  2 +-
- backend/app/models/time_entry.py           | 17 ++++--
- backend/app/schemas/company.py             |  6 ++
- backend/app/services/time_service.py       | 10 ++--
- backend/cli.py                             | 78 ++++++++++++++++++++++++++
- frontend/src/pages/CompanySettingsPage.tsx | 88 +++++++++++++++++++++++++++++-

---
## 2026-05-25 01:42 – 01:43 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                  | 78 ++++++++++++++++++++++++++
- backend/app/models/kiosk_device.py         |  2 +-
- backend/app/models/time_entry.py           | 17 ++++--
- backend/app/schemas/company.py             |  6 ++
- backend/app/services/time_service.py       | 10 ++--
- backend/cli.py                             | 78 ++++++++++++++++++++++++++
- frontend/src/pages/CompanySettingsPage.tsx | 88 +++++++++++++++++++++++++++++-

---
## 2026-05-25 19:47 – 19:47 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                  | 78 ++++++++++++++++++++++++++
- backend/app/models/kiosk_device.py         |  2 +-
- backend/app/models/time_entry.py           | 17 ++++--
- backend/app/schemas/company.py             |  6 ++
- backend/app/services/time_service.py       | 10 ++--
- backend/cli.py                             | 78 ++++++++++++++++++++++++++
- frontend/src/pages/CompanySettingsPage.tsx | 88 +++++++++++++++++++++++++++++-

---
## 2026-05-25 19:48 – 19:49 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                  | 78 ++++++++++++++++++++++++++
- backend/app/models/kiosk_device.py         |  2 +-
- backend/app/models/time_entry.py           | 17 ++++--
- backend/app/schemas/company.py             |  6 ++
- backend/app/services/time_service.py       | 10 ++--
- backend/cli.py                             | 78 ++++++++++++++++++++++++++
- frontend/src/pages/CompanySettingsPage.tsx | 88 +++++++++++++++++++++++++++++-

---
## 2026-05-25 22:10 – 22:14 (4m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                  | 78 ++++++++++++++++++++++++++
- backend/app/models/kiosk_device.py         |  2 +-
- backend/app/models/time_entry.py           | 17 ++++--
- backend/app/schemas/company.py             |  6 ++
- backend/app/services/time_service.py       | 10 ++--
- backend/cli.py                             | 78 ++++++++++++++++++++++++++
- frontend/src/pages/CompanySettingsPage.tsx | 88 +++++++++++++++++++++++++++++-

---
## 2026-05-25 22:15 – 22:16 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                  | 78 ++++++++++++++++++++++++++
- backend/app/models/kiosk_device.py         |  2 +-
- backend/app/models/time_entry.py           | 17 ++++--
- backend/app/schemas/company.py             |  6 ++
- backend/app/services/time_service.py       | 10 ++--
- backend/cli.py                             | 78 ++++++++++++++++++++++++++
- frontend/src/pages/CompanySettingsPage.tsx | 88 +++++++++++++++++++++++++++++-

---
## 2026-05-25 22:16 – 22:16 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                  | 78 ++++++++++++++++++++++++++
- backend/app/models/kiosk_device.py         |  2 +-
- backend/app/models/time_entry.py           | 17 ++++--
- backend/app/schemas/company.py             |  6 ++
- backend/app/services/time_service.py       | 10 ++--
- backend/cli.py                             | 78 ++++++++++++++++++++++++++
- frontend/src/pages/CompanySettingsPage.tsx | 88 +++++++++++++++++++++++++++++-

---
## 2026-05-25 22:16 – 22:16 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                  | 78 ++++++++++++++++++++++++++
- backend/app/models/kiosk_device.py         |  2 +-
- backend/app/models/time_entry.py           | 17 ++++--
- backend/app/schemas/company.py             |  6 ++
- backend/app/services/time_service.py       | 10 ++--
- backend/cli.py                             | 78 ++++++++++++++++++++++++++
- frontend/src/pages/CompanySettingsPage.tsx | 88 +++++++++++++++++++++++++++++-

---
## 2026-05-25 22:17 – 22:18 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- a63b0e8 feat: Stunden-Auszahlung Feature (/hr/payouts)

### Geänderte Dateien
- DEVLOG.md                                         | 136 ++++++
- backend/app/main.py                               |   2 +
- backend/app/models/__init__.py                    |   2 +
- backend/app/models/hours_payout.py                |  45 ++
- backend/app/routers/hours_payouts.py              | 189 +++++++++
- backend/app/schemas/hours_payout.py               |  33 ++
- backend/migrations/versions/0030_hours_payouts.py |  36 ++
- frontend/src/App.tsx                              |   2 +
- frontend/src/components/Layout.tsx                |   1 +
- frontend/src/pages/HoursPayoutPage.tsx            | 484 ++++++++++++++++++++++
- frontend/src/types/hoursPayout.ts                 |  26 ++

---
## 2026-05-25 22:21 – 22:22 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 549783a feat: Stunden-Auszahlungen in /mobile Profil-Screen

### Geänderte Dateien
- DEVLOG.md                                         | 21 ++++++
- frontend/src/pages/mobile/MobileProfileScreen.tsx | 87 ++++++++++++++++++++++-

---
## 2026-05-25 22:25 – 22:29 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 23b4588 fix: Überstunden tages-weise berechnen statt Gesamtzeitraum

### Geänderte Dateien
- backend/app/services/report_service.py | 19 ++++++++++++++++---

---
## 2026-05-25 22:32 – 22:33 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/services/report_service.py | 19 ++++++++++++++++---

---
## 2026-05-25 22:37 – 22:39 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/services/report_service.py | 19 ++++++++++++++++---

---
## 2026-05-25 22:39 – 22:40 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/services/report_service.py | 19 ++++++++++++++++---

---
## 2026-05-25 22:44 – 22:47 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/services/report_service.py | 19 ++++++++++++++++---

---
## 2026-05-25 22:48 – 22:51 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 23ba7f1 feat: Überstunden-Kappung + Jahresverfall pro Firma konfigurierbar

### Geänderte Dateien
- DEVLOG.md                                          |  67 +++++++++
- backend/app/models/company.py                      |   7 +
- backend/app/models/overtime_balance.py             |   1 +
- backend/app/routers/absences.py                    |  32 ++++
- backend/app/schemas/company.py                     |  10 ++
- backend/app/services/report_service.py             |  54 +++++++
- .../versions/0031_overtime_cap_expiry.py           |  33 +++++
- frontend/src/pages/CompanySettingsPage.tsx         | 161 ++++++++++++++++++++-

---
## 2026-05-26 10:39 – 10:39 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                       |  18 ++
- frontend/src/pages/mobile/MobileTodayScreen.tsx | 225 ++++++++++++++++++------

---
## 2026-05-26 10:40 – 10:41 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- c8578f6 chore: CLAUDE.md aus Git-Tracking entfernen

### Geänderte Dateien
- .gitignore |   1 +
- CLAUDE.md  | 347 -------------------------------------------------------------

---
## 2026-05-26 10:41 – 10:42 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- c9cb6d7 chore: .claude/ aus Git-Tracking entfernen

### Geänderte Dateien
- .claude/agents/code-optimizer.md   | 90 ------------------------------------
- .claude/agents/frontend.md         | 94 --------------------------------------
- .claude/agents/security-auditor.md | 92 -------------------------------------
- .gitignore                         |  1 +

---
## 2026-05-26 10:42 – 10:43 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- .claude/agents/code-optimizer.md   | 90 ------------------------------------
- .claude/agents/frontend.md         | 94 --------------------------------------
- .claude/agents/security-auditor.md | 92 -------------------------------------
- .gitignore                         |  1 +

---
## 2026-05-26 10:51 – 10:54 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- .claude/agents/code-optimizer.md   | 90 ------------------------------------
- .claude/agents/frontend.md         | 94 --------------------------------------
- .claude/agents/security-auditor.md | 92 -------------------------------------
- .gitignore                         |  1 +

---
## 2026-05-26 10:56 – 11:07 (11m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- .claude/agents/code-optimizer.md   | 90 ------------------------------------
- .claude/agents/frontend.md         | 94 --------------------------------------
- .claude/agents/security-auditor.md | 92 -------------------------------------
- .gitignore                         |  1 +

---
## 2026-05-26 11:11 – 11:13 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 06bb1c1 feat: FZA Einzelstunden + Security-Fixes (K-1–K-5, H-2–H-4, M-1/M-3/M-6)

### Geänderte Dateien
- DEVLOG.md                                          |  80 ++++++++++++
- backend/app/core/config.py                         |   8 +-
- backend/app/core/crypto.py                         |  34 ++++-
- backend/app/core/kiosk_security.py                 |  20 ++-
- backend/app/main.py                                |  13 +-
- backend/app/models/absence.py                      |   4 +
- backend/app/routers/absences.py                    |  30 ++++-
- backend/app/routers/auth.py                        |  12 +-
- backend/app/schemas/absence.py                     |  12 +-
- backend/app/services/absence_service.py            |  31 +++--
- backend/app/services/auth_service.py               | 115 ++++++++++++++---
- backend/app/services/kiosk_auth_service.py         |  94 +++++++++++---
- backend/app/services/user_service.py               |  42 +++++++
- backend/migrations/versions/0032_fza_hours.py      |  21 ++++
- frontend/DEVLOG.md                                 |  60 +++++++++
- frontend/src/components/absences/AbsenceModals.tsx | 137 +++++++++++++++------
- frontend/src/hooks/useAbsences.ts                  |   2 +
- frontend/src/pages/AbsencesPage.tsx                |  29 ++++-
- nginx.conf                                         |  62 ++++++++--

---
## 2026-05-26 11:15 – 11:15 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- f723c76 docs: DEVLOG aktualisiert

### Geänderte Dateien
- DEVLOG.md | 29 +++++++++++++++++++++++++++++

---
## 2026-05-26 11:16 – 11:16 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md | 29 +++++++++++++++++++++++++++++

---
## 2026-05-26 11:17 – 11:25 (7m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 654258f security: M-2 HttpOnly-Cookie + M-4 TrustedHost-Warning + M-5 TOTP-Lockout + M-7 zentraler get_client_ip()

### Geänderte Dateien
- DEVLOG.md                            |  22 +++++++
- backend/app/core/dependencies.py     |  18 +++++-
- backend/app/main.py                  |   8 +++
- backend/app/routers/absences.py      |   4 +-
- backend/app/routers/auth.py          | 116 +++++++++++++++++++++++++++++++----
- backend/app/routers/busylight.py     |   6 +-
- backend/app/routers/hours_payouts.py |   6 +-
- backend/app/schemas/auth.py          |   4 +-
- backend/app/services/auth_service.py |   7 ++-
- frontend/src/api/client.ts           |  17 +++--
- frontend/src/context/AuthContext.tsx |  14 +++--

---
## 2026-05-26 11:26 – 11:27 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                            |  22 +++++++
- backend/app/core/dependencies.py     |  18 +++++-
- backend/app/main.py                  |   8 +++
- backend/app/routers/absences.py      |   4 +-
- backend/app/routers/auth.py          | 116 +++++++++++++++++++++++++++++++----
- backend/app/routers/busylight.py     |   6 +-
- backend/app/routers/hours_payouts.py |   6 +-
- backend/app/schemas/auth.py          |   4 +-
- backend/app/services/auth_service.py |   7 ++-
- frontend/src/api/client.ts           |  17 +++--
- frontend/src/context/AuthContext.tsx |  14 +++--

---
## 2026-05-26 11:30 – 11:35 (5m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 4dc6913 security: H-1 settings-Whitelist + H-5 UUID-Guard + H-6 DNS-Pinning + H-7 Heartbeat-Timing

### Geänderte Dateien
- DEVLOG.md                              | 42 ++++++++++++++++++
- backend/app/core/dependencies.py       | 12 ++++--
- backend/app/core/kiosk_security.py     | 11 +++--
- backend/app/routers/companies.py       |  8 +++-
- backend/app/schemas/company.py         | 17 +++++++-
- backend/app/services/caldav_service.py | 78 +++++++++++++++++++++++++++++-----
- backend/app/services/kiosk_service.py  |  8 +++-

---
## 2026-05-26 11:36 – 11:36 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                              | 42 ++++++++++++++++++
- backend/app/core/dependencies.py       | 12 ++++--
- backend/app/core/kiosk_security.py     | 11 +++--
- backend/app/routers/companies.py       |  8 +++-
- backend/app/schemas/company.py         | 17 +++++++-
- backend/app/services/caldav_service.py | 78 +++++++++++++++++++++++++++++-----
- backend/app/services/kiosk_service.py  |  8 +++-

---
## 2026-05-26 12:39 – 12:55 (15m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- f2e9974 security: N-1 uvicorn proxy-headers + N-2 Token-Reuse-Detection + N-3 XSS-Audit + N-4 Token-URL-Fragment + N-5 pip-audit CI

### Geänderte Dateien
- .gitea/workflows/security.yml            | 56 ++++++++++++++++++++++++++
- DEVLOG.md                                | 34 ++++++++++++++++
- backend/app/services/auth_service.py     | 69 +++++++++++++++++++++++++++-----
- backend/app/services/email_service.py    |  4 +-
- frontend/src/pages/ResetPasswordPage.tsx |  6 +--
- timemaster.service                       | 29 +++-----------

---
## 2026-05-26 12:56 – 13:18 (22m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 03d5fd6 fix: Redis-Lockout-Keys in Test-Setup bereinigen
- a870ac6 fix: Refresh-Endpoint bevorzugt Body-Token über Cookie (Token-Rotation Test)

### Geänderte Dateien
- backend/tests/conftest.py | 11 +++++++++++

---
## 2026-05-26 13:19 – 13:19 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/tests/conftest.py | 11 +++++++++++

---
## 2026-05-26 13:23 – 13:35 (12m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/tests/conftest.py | 11 +++++++++++

---
## 2026-05-26 13:36 – 13:36 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/tests/conftest.py | 11 +++++++++++

---
## 2026-05-26 13:37 – 13:42 (5m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/tests/conftest.py | 11 +++++++++++

---
## 2026-05-29 17:20 – 17:21 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/tests/conftest.py | 11 +++++++++++

---
## 2026-05-29 17:22 – 17:27 (4m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/tests/conftest.py | 11 +++++++++++

---
## 2026-05-29 17:46 – 17:47 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/tests/conftest.py | 11 +++++++++++

---
## 2026-06-02 15:30 – 15:51 (20m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/tests/conftest.py | 11 +++++++++++

---
## 2026-06-02 15:56 – 15:56 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/tests/conftest.py | 11 +++++++++++

---
## 2026-06-02 15:57 – 15:59 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- cead46c feat: Statischer firmenweiter QR-Code für mobiles Ein-/Ausstempeln

### Geänderte Dateien
- backend/app/main.py                                    |   2 +
- backend/app/models/company.py                          |   7 +++
- backend/app/routers/companies.py                       |  80 ++++++++++++++++++++++++++++++-
- backend/app/routers/public_stamp.py                    | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/schemas/company.py                         |  17 +++++++
- backend/app/schemas/public_stamp.py                    |  47 +++++++++++++++++++
- backend/app/services/kiosk_auth_service.py             |  52 +++++++++++++++++++++
- backend/app/services/public_stamp_session_service.py   |  77 ++++++++++++++++++++++++++++++
- backend/migrations/versions/0033_public_stamp_token.py |  38 +++++++++++++++
- backend/tests/test_public_stamp.py                     | 168 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/App.tsx                                   |   2 +
- frontend/src/pages/CompanySettingsPage.tsx             | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/ProfilePage.tsx                     |  55 ++++++++++++++++++++++
- frontend/src/pages/PublicStampPage.tsx                 | 265 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-06-02 18:27 – 20:06 (1h 38m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 548aebe fix: QR-Stempel-Status korrekt – Status vor mid-request commit ermitteln
- 3423b65 docs: DEVLOG für QR-Stempel-Feature

### Geänderte Dateien
- backend/app/routers/public_stamp.py | 11 +++++++++--

---
## 2026-06-02 22:06 – 22:11 (4m)
**Beschreibung:** Claude Code Session
**Projekt:** frontend

### Commits
- de35eaa feat: QR-Stempeln als eigener Menüpunkt + Tablet-Link

### Geänderte Dateien
- DEVLOG.md                                  |  12 ++++++
- frontend/DEVLOG.md                         |  22 +++++++++++
- frontend/src/App.tsx                       |   2 +
- frontend/src/components/Layout.tsx         |   1 +
- frontend/src/pages/CompanySettingsPage.tsx | 167 +-----------------------------------------------------------------------------
- frontend/src/pages/QrStampSettingsPage.tsx | 247 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-06-02 22:12 – 22:14 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                  |  12 ++++++
- frontend/DEVLOG.md                         |  22 +++++++++++
- frontend/src/App.tsx                       |   2 +
- frontend/src/components/Layout.tsx         |   1 +
- frontend/src/pages/CompanySettingsPage.tsx | 167 +-----------------------------------------------------------------------------
- frontend/src/pages/QrStampSettingsPage.tsx | 247 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-06-23 00:29 – 00:30 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                  |  12 +++++++
- frontend/DEVLOG.md                         |  22 ++++++++++++
- frontend/src/App.tsx                       |   2 ++
- frontend/src/components/Layout.tsx         |   1 +
- frontend/src/pages/CompanySettingsPage.tsx | 167 +------------------------------------------------------------------------------------------
- frontend/src/pages/QrStampSettingsPage.tsx | 247 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-06-23 00:50 – 01:22 (32m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 898a81f feat: Reseller-Rolle + SUPER_ADMIN-Mandantenübersicht

### Geänderte Dateien
- DEVLOG.md                                    |  48 +++++++++++++++++++++++
- backend/app/core/dependencies.py             |  10 ++++-
- backend/app/main.py                          |   3 ++
- backend/app/models/company.py                |  18 ++++++++-
- backend/app/models/user.py                   |   5 ++-
- backend/app/routers/reseller.py              |  83 ++++++++++++++++++++++++++++++++++++++++
- backend/app/routers/tenants.py               | 201 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/schemas/reseller.py              |  69 ++++++++++++++++++++++++++++++++++
- backend/app/services/auth_service.py         |   7 ++++
- backend/app/services/tenant_service.py       | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/migrations/versions/0034_reseller.py |  70 ++++++++++++++++++++++++++++++++++
- backend/tests/conftest.py                    |  14 +++++--
- backend/tests/test_reseller.py               | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/App.tsx                         |   4 ++
- frontend/src/components/Layout.tsx           |   1 +
- frontend/src/context/AuthContext.tsx         |   8 +++-
- frontend/src/pages/ResellerCompaniesPage.tsx | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/TenantsPage.tsx           | 255 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-06-23 01:26 – 01:29 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                    | 28 ++++++++++++++++++++++++++++
- backend/app/routers/reseller.py              |  8 +++++---
- backend/app/routers/tenants.py               | 54 ++++++++++++++++++++++++++++++++++++------------------
- backend/app/schemas/auth.py                  |  5 ++++-
- backend/app/schemas/reseller.py              | 13 ++++++++++---
- backend/app/services/tenant_service.py       | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++------------------
- backend/tests/test_reseller.py               | 20 ++++++++++++++++++++
- frontend/src/pages/ResellerCompaniesPage.tsx | 45 +++++++++++++++++++++++++++++++++++++++++----
- frontend/src/pages/TenantsPage.tsx           | 30 +++++++++++++++++++++---------

---
## 2026-06-23 01:36 – 01:38 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                    | 28 ++++++++++++++++++++++++++++
- backend/app/routers/reseller.py              |  8 +++++---
- backend/app/routers/tenants.py               | 54 ++++++++++++++++++++++++++++++++++++------------------
- backend/app/schemas/auth.py                  |  5 ++++-
- backend/app/schemas/reseller.py              | 13 ++++++++++---
- backend/app/services/tenant_service.py       | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++------------------
- backend/tests/test_reseller.py               | 20 ++++++++++++++++++++
- frontend/src/pages/ResellerCompaniesPage.tsx | 45 +++++++++++++++++++++++++++++++++++++++++----
- frontend/src/pages/TenantsPage.tsx           | 30 +++++++++++++++++++++---------

---
## 2026-06-23 01:38 – 01:39 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                    | 28 ++++++++++++++++++++++++++++
- backend/app/routers/reseller.py              |  8 +++++---
- backend/app/routers/tenants.py               | 54 ++++++++++++++++++++++++++++++++++++------------------
- backend/app/schemas/auth.py                  |  5 ++++-
- backend/app/schemas/reseller.py              | 13 ++++++++++---
- backend/app/services/tenant_service.py       | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++------------------
- backend/tests/test_reseller.py               | 20 ++++++++++++++++++++
- frontend/src/pages/ResellerCompaniesPage.tsx | 45 +++++++++++++++++++++++++++++++++++++++++----
- frontend/src/pages/TenantsPage.tsx           | 30 +++++++++++++++++++++---------

---
## 2026-06-23 01:40 – 01:40 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                    | 28 ++++++++++++++++++++++++++++
- backend/app/routers/reseller.py              |  8 +++++---
- backend/app/routers/tenants.py               | 54 ++++++++++++++++++++++++++++++++++++------------------
- backend/app/schemas/auth.py                  |  5 ++++-
- backend/app/schemas/reseller.py              | 13 ++++++++++---
- backend/app/services/tenant_service.py       | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++------------------
- backend/tests/test_reseller.py               | 20 ++++++++++++++++++++
- frontend/src/pages/ResellerCompaniesPage.tsx | 45 +++++++++++++++++++++++++++++++++++++++++----
- frontend/src/pages/TenantsPage.tsx           | 30 +++++++++++++++++++++---------

---
## 2026-06-23 01:41 – 01:41 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                    | 28 ++++++++++++++++++++++++++++
- backend/app/routers/reseller.py              |  8 +++++---
- backend/app/routers/tenants.py               | 54 ++++++++++++++++++++++++++++++++++++------------------
- backend/app/schemas/auth.py                  |  5 ++++-
- backend/app/schemas/reseller.py              | 13 ++++++++++---
- backend/app/services/tenant_service.py       | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++------------------
- backend/tests/test_reseller.py               | 20 ++++++++++++++++++++
- frontend/src/pages/ResellerCompaniesPage.tsx | 45 +++++++++++++++++++++++++++++++++++++++++----
- frontend/src/pages/TenantsPage.tsx           | 30 +++++++++++++++++++++---------

---
## 2026-06-23 – agent-10: Reseller-Rolle + Mandantenübersicht (Multimandanten)

**Ziel:** Mandantenfähigkeit ausbauen – SUPER_ADMIN-Mandantenübersicht + neue
RESELLER-Rolle, die selbst angelegte Firmen verwaltet (nur Firmen-Ebene, DSGVO).

### Commits
- 898a81f feat: Reseller-Rolle + SUPER_ADMIN-Mandantenübersicht
- 98cb2f8 feat: Mandant/Reseller ohne E-Mail anlegbar (Temp-Passwort statt Einladung)

### Entscheidungen (mit User abgestimmt)
- Reseller = **nur Firmen-Verwaltung** (kein Zugriff auf personenbezogene Zeit-/
  Abwesenheitsdaten) → DSGVO-sauber
- **Eigene Reseller-Oberfläche** (`/reseller`), keine Impersonation
- **Nur SUPER_ADMIN** legt Reseller an; Reseller-Firmen gehören automatisch ihm

### Backend
- Neue Rolle `UserRole.RESELLER` (company_id NULL); `companies.reseller_id` + `is_active`
- Migration **0034**: Enum-Wert + Spalten + RLS-Policies (companies/users zusätzlich
  auf `app.reseller_id` gefenced → DB-seitige Mandantenisolation des Resellers)
- `get_current_user` setzt `app.reseller_id` + Bypass aus für RESELLER
- `tenant_service` (Firma + Erst-Admin), Router `/reseller/*` (Self-Service) und
  `/admin/*` (SUPER_ADMIN: Mandanten + Reseller); Login-Sperre bei deaktiviertem Mandant
- **Ohne E-Mail anlegbar**: interne Login-Kennung `<name>@<slug>.local` + einmaliges
  Temp-Passwort (kein Mailversand). `LoginRequest.email` → `str` (Kennung muss kein
  zustellbares Postfach sein; reservierte `.local`-Domains sonst nicht einloggbar)

### Frontend
- `TenantsPage` (`/admin/tenants`): alle Firmen, Reseller zuordnen/anlegen, Aktiv-Toggle
- `ResellerCompaniesPage` (`/reseller`): eigene Oberfläche mit Firmen-Kacheln
- Rollenbasierte Login-Weiterleitung (RESELLER → `/reseller`); `CredDialog` zeigt
  Temp-Zugangsdaten einmalig; Nav „Mandanten" für SUPER_ADMIN

### Tests & Deployment
- 5 neue pytest-Cases inkl. **Cross-Reseller-RLS-Isolation** + Anlage ohne E-Mail
  (173/173 grün); conftest-RLS um Reseller-Policies erweitert
- Auf **137 + 164** deployed (Migration 0034, Dienste aktiv, Health ok)
- **Live-Smoke-Test** auf beiden Servern bestanden (8 Checks: Anlage ohne E-Mail,
  Temp-Login, RLS-Isolation, 403-Schutz, Mandanten-Sperre) – Testdaten danach gelöscht

---
## 2026-06-23 01:42 – 01:43 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                    | 28 ++++++++++++++++++++++++++++
- backend/app/routers/reseller.py              |  8 +++++---
- backend/app/routers/tenants.py               | 54 ++++++++++++++++++++++++++++++++++++------------------
- backend/app/schemas/auth.py                  |  5 ++++-
- backend/app/schemas/reseller.py              | 13 ++++++++++---
- backend/app/services/tenant_service.py       | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++------------------
- backend/tests/test_reseller.py               | 20 ++++++++++++++++++++
- frontend/src/pages/ResellerCompaniesPage.tsx | 45 +++++++++++++++++++++++++++++++++++++++++----
- frontend/src/pages/TenantsPage.tsx           | 30 +++++++++++++++++++++---------

---
## 2026-06-23 01:44 – 01:44 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- c3cb9ce docs: DEVLOG – agent-10 Reseller/Mandantenübersicht

### Geänderte Dateien
- DEVLOG.md | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-06-23 01:45 – 01:45 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-06-23 01:45 – 01:47 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-06-23 01:47 – 01:48 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-06-23 10:45 – 10:47 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-06-23 10:54 – 11:01 (7m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-06-23 11:04 – 11:35 (30m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-06-23 11:46 – 11:48 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 3b2df1c feat: agent-11 PR1 – Vertretung, Storno-Re-Genehmigung, Kommentare

### Geänderte Dateien
- backend/app/models/__init__.py                            |   2 ++
- backend/app/models/absence.py                             |  11 +++---
- backend/app/models/absence_comment.py                     |  44 +++++++++++++++++++++++
- backend/app/routers/absences.py                           |  43 ++++++++++++++++++++++
- backend/app/routers/users.py                              |  21 +++++++++++
- backend/app/schemas/absence.py                            |  22 ++++++++++++
- backend/app/services/absence_service.py                   | 244 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
- backend/app/services/caldav_service.py                    |  28 +++++++++++++++
- backend/app/services/email_service.py                     |  22 ++++++++++++
- backend/migrations/versions/0035_absence_comments.py      |  61 +++++++++++++++++++++++++++++++
- backend/tests/conftest.py                                 |   2 +-
- backend/tests/test_absences.py                            | 144 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/components/absences/AbsenceCommentsModal.tsx |  83 ++++++++++++++++++++++++++++++++++++++++++
- frontend/src/components/absences/AbsenceModals.tsx        |  17 ++++++++-
- frontend/src/hooks/useAbsences.ts                         |  22 ++++++++----
- frontend/src/pages/AbsencesPage.tsx                       |  40 +++++++++++++++++----
- frontend/src/types/absence.ts                             |  12 ++++++-
- frontend/src/utils/calendar.ts                            |   2 ++

---
## 2026-06-23 11:48 – 12:04 (15m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- c9c197d feat: agent-11 PR2 – Urlaubsanspruch (Verfall scharf, Pro-rata, Teilzeit)

### Geänderte Dateien
- backend/app/models/company.py                            |  8 ++++++++
- backend/app/models/user.py                               |  8 ++++++--
- backend/app/routers/absences.py                          | 16 ++++------------
- backend/app/schemas/absence.py                           |  2 ++
- backend/app/schemas/company.py                           |  6 ++++++
- backend/app/schemas/user.py                              |  7 ++++++-
- backend/app/services/absence_service.py                  | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
- backend/migrations/versions/0036_vacation_entitlement.py | 36 ++++++++++++++++++++++++++++++++++++
- backend/tests/test_absences.py                           | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/AbsencesPage.tsx                      |  7 +++++--
- frontend/src/pages/CompanySettingsPage.tsx               | 41 +++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/UsersPage.tsx                         | 18 ++++++++++++++++++
- frontend/src/types/absence.ts                            |  1 +

---
## 2026-06-23 12:06 – 12:39 (33m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- c83fb31 feat: agent-11 PR3 – Scheduler + Erinnerungs-Mails + Notification-Prefs

### Geänderte Dateien
- backend/app/core/config.py                             |   5 +++
- backend/app/core/notifications.py                      |  27 ++++++++++++++++
- backend/app/main.py                                    |   9 ++++++
- backend/app/models/user.py                             |   5 ++-
- backend/app/routers/absences.py                        |  18 ++++++-----
- backend/app/routers/companies.py                       |  13 ++++++++
- backend/app/routers/users.py                           |  28 +++++++++++++++++
- backend/app/schemas/user.py                            |  10 ++++++
- backend/app/services/absence_service.py                |   3 ++
- backend/app/services/email_service.py                  |  59 +++++++++++++++++++++++++++++++++++
- backend/app/services/scheduler_service.py              | 215 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/migrations/versions/0037_notification_prefs.py |  24 +++++++++++++++
- backend/requirements.txt                               |   1 +
- backend/tests/test_reminders.py                        |  98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/ProfilePage.tsx                     |  36 +++++++++++++++++++++-

---
## 2026-06-23 12:41 – 13:19 (38m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 450dbdb feat: agent-12 – Zwei-Stufen-Genehmigung für Abwesenheiten

### Geänderte Dateien
- backend/app/models/absence.py                          |  6 ++++++
- backend/app/models/company.py                          |  5 +++++
- backend/app/schemas/absence.py                         |  1 +
- backend/app/schemas/company.py                         |  4 ++++
- backend/app/services/absence_service.py                | 42 +++++++++++++++++++++++++++++++++++++-----
- backend/app/services/scheduler_service.py              |  5 ++++-
- backend/migrations/versions/0038_two_stage_approval.py | 39 +++++++++++++++++++++++++++++++++++++++
- backend/tests/test_absences.py                         | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/AbsencesPage.tsx                    |  6 ++++++
- frontend/src/pages/CompanySettingsPage.tsx             | 28 +++++++++++++++++++++++++++-
- frontend/src/types/absence.ts                          |  1 +
- frontend/src/utils/calendar.ts                         |  2 ++

---
## 2026-06-23 13:20 – 13:24 (4m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 6a34bd1 fix: AuditLogPage – React-key am Listen-Fragment (Konsolen-Warnung)

### Geänderte Dateien
- frontend/src/pages/AuditLogPage.tsx | 9 ++++-----

---
## 2026-06-23 13:24 – 13:28 (4m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- e1d423e feat: agent-04 – Team-Dashboard für Manager/HR im Frontend angebunden

### Geänderte Dateien
- frontend/src/pages/DashboardPage.tsx | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-06-23 13:45 – 14:07 (21m)
**Beschreibung:** Claude Code Session
**Projekt:** backend

### Commits
- fe00eb4 fix(security/dsgvo): RLS für hours_payouts nachgezogen (Mandantentrennung)
- 31e39c6 fix(security): K-5 – LDAP/CalDAV/SMTP-Verschlüsselung auf zentralen Datenschlüssel

### Geänderte Dateien
- backend/migrations/versions/0039_rls_hours_payouts.py | 43 +++++++++++++++++++++++++++++++++++++++++++
- backend/tests/conftest.py                             |  2 +-
- backend/tests/test_rls.py                             | 28 ++++++++++++++++++++++++++++

---
## 2026-06-23 14:23 – 14:31 (8m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 2af2269 feat(dsgvo): Art. 17 Anonymisierung von Mitarbeiterkonten

### Geänderte Dateien
- backend/app/models/user.py                             |  3 +++
- backend/app/routers/users.py                           | 12 ++++++++++++
- backend/app/schemas/user.py                            |  1 +
- backend/app/services/user_service.py                   | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
- backend/migrations/versions/0040_user_anonymization.py | 23 +++++++++++++++++++++++
- backend/tests/test_users.py                            | 35 +++++++++++++++++++++++++++++++++++
- frontend/src/pages/UsersPage.tsx                       | 33 +++++++++++++++++++++++++++++++--

---
## 2026-06-23 14:31 – 14:32 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/models/user.py                             |  3 +++
- backend/app/routers/users.py                           | 12 ++++++++++++
- backend/app/schemas/user.py                            |  1 +
- backend/app/services/user_service.py                   | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
- backend/migrations/versions/0040_user_anonymization.py | 23 +++++++++++++++++++++++
- backend/tests/test_users.py                            | 35 +++++++++++++++++++++++++++++++++++
- frontend/src/pages/UsersPage.tsx                       | 33 +++++++++++++++++++++++++++++++--

---
## 2026-06-23 14:36 – 21:41 (7h 04m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/models/user.py                         |  3 ++
- backend/app/routers/users.py                       | 12 ++++++
- backend/app/schemas/user.py                        |  1 +
- backend/app/services/user_service.py               | 48 ++++++++++++++++++++++
- .../migrations/versions/0040_user_anonymization.py | 23 +++++++++++
- backend/tests/test_users.py                        | 35 ++++++++++++++++
- frontend/src/pages/UsersPage.tsx                   | 33 ++++++++++++++-

---
## 2026-06-23 22:07 – 22:07 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** frontend

### Commits
- 89d85a9 feat(ui): Navigation neu strukturiert (flache Topbar + Verwaltung-Menü + /settings)

### Geänderte Dateien
- frontend/src/App.tsx                 |   2 ++
- frontend/src/components/Layout.tsx   | 150 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------
- frontend/src/components/navConfig.ts |  86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/SettingsPage.tsx  |  61 ++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-06-23 22:25 – 22:28 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- add154b refactor(ui): Verwaltung-Dropdown aufgelöst – Berichte flach, Rest in /settings

### Geänderte Dateien
- frontend/src/components/Layout.tsx   | 60 ++++--------------------------------------------------------
- frontend/src/components/navConfig.ts | 27 +++++++++++++++++----------

---
## 2026-06-23 22:34 – 22:35 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 1978d58 fix(payouts): 500 in GET /hr/payouts – computed Felder als optional

### Geänderte Dateien
- backend/app/schemas/hours_payout.py | 4 ++--

---
## 2026-06-23 23:22 – 23:22 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/schemas/hours_payout.py | 4 ++--

---
## 2026-07-08 14:12 – 14:12 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/schemas/hours_payout.py | 4 ++--

---
## 2026-07-08 14:14 – 14:15 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/schemas/hours_payout.py | 4 ++--

---
## 2026-07-08 16:02 – 16:06 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** frontend

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/schemas/hours_payout.py | 4 ++--

---
## 2026-07-08 16:09 – 16:09 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/schemas/hours_payout.py | 4 ++--

---
## 2026-07-08 16:11 – 16:13 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 43ebc83 feat(ical): abonnierbarer read-only Kalender-Feed pro Nutzer

### Geänderte Dateien
- backend/app/main.py                            |   2 ++
- backend/app/models/user.py                     |   4 ++++
- backend/app/routers/ical.py                    | 132 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/migrations/versions/0041_ical_token.py |  29 +++++++++++++++++++++++++++++
- backend/tests/test_ical.py                     |  66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/ProfilePage.tsx             |  87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-07-08 16:15 – 16:16 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/main.py                            |   2 ++
- backend/app/models/user.py                     |   4 ++++
- backend/app/routers/ical.py                    | 132 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/migrations/versions/0041_ical_token.py |  29 +++++++++++++++++++++++++++++
- backend/tests/test_ical.py                     |  66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/ProfilePage.tsx             |  87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-07-08 16:16 – 16:20 (4m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/main.py                            |   2 ++
- backend/app/models/user.py                     |   4 ++++
- backend/app/routers/ical.py                    | 132 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/migrations/versions/0041_ical_token.py |  29 +++++++++++++++++++++++++++++
- backend/tests/test_ical.py                     |  66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/ProfilePage.tsx             |  87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-07-08 16:23 – 16:30 (7m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- f24b25b chore(deploy): entkoppelte Self-Update-Skripte pro Server

### Geänderte Dateien
- deploy.sh        | 121 +++++-------------------------------
- push-frontend.sh |  49 +++++++++++++++
- server-update.sh |  68 ++++++++++++++++++++
- update.sh        | 562 ++++-----------------------------------------------------------------------------------------------------------------------------------------------------------------

---
## 2026-07-08 16:31 – 16:34 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- fad27cb fix(deploy): server-update.sh Health-Check mit Retry (Worker-Startzeit)

### Geänderte Dateien
- server-update.sh | 11 +++++++++--

---
## 2026-07-08 16:39 – 16:48 (8m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 2c57c36 fix(deploy): server-update.sh re-exec nach git pull (Self-Edit-Falle)

### Geänderte Dateien
- server-update.sh | 14 ++++++++++----

---
## 2026-07-08 16:52 – 16:53 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- server-update.sh | 14 ++++++++++----

---
## 2026-07-08 17:10 – 17:12 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- server-update.sh | 14 ++++++++++----

---
## 2026-07-10 01:54 – 01:55 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** custom-addons

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                           | 460 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/DEVLOG.md                                   |  13 ++++
- backend/app/models/company.py                       |   2 +
- backend/app/models/hours_payout.py                  |  17 ++++-
- backend/app/routers/hours_payouts.py                | 280 +++++++++++++++++++++++++++++++++++++++++++++++--------------------
- backend/app/schemas/company.py                      |   2 +
- backend/app/schemas/hours_payout.py                 |  17 +++++
- backend/migrations/versions/0042_payout_requests.py |  36 +++++++++
- backend/tests/test_hours_payouts.py                 |  87 +++++++++++++++++++++
- frontend/DEVLOG.md                                  |  39 ++++++++++
- frontend/src/components/PayoutRequestCard.tsx       | 150 ++++++++++++++++++++++++++++++++++++
- frontend/src/pages/AbsencesPage.tsx                 |   3 +
- frontend/src/pages/CompanySettingsPage.tsx          |  31 +++++++-
- frontend/src/pages/HoursPayoutPage.tsx              |  82 +++++++++++++++++---
- frontend/src/types/hoursPayout.ts                   |   7 ++

---
## 2026-08-05 18:56 – 18:56 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                                           | 460 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/DEVLOG.md                                   |  13 ++++
- backend/app/models/company.py                       |   2 +
- backend/app/models/hours_payout.py                  |  17 ++++-
- backend/app/routers/hours_payouts.py                | 280 +++++++++++++++++++++++++++++++++++++++++++++++--------------------
- backend/app/schemas/company.py                      |   2 +
- backend/app/schemas/hours_payout.py                 |  17 +++++
- backend/migrations/versions/0042_payout_requests.py |  36 +++++++++
- backend/tests/test_hours_payouts.py                 |  87 +++++++++++++++++++++
- frontend/DEVLOG.md                                  |  39 ++++++++++
- frontend/src/components/PayoutRequestCard.tsx       | 150 ++++++++++++++++++++++++++++++++++++
- frontend/src/pages/AbsencesPage.tsx                 |   3 +
- frontend/src/pages/CompanySettingsPage.tsx          |  31 +++++++-
- frontend/src/pages/HoursPayoutPage.tsx              |  82 +++++++++++++++++---
- frontend/src/types/hoursPayout.ts                   |   7 ++

---
## 2026-08-05 18:56 – 18:57 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 803e888 fix(hours_payouts): RLS-Bypass-Falle bei mid-request commit

### Geänderte Dateien
- DEVLOG.md                            | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/routers/hours_payouts.py | 22 ++++++++++++----------

---
## 2026-08-05 18:57 – 18:57 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                            | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/routers/hours_payouts.py | 22 ++++++++++++----------

---
## 2026-08-05 18:58 – 18:58 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                            | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/routers/hours_payouts.py | 22 ++++++++++++----------

---
## 2026-08-05 19:01 – 19:17 (16m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- edb727e fix(security): python-jose CVE-2024-33663 durch pyjwt ersetzt, Deps gepinnt

### Geänderte Dateien
- DEVLOG.md                        | 36 ++++++++++++++++++++++++++++++++++++
- backend/app/core/dependencies.py |  2 +-
- backend/app/core/security.py     |  3 ++-
- backend/app/routers/auth.py      |  2 +-
- backend/requirements.txt         | 58 +++++++++++++++++++++++++++++-----------------------------
- nginx.conf                       | 11 ++++++++++-

---
## 2026-08-05 19:18 – 19:20 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                        | 36 ++++++++++++++++++++++++++++++++++++
- backend/app/core/dependencies.py |  2 +-
- backend/app/core/security.py     |  3 ++-
- backend/app/routers/auth.py      |  2 +-
- backend/requirements.txt         | 58 +++++++++++++++++++++++++++++-----------------------------
- nginx.conf                       | 11 ++++++++++-

---
## 2026-08-05 19:23 – 19:23 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                        | 36 ++++++++++++++++++++++++++++++++++++
- backend/app/core/dependencies.py |  2 +-
- backend/app/core/security.py     |  3 ++-
- backend/app/routers/auth.py      |  2 +-
- backend/requirements.txt         | 58 +++++++++++++++++++++++++++++-----------------------------
- nginx.conf                       | 11 ++++++++++-

---
## 2026-08-05 19:33 – 19:35 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 319e070 feat(tls): optionales certbot-Setup vorbereitet (Option A)

### Geänderte Dateien
- nginx.conf   | 13 +++++++------
- setup-tls.sh | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-08-05 19:35 – 19:36 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 9c86cbc feat(tls): optionales Setup für interne CA vorbereitet

### Geänderte Dateien
- setup-tls-internal.sh | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-08-05 19:37 – 19:37 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- setup-tls-internal.sh | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-08-05 19:38 – 20:31 (52m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 90f45a4 feat(admin): SUPER_ADMIN TLS-Zertifikat-Status + Renewal-Trigger

### Geänderte Dateien
- DEVLOG.md                           |  82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/main.py                 |   2 ++
- backend/app/routers/tls_admin.py    |  92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/services/tls_service.py |  96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/tests/test_tls_admin.py     |  65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/TenantsPage.tsx  | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---

---
## 2026-08-06 18:00 – 18:00 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                           |  82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/main.py                 |   2 ++
- backend/app/routers/tls_admin.py    |  92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/services/tls_service.py |  96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/tests/test_tls_admin.py     |  65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/TenantsPage.tsx  | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---

---
## 2026-08-06 18:00 – 18:00 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                           |  82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/main.py                 |   2 ++
- backend/app/routers/tls_admin.py    |  92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/services/tls_service.py |  96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/tests/test_tls_admin.py     |  65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/TenantsPage.tsx  | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---

---
## 2026-08-06 18:01 – 18:01 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                           |  82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/main.py                 |   2 ++
- backend/app/routers/tls_admin.py    |  92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/services/tls_service.py |  96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/tests/test_tls_admin.py     |  65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/TenantsPage.tsx  | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---

---
## 2026-08-06 18:10 – 18:10 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                           |  82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/main.py                 |   2 ++
- backend/app/routers/tls_admin.py    |  92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/services/tls_service.py |  96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/tests/test_tls_admin.py     |  65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/TenantsPage.tsx  | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---

---
## 2026-08-06 18:10 – 18:11 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                           |  82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/main.py                 |   2 ++
- backend/app/routers/tls_admin.py    |  92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/services/tls_service.py |  96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/tests/test_tls_admin.py     |  65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/TenantsPage.tsx  | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---

---
## 2026-08-06 18:11 – 18:12 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                           |  82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/main.py                 |   2 ++
- backend/app/routers/tls_admin.py    |  92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/services/tls_service.py |  96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/tests/test_tls_admin.py     |  65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/TenantsPage.tsx  | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---

---
## 2026-08-06 18:16 – 18:18 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                           |  82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/main.py                 |   2 ++
- backend/app/routers/tls_admin.py    |  92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/services/tls_service.py |  96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/tests/test_tls_admin.py     |  65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/TenantsPage.tsx  | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---

---
## 2026-08-06 18:20 – 18:21 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                           |  82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/main.py                 |   2 ++
- backend/app/routers/tls_admin.py    |  92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/services/tls_service.py |  96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/tests/test_tls_admin.py     |  65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/TenantsPage.tsx  | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---

---
## 2026-08-06 18:21 – 18:24 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                           |  82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/main.py                 |   2 ++
- backend/app/routers/tls_admin.py    |  92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/services/tls_service.py |  96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/tests/test_tls_admin.py     |  65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/TenantsPage.tsx  | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---

---
## 2026-08-06 21:09 – 21:43 (33m)
**Beschreibung:** Claude Code Session
**Projekt:** aicontrolcenter

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                           |  82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/main.py                 |   2 ++
- backend/app/routers/tls_admin.py    |  92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/services/tls_service.py |  96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/tests/test_tls_admin.py     |  65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/TenantsPage.tsx  | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---

---
## 2026-08-06 21:43 – 21:44 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                           |  82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/main.py                 |   2 ++
- backend/app/routers/tls_admin.py    |  92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/services/tls_service.py |  96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/tests/test_tls_admin.py     |  65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/TenantsPage.tsx  | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---

---
## 2026-08-06 22:08 – 22:08 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                           |  82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/main.py                 |   2 ++
- backend/app/routers/tls_admin.py    |  92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/services/tls_service.py |  96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/tests/test_tls_admin.py     |  65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/TenantsPage.tsx  | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---

---
## 2026-08-06 22:09 – 22:10 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- DEVLOG.md                           |  82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/main.py                 |   2 ++
- backend/app/routers/tls_admin.py    |  92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/app/services/tls_service.py |  96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- backend/tests/test_tls_admin.py     |  65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- frontend/src/pages/TenantsPage.tsx  | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---

---
## 2026-08-06 22:16 – 22:22 (6m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 74006d4 fix(reports): DATEV-Export nutzt falschen FK-Namen (absence_type_id statt type_id)
- 5cbeebe feat(reports): DATEV-Monatsblatt-Export (Blanko-Vorlage) für Steuerberater

### Geänderte Dateien
- backend/app/services/report_service.py | 2 +-

---
## 2026-08-06 22:24 – 22:25 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- frontend/src/pages/ReportsPage.tsx | 25 +++++++++++++++++++++++++

---
## 2026-08-07 08:11 – 08:11 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- frontend/src/pages/ReportsPage.tsx | 25 +++++++++++++++++++++++++

---
## 2026-08-07 08:11 – 08:12 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- frontend/src/pages/ReportsPage.tsx | 25 +++++++++++++++++++++++++

---
## 2026-08-07 08:16 – 08:16 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- frontend/src/pages/ReportsPage.tsx | 25 +++++++++++++++++++++++++

---
## 2026-08-07 08:17 – 08:42 (25m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 84af5a8 feat(dsgvo): Art. 15 Auskunftsrecht – strukturierter Datenexport pro User

### Geänderte Dateien
- backend/app/routers/users.py         |  27 ++++++++++++++++++++++++++-
- backend/app/services/gdpr_service.py | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-08-07 08:43 – 08:44 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/routers/users.py         |  27 ++++++++++++++++++++++++++-
- backend/app/services/gdpr_service.py | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-08-26 23:47 – 23:48 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** aicontrolcenter

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/routers/users.py         |  27 ++++++++++++++++++++++++++-
- backend/app/services/gdpr_service.py | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-08-26 23:48 – 23:49 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/routers/users.py         |  27 ++++++++++++++++++++++++++-
- backend/app/services/gdpr_service.py | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-08-26 23:53 – 23:53 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/routers/users.py         |  27 ++++++++++++++++++++++++++-
- backend/app/services/gdpr_service.py | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-08-26 23:58 – 23:59 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/routers/users.py         |  27 ++++++++++++++++++++++++++-
- backend/app/services/gdpr_service.py | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-08-27 00:21 – 00:22 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** Tripgenius

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/migrations/versions/0043_rls_special_assignments.py | 44 ++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-08-27 00:26 – 00:29 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** Tripgenius

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/migrations/versions/0043_rls_special_assignments.py | 44 ++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-08-27 00:29 – 00:31 (2m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 71e3e82 fix(payouts): status-Spalte mit echtem DB-Default statt nur Python-Default

### Geänderte Dateien
- backend/app/models/hours_payout.py | 5 ++++-

---
## 2026-08-27 00:46 – 00:46 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/models/hours_payout.py | 5 ++++-

---
## 2026-08-27 00:47 – 09:08 (8h 21m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- c1d0a35 fix(time): break_minutes DB-Default ergänzen + Retention-Tests korrigiert
- c60c0d6 feat(dsgvo): Löschkonzept/Aufbewahrungsfristen (Auto-Purge)

### Geänderte Dateien
- backend/app/models/time_entry.py                                       |  2 +-
- backend/migrations/versions/0044_time_entries_break_minutes_default.py | 25 +++++++++++++++++++++++++
- backend/tests/test_retention.py                                        | 23 ++++++++++++++++-------

---
## 2026-08-27 13:07 – 13:07 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/models/time_entry.py                                       |  2 +-
- backend/migrations/versions/0044_time_entries_break_minutes_default.py | 25 +++++++++++++++++++++++++
- backend/tests/test_retention.py                                        | 23 ++++++++++++++++-------

---
## 2026-08-27 13:10 – 13:16 (6m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- backend/app/models/time_entry.py                                       |  2 +-
- backend/migrations/versions/0044_time_entries_break_minutes_default.py | 25 +++++++++++++++++++++++++
- backend/tests/test_retention.py                                        | 23 ++++++++++++++++-------

---
## 2026-08-27 13:18 – 13:27 (8m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- d1d8069 fix(kiosk): NFC-Login verlangt Pflicht-PIN als Zweitfaktor (Security-Audit K-3)

### Geänderte Dateien
- backend/app/routers/kiosk.py               |   1 +
- backend/app/routers/users.py               |  17 +++++++++++++++++
- backend/app/schemas/kiosk_auth.py          |   3 ++-
- backend/app/schemas/user.py                |   7 +++++++
- backend/app/services/kiosk_auth_service.py |  51 +++++++++++++++++++++++++++++++++++++++++----------
- backend/app/services/user_service.py       |  16 ++++++++++++++++
- backend/tests/test_kiosk_nfc.py            | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

---
## 2026-08-27 13:30 – 13:39 (8m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
- 4932b88 feat(kiosk): PC-Terminal-Frontend für NFC-Login + Stempeln
- a7ac828 test(kiosk): E2E-Test für Login + Stempel-Flow, Cross-Device-Session-Check
- 2464c74 feat(kiosk): Stempel-Endpunkte für Kiosk-Sessions (fehlten bisher komplett)

### Geänderte Dateien
- frontend/src/pages/KioskStampPage.tsx | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------

---
## 2026-09-02 14:46 – 14:49 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- frontend/src/pages/KioskStampPage.tsx | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----

---

---
## 2026-09-02 14:46 – 14:49 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- frontend/src/pages/KioskStampPage.tsx | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----

---
## 2026-09-02 14:54 – 14:55 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- frontend/src/pages/KioskStampPage.tsx | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----

---
## 2026-09-02 14:59 – 14:59 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- frontend/src/pages/KioskStampPage.tsx | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----

---
## 2026-09-02 15:03 – 15:03 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- frontend/src/pages/KioskStampPage.tsx | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----

---
## 2026-09-02 15:03 – 15:04 (1m)
**Beschreibung:** Claude Code Session
**Projekt:** timemaster

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- frontend/src/pages/KioskStampPage.tsx | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----

---
## 2026-09-02 15:07 – 15:07 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** agents

### Commits
Keine Commits in dieser Session.

### Geänderte Dateien
- frontend/src/pages/KioskStampPage.tsx | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----

---
