Files
SDSStundenerfassung/doc/DSGVO-Dokumentation.md

471 lines
20 KiB
Markdown

# DSGVO-Dokumentation
## Stundenerfassungssystem
---
## 1. Verantwortlicher und Kontaktdaten
**Verantwortlicher für die Datenverarbeitung:**
SDS Systemtechnik
Rudolf-Diesel-Str. 7
75365 Calw
info@sds-systemtechnik.de
+497051931540
**Datenschutzbeauftragter (falls vorhanden):**
Matthias Herrlinger
connexo GmbH
Jägerstraße 4F
71296 Heimsheim
**Kontakt für Datenschutzanfragen:**
Carsten Graf
Mechatronik-Ingenieur / IT-Infrastruktur
SDS Systemtechnik
carsten.graf@sds-systemtechnik.de
+4970519315416
---
## 2. Zweck der Datenverarbeitung
Das Stundenerfassungssystem dient der Erfassung, Verwaltung und Dokumentation von Arbeitszeiten der Mitarbeiter. Die Verarbeitung personenbezogener Daten erfolgt zu folgenden Zwecken:
- **Zeiterfassung**: Erfassung von Arbeitsbeginn, Arbeitsende, Pausen und Gesamtarbeitszeit
- **Arbeitszeitverwaltung**: Berechnung von Überstunden, Urlaubstagen und Fehlzeiten
- **Lohnabrechnung**: Bereitstellung von Daten für die Lohn- und Gehaltsabrechnung
- **Projektabrechnung**: Zuordnung von Arbeitszeiten zu Projekten und Projektnummern
- **Compliance**: Einhaltung arbeitsrechtlicher Vorschriften (z.B. Arbeitszeitgesetz)
- **Authentifizierung**: Sicherstellung des Zugriffs nur für berechtigte Personen
- **Automatische Zeiterfassung**: IP-basierte automatische Erfassung von Arbeitsbeginn und -ende (optional)
---
## 3. Rechtsgrundlage
Die Verarbeitung personenbezogener Daten erfolgt auf Grundlage der folgenden Rechtsgrundlagen nach der DSGVO:
- **Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung)**: Erfüllung des Arbeitsvertrags, insbesondere Erfassung der Arbeitszeit zur Lohnabrechnung
- **Art. 6 Abs. 1 lit. c DSGVO (Rechtliche Verpflichtung)**: Erfüllung gesetzlicher Verpflichtungen (z.B. Arbeitszeitgesetz, Aufbewahrungspflichten nach HGB/GoBD)
- **Art. 6 Abs. 1 lit. f DSGVO (Berechtigtes Interesse)**: Betriebswirtschaftliche Interessen (Projektabrechnung, Arbeitszeitoptimierung)
**Besondere Kategorien personenbezogener Daten:**
- **Krankheitsdaten** (sick_status): Art. 9 Abs. 2 lit. b DSGVO (Arbeitsrechtliche Verpflichtungen)
---
## 4. Erfasste Datenkategorien
### 4.1 Benutzerdaten (Tabelle: `users`)
| Datenfeld | Beschreibung | Kategorie |
|-----------|--------------|-----------|
| `id` | Eindeutige Benutzer-ID (automatisch generiert) | Identifikationsdaten |
| `username` | Benutzername für Login | Authentifizierung |
| `password` | Passwort (gehasht mit bcrypt) | Authentifizierung |
| `firstname` | Vorname | Identifikationsdaten |
| `lastname` | Nachname | Identifikationsdaten |
| `personalnummer` | Personalnummer des Mitarbeiters | Identifikationsdaten |
| `role` | Benutzerrolle(n) als JSON-Array (z.B. "mitarbeiter", "verwaltung", "admin") | Berechtigungsdaten |
| `wochenstunden` | Soll-Arbeitsstunden pro Woche | Arbeitszeitdaten |
| `urlaubstage` | Anzahl der Urlaubstage pro Jahr | Arbeitszeitdaten |
| `overtime_offset_hours` | Manuelle Korrektur der Überstunden durch Verwaltung | Arbeitszeitdaten |
| `vacation_offset_days` | Manuelle Korrektur der Urlaubstage durch Verwaltung | Arbeitszeitdaten |
| `ping_ip` | IP-Adresse für automatische Zeiterfassung (optional) | Technische Daten |
| `last_week_start` | Letzte bearbeitete Woche (für UI-Navigation) | Systemdaten |
| `created_at` | Zeitstempel der Benutzererstellung | Metadaten |
### 4.2 Zeiterfassungsdaten (Tabelle: `timesheet_entries`)
| Datenfeld | Beschreibung | Kategorie |
|-----------|--------------|-----------|
| `id` | Eindeutige Eintrags-ID | Identifikationsdaten |
| `user_id` | Verknüpfung zum Benutzer | Identifikationsdaten |
| `date` | Datum des Arbeitstages (Format: YYYY-MM-DD) | Zeitstempel |
| `start_time` | Arbeitsbeginn (Format: HH:MM) | Zeitstempel |
| `end_time` | Arbeitsende (Format: HH:MM) | Zeitstempel |
| `pause_start_time` | Pausenbeginn (Format: HH:MM, optional) | Zeitstempel |
| `pause_end_time` | Pausenende (Format: HH:MM, optional) | Zeitstempel |
| `break_minutes` | Pausenzeit in Minuten | Arbeitszeitdaten |
| `total_hours` | Berechnete Gesamtarbeitszeit in Stunden | Arbeitszeitdaten |
| `activity1_desc` bis `activity5_desc` | Beschreibung der Tätigkeit (bis zu 5 pro Tag) | Tätigkeitsdaten |
| `activity1_hours` bis `activity5_hours` | Stunden für die jeweilige Tätigkeit | Tätigkeitsdaten |
| `activity1_project_number` bis `activity5_project_number` | Projektnummer für die jeweilige Tätigkeit | Projektbezogene Daten |
| `notes` | Freitext-Notizen zum Arbeitstag | Tätigkeitsdaten |
| `overtime_taken_hours` | Verbrauchte Überstunden an diesem Tag | Arbeitszeitdaten |
| `vacation_type` | Urlaubstyp ("full" = ganzer Tag, "half" = halber Tag, null = kein Urlaub) | Arbeitszeitdaten |
| `sick_status` | Krankheitsstatus (0 = nicht krank, 1 = krank) | Gesundheitsdaten |
| `weekend_travel` | Wochenend-Reise (0 = nein, 1 = ja) | Arbeitszeitdaten |
| `applied_weekend_percentage` | Angewendeter Wochenend-Prozentsatz für Berechnung | Arbeitszeitdaten |
| `status` | Status des Eintrags ("offen", "eingereicht") | Metadaten |
| `created_at` | Zeitstempel der Erstellung | Metadaten |
| `updated_at` | Zeitstempel der letzten Änderung | Metadaten |
### 4.3 Wochenstundenzettel (Tabelle: `weekly_timesheets`)
| Datenfeld | Beschreibung | Kategorie |
|-----------|--------------|-----------|
| `id` | Eindeutige Stundenzettel-ID | Identifikationsdaten |
| `user_id` | Verknüpfung zum Benutzer | Identifikationsdaten |
| `week_start` | Startdatum der Woche (Format: YYYY-MM-DD) | Zeitstempel |
| `week_end` | Enddatum der Woche (Format: YYYY-MM-DD) | Zeitstempel |
| `version` | Versionsnummer des Stundenzettels (bei Änderungen) | Metadaten |
| `version_reason` | Grund für die neue Version (Freitext) | Metadaten |
| `status` | Status ("eingereicht", "bearbeitet") | Metadaten |
| `submitted_at` | Zeitstempel der Einreichung | Metadaten |
| `reviewed_by` | ID des prüfenden Verwaltungsmitarbeiters | Identifikationsdaten |
| `reviewed_at` | Zeitstempel der Prüfung | Metadaten |
| `pdf_downloaded_at` | Zeitstempel des PDF-Downloads | Metadaten |
| `pdf_downloaded_by` | ID des Benutzers, der das PDF heruntergeladen hat | Identifikationsdaten |
| `admin_comment` | Kommentar der Verwaltung zum Stundenzettel | Metadaten |
### 4.4 IP-basierte Zeiterfassung (Tabelle: `ping_status`)
| Datenfeld | Beschreibung | Kategorie |
|-----------|--------------|-----------|
| `user_id` | Verknüpfung zum Benutzer | Identifikationsdaten |
| `date` | Datum (Format: YYYY-MM-DD) | Zeitstempel |
| `last_successful_ping` | Zeitstempel des letzten erfolgreichen Pings | Technische Daten |
| `failed_ping_count` | Anzahl fehlgeschlagener Pings | Technische Daten |
| `start_time_set` | Flag, ob Start-Zeit bereits gesetzt wurde (0/1) | Technische Daten |
| `first_failed_ping_time` | Zeitstempel des ersten fehlgeschlagenen Pings | Technische Daten |
### 4.5 LDAP-Synchronisation (Tabelle: `ldap_sync_log`)
| Datenfeld | Beschreibung | Kategorie |
|-----------|--------------|-----------|
| `id` | Eindeutige Log-ID | Identifikationsdaten |
| `sync_type` | Typ der Synchronisation ("manual" oder "automatic") | Metadaten |
| `status` | Status ("success", "error") | Metadaten |
| `users_synced` | Anzahl synchronisierter Benutzer | Metadaten |
| `error_message` | Fehlermeldung bei Fehlern (optional) | Metadaten |
| `sync_started_at` | Zeitstempel des Synchronisationsbeginns | Metadaten |
| `sync_completed_at` | Zeitstempel des Synchronisationsendes | Metadaten |
**LDAP-Konfiguration (Tabelle: `ldap_config`):**
Diese Tabelle enthält keine personenbezogenen Daten, sondern nur technische Konfigurationsdaten für die LDAP-Verbindung.
**LDAP-Synchronisierte Daten:**
Bei aktivierter LDAP-Integration werden folgende Daten aus dem Active Directory synchronisiert:
- `username` (sAMAccountName)
- `firstname` (givenName)
- `lastname` (sn)
### 4.6 Session-Daten (Express-Session)
| Datenfeld | Beschreibung | Speicherdauer |
|-----------|--------------|---------------|
| `userId` | ID des angemeldeten Benutzers | 24 Stunden (Standard) oder 30 Tage (bei "Angemeldet bleiben") |
| `roles` | Array der Benutzerrollen | 24 Stunden (Standard) oder 30 Tage (bei "Angemeldet bleiben") |
| `currentRole` | Aktuell ausgewählte Rolle | 24 Stunden (Standard) oder 30 Tage (bei "Angemeldet bleiben") |
**Cookie-Informationen:**
- Cookie-Name: `connect.sid`
- Speicherort: Client-Browser
- Verschlüsselung: Session-Daten werden serverseitig gespeichert, Cookie enthält nur Session-ID
### 4.7 Systemdaten (keine personenbezogenen Daten)
**Tabelle: `public_holidays`**
- `date`: Feiertagsdatum
- `name`: Name des Feiertags
**Tabelle: `system_options`**
- `saturday_percentage`: Prozentsatz für Samstagsarbeit
- `sunday_percentage`: Prozentsatz für Sonntagsarbeit
- `checkin_root_url`: Basis-URL für Check-in/Check-out Links
---
## 5. Datenquellen
Die personenbezogenen Daten stammen aus folgenden Quellen:
1. **Direkte Eingabe durch Mitarbeiter**: Zeiterfassungsdaten, Tätigkeitsbeschreibungen, Projektnummern, Notizen
2. **Automatische Erfassung**: IP-basierte Zeiterfassung (optional, wenn `ping_ip` konfiguriert ist)
3. **LDAP/Active Directory**: Bei aktivierter LDAP-Integration werden Benutzername, Vorname und Nachname aus dem Active Directory synchronisiert
4. **Administrative Eingabe**: Personalnummer, Wochenstunden, Urlaubstage, Überstunden-Offset, Urlaubstage-Offset durch Verwaltung/Admin
5. **Automatische Berechnung**: Gesamtstunden, Überstunden werden automatisch aus den eingegebenen Daten berechnet
6. **Systemgeneriert**: IDs, Zeitstempel (created_at, updated_at), Session-Daten
---
## 6. Empfänger der Daten
Die personenbezogenen Daten werden folgenden Empfängern zugänglich gemacht:
### 6.1 Interne Empfänger
- **Mitarbeiter**: Zugriff auf eigene Zeiterfassungsdaten über das Dashboard
- **Verwaltungsmitarbeiter**: Zugriff auf alle eingereichten Stundenzettel zur Prüfung und PDF-Generierung
- **Administratoren**: Vollzugriff auf alle Daten zur Systemverwaltung und Benutzerverwaltung
- **IT-Administration**: Technischer Zugriff für Wartung und Support (nur bei Bedarf)
### 6.2 Externe Empfänger
- **Lohnbuchhaltung**: PDF-Stundenzettel werden für die Lohnabrechnung verwendet (manueller Export)
- **Steuerberater/Wirtschaftsprüfer**: Bei Prüfungen können Daten eingesehen werden (gemäß gesetzlichen Aufbewahrungspflichten)
### 6.3 Keine Weitergabe an Dritte
Die Daten werden nicht an Dritte (außerhalb der oben genannten Empfänger) weitergegeben. Es erfolgt keine Datenweitergabe an:
- Externe Dienstleister (außer bei expliziter Auftragsverarbeitung)
- Marketing-Unternehmen
- Soziale Netzwerke
- Andere Unternehmen
---
## 7. Speicherdauer und Löschung
### 7.1 Speicherdauer
Die personenbezogenen Daten werden für folgende Zeiträume gespeichert:
- **Zeiterfassungsdaten**: Mindestens 10 Jahre gemäß § 257 HGB (Aufbewahrungspflicht für Handelsbücher und Belege)
- **Lohnabrechnungsrelevante Daten**: 10 Jahre gemäß § 147 AO (Abgabenordnung)
- **Benutzerdaten**: Solange der Mitarbeiter im Unternehmen beschäftigt ist, danach gemäß Aufbewahrungspflichten
- **Session-Daten**: Werden automatisch nach Ablauf der Cookie-Laufzeit gelöscht (24 Stunden oder 30 Tage)
- **LDAP-Sync-Logs**: 1 Jahr (technische Logs)
### 7.2 Löschung
Die Löschung erfolgt:
- **Automatisch**: Session-Daten nach Ablauf der Cookie-Laufzeit
- **Manuell**: Bei Beendigung des Arbeitsverhältnisses, jedoch unter Beachtung der gesetzlichen Aufbewahrungspflichten
- **Auf Anfrage**: Gemäß den Betroffenenrechten (siehe Abschnitt 8), soweit keine gesetzlichen Aufbewahrungspflichten entgegenstehen
**Hinweis**: Auch nach Beendigung des Arbeitsverhältnisses können Daten aufgrund gesetzlicher Aufbewahrungspflichten (HGB, AO) nicht sofort gelöscht werden. Nach Ablauf der Aufbewahrungsfristen erfolgt die Löschung.
---
## 8. Betroffenenrechte
Jede betroffene Person hat folgende Rechte nach der DSGVO:
### 8.1 Auskunftsrecht (Art. 15 DSGVO)
Sie haben das Recht, Auskunft über die zu Ihrer Person gespeicherten Daten zu erhalten. Dies umfasst:
- Kategorien der verarbeiteten Daten
- Zweck der Verarbeitung
- Empfänger der Daten
- Geplante Speicherdauer
- Herkunft der Daten
### 8.2 Recht auf Berichtigung (Art. 16 DSGVO)
Sie haben das Recht, die Berichtigung unrichtiger oder die Vervollständigung unvollständiger Daten zu verlangen.
### 8.3 Recht auf Löschung (Art. 17 DSGVO)
Sie haben das Recht, die Löschung Ihrer Daten zu verlangen, sofern:
- Die Daten für den ursprünglichen Zweck nicht mehr benötigt werden
- Sie Ihre Einwilligung widerrufen haben
- Die Daten unrechtmäßig verarbeitet wurden
- Keine gesetzlichen Aufbewahrungspflichten entgegenstehen
**Wichtig**: Aufgrund gesetzlicher Aufbewahrungspflichten (HGB, AO) können Zeiterfassungsdaten für 10 Jahre nicht gelöscht werden.
### 8.4 Recht auf Einschränkung der Verarbeitung (Art. 18 DSGVO)
Sie haben das Recht, die Einschränkung der Verarbeitung zu verlangen, wenn:
- Die Richtigkeit der Daten bestritten wird
- Die Verarbeitung unrechtmäßig ist
- Die Daten nicht mehr benötigt werden, aber für Rechtsansprüche erforderlich sind
### 8.5 Recht auf Datenübertragbarkeit (Art. 20 DSGVO)
Sie haben das Recht, Ihre Daten in einem strukturierten, gängigen und maschinenlesbaren Format zu erhalten und an einen anderen Verantwortlichen zu übermitteln.
### 8.6 Widerspruchsrecht (Art. 21 DSGVO)
Sie haben das Recht, der Verarbeitung Ihrer Daten zu widersprechen, wenn die Verarbeitung auf Art. 6 Abs. 1 lit. f DSGVO (Berechtigtes Interesse) beruht.
**Hinweis**: Da die Zeiterfassung primär zur Erfüllung arbeitsvertraglicher und gesetzlicher Verpflichtungen erfolgt, ist ein Widerspruch in der Regel nicht möglich.
### 8.7 Widerruf der Einwilligung (Art. 7 Abs. 3 DSGVO)
Falls die Datenverarbeitung auf einer Einwilligung beruht, haben Sie das Recht, diese jederzeit zu widerrufen.
### 8.8 Beschwerderecht (Art. 77 DSGVO)
Sie haben das Recht, eine Beschwerde bei einer Aufsichtsbehörde einzulegen, insbesondere in dem Mitgliedstaat, in dem Sie sich aufhalten, arbeiten oder in dem der mutmaßliche Verstoß aufgetreten ist.
**Zuständige Aufsichtsbehörde:**
Der Landesbeauftragte für den Datenschutz und die Informationsfreiheit Baden-Württemberg
[Adresse]
[E-Mail]
[Telefon]
### 8.9 Ausübung der Rechte
Um Ihre Rechte auszuüben, wenden Sie sich bitte an:
Carsten Graf
Mechatronik-Ingenieur / IT-Infrastruktur
SDS Systemtechnik
[E-Mail]
[Telefon]
---
## 9. Technische und organisatorische Maßnahmen (TOM)
Zur Gewährleistung der Datensicherheit wurden folgende technische und organisatorische Maßnahmen implementiert:
### 9.1 Zugriffskontrolle
- **Authentifizierung**: Passwort-basierte Authentifizierung mit bcrypt-Hashing (10 Runden)
- **Autorisierung**: Rollenbasierte Zugriffskontrolle (Mitarbeiter, Verwaltung, Admin)
- **Session-Management**: Express-Session mit serverseitiger Speicherung, Session-IDs in verschlüsselten Cookies
- **Automatische Abmeldung**: Session-Cookies laufen nach 24 Stunden (Standard) oder 30 Tagen (bei "Angemeldet bleiben") ab
### 9.2 Verschlüsselung
- **Passwörter**: Bcrypt-Hashing mit Salt (10 Runden)
- **Datenübertragung**: Empfohlen wird die Verwendung von HTTPS (TLS/SSL) über einen Reverse Proxy (z.B. nginx)
- **Datenbank**: SQLite-Datenbankdatei sollte auf einem gesicherten Server gespeichert werden
### 9.3 Datensicherung
- **Backups**: Regelmäßige Backups der SQLite-Datenbankdatei (`stundenerfassung.db`)
- **Backup-Speicherung**: Backups sollten an einem separaten, gesicherten Ort gespeichert werden
### 9.4 Integrität
- **Datenbank-Constraints**: Foreign Keys und Constraints zur Gewährleistung der Datenintegrität
- **Validierung**: Eingabevalidierung auf Server- und Client-Seite
- **Versionierung**: Versionsverwaltung bei Stundenzetteln zur Nachvollziehbarkeit von Änderungen
### 9.5 Verfügbarkeit
- **Server-Monitoring**: Überwachung der Server-Verfügbarkeit
- **Fehlerbehandlung**: Umfassende Fehlerbehandlung und Logging
### 9.6 Trennbarkeit
- **Datenbank-Isolation**: Jeder Benutzer kann nur auf seine eigenen Daten zugreifen (außer Verwaltung/Admin)
- **Rollenbasierte Ansichten**: Unterschiedliche Ansichten je nach Benutzerrolle
### 9.7 Pseudonymisierung
- **Benutzer-IDs**: Interne Verwendung von numerischen IDs statt Namen für Datenbankverknüpfungen
- **Session-IDs**: Verwendung von zufälligen Session-IDs statt direkter Benutzeridentifikation in Cookies
---
## 10. Besondere Verarbeitungssituationen
### 10.1 IP-basierte automatische Zeiterfassung
**Funktionsweise:**
- Mitarbeiter können optional eine IP-Adresse (`ping_ip`) hinterlegen
- Das System pingt diese IP-Adresse jede Minute
- Bei erfolgreichem Ping wird automatisch die Start-Zeit gesetzt
- Bei 3 fehlgeschlagenen Pings wird automatisch die End-Zeit gesetzt
**Erfasste Daten:**
- IP-Adresse des Mitarbeiters (freiwillig hinterlegt)
- Ping-Status (erfolgreich/fehlgeschlagen)
- Zeitstempel der Pings
- Automatisch generierte Start- und End-Zeiten
**Rechtsgrundlage:** Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung) - Erfassung der Arbeitszeit
**Hinweis:** Die IP-Adresse wird nur für die automatische Zeiterfassung verwendet und nicht an Dritte weitergegeben.
### 10.2 LDAP/Active Directory Integration
**Funktionsweise:**
- Optional kann eine LDAP/Active Directory-Verbindung konfiguriert werden
- Benutzer werden automatisch oder manuell aus dem Active Directory synchronisiert
- Synchronisierte Daten: Benutzername, Vorname, Nachname
**Rechtsgrundlage:** Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung) - Bereitstellung des Systems für Mitarbeiter
**Hinweis:** Die LDAP-Konfiguration (URL, Bind-DN, Passwort) wird verschlüsselt in der Datenbank gespeichert. Die Synchronisation erfolgt nur innerhalb des Unternehmensnetzwerks.
### 10.3 PDF-Generierung
**Funktionsweise:**
- Verwaltungsmitarbeiter können PDF-Stundenzettel generieren
- PDFs enthalten alle Zeiterfassungsdaten einer Woche
- PDFs werden für die Lohnabrechnung verwendet
**Enthaltene Daten:**
- Mitarbeitername und Personalnummer
- Zeitraum (Woche)
- Alle Tageseinträge mit Start, Ende, Pause, Stunden
- Tätigkeiten mit Projektnummern
- Überstunden, Urlaub, Feiertage
- Gesamtstundensumme
**Rechtsgrundlage:** Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung) - Lohnabrechnung
**Hinweis:** PDFs werden nur intern verwendet und nicht an Dritte weitergegeben (außer Lohnbuchhaltung).
### 10.4 QR-Code Check-in/Check-out
**Funktionsweise:**
- Jeder Mitarbeiter erhält einen persönlichen QR-Code
- QR-Code enthält die Benutzer-ID
- Scan des QR-Codes führt zu Check-in oder Check-out
**Erfasste Daten:**
- Benutzer-ID (aus QR-Code)
- Zeitstempel des Scans
- Automatisch gesetzte Start- oder End-Zeit
**Rechtsgrundlage:** Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung) - Erfassung der Arbeitszeit
---
## 11. Datenübertragung in Drittländer
**Aktuell erfolgt keine Datenübertragung in Drittländer.**
Alle Daten werden auf Servern innerhalb der Europäischen Union (EU) oder des Europäischen Wirtschaftsraums (EWR) gespeichert und verarbeitet.
Falls in Zukunft eine Datenübertragung in Drittländer erforderlich sein sollte, wird dies nur unter Einhaltung der DSGVO-Anforderungen (z.B. Standardvertragsklauseln, Angemessenheitsbeschluss) erfolgen.
---
## 12. Automatisierte Entscheidungsfindung und Profiling
**Es erfolgt keine automatisierte Entscheidungsfindung (Art. 22 DSGVO) oder Profiling.**
Die automatische Berechnung von Arbeitszeiten und Überstunden dient lediglich der Unterstützung der manuellen Prüfung durch die Verwaltung und stellt keine automatisierte Entscheidung dar.
---
## 13. Änderungen dieser Dokumentation
Diese DSGVO-Dokumentation wird bei Änderungen der Datenverarbeitung aktualisiert. Die aktuelle Version ist immer im System verfügbar.
**Letzte Aktualisierung:** [Datum]
**Version:** 1.0
---
## 14. Anhang: Datenbank-Schema-Übersicht
### Tabellen mit personenbezogenen Daten:
1. **users**: Benutzerdaten, Authentifizierung, Arbeitszeitkonfiguration
2. **timesheet_entries**: Tageseinträge mit Zeiten, Tätigkeiten, Projektnummern
3. **weekly_timesheets**: Eingereichte Wochenstundenzettel
4. **ping_status**: IP-basierte Zeiterfassungsdaten
5. **ldap_sync_log**: Synchronisationsprotokolle (enthält Anzahl synchronisierter Benutzer)
### Tabellen ohne personenbezogene Daten:
1. **public_holidays**: Feiertage (Baden-Württemberg)
2. **system_options**: Systemweite Einstellungen
3. **ldap_config**: LDAP-Konfiguration (keine personenbezogenen Daten)
---
**Ende der DSGVO-Dokumentation**