Technische und organisatorische Maßnahmen
Anlage zum AVV nach Art. 32 DSGVO · Stand 25.09.2026
rechtliches/angaben.json. Die Lücken sind im Text markiert.
Prüfen mit node rechtstexte-pruefen.js.
Diese Anlage beschreibt die Maßnahmen, die in SAYKI HR fest eingebaut sind, und die Maßnahmen im Betrieb.
1. Trennung der Kunden
- Jede Firma hat eine eigene Datenbankdatei. Die Software öffnet nur die Datei der Firma aus der geprüften Sitzung; eine Kennung aus einem Formular oder der Adresse wird dafür nie verwendet.
- Datenbankdateien sind nur für das Benutzerkonto des Dienstes lesbar (Rechte 600). Die Datenbank ist nicht über das Netz erreichbar.
2. Zugangskontrolle
- Passwörter mindestens 10 Zeichen, geprüft gegen häufige Passwörter; gespeichert nur als scrypt-Hash.
- Zwei-Faktor-Anmeldung (TOTP) mit Notfallcodes; für den Betreiberbereich dringend empfohlen und per Einstellung verpflichtend.
- Bremse gegen Durchprobieren: 5 Fehlversuche je Konto und 30 je Absender in 15 Minuten, danach Sperre.
- Sitzungen: zufälliger Schlüssel, gespeichert nur als Hash; Keks HttpOnly, SameSite=Strict, über HTTPS nur verschlüsselt; Abmeldung nach 60 Minuten ohne Nutzung und spätestens nach 12 Stunden; nach einem Passwortwechsel enden alle anderen Anmeldungen.
- Einladungs-, Bestätigungs- und Passwortlinks sind zufällig, nur einmal verwendbar, befristet und nur als Hash gespeichert.
- Schutz der Registrierung durch eine Rechenaufgabe im Browser, Honigtopf-Feld, Mindestzeit und Sperrliste für Wegwerf-Adressen.
3. Zugriffskontrolle (Rollen)
- Inhaber: alles, auch Einstellungen, Zugänge, Tarif, Export und Löschen.
- Personal: Beschäftigte, Abwesenheiten, Arbeitszeiten, Schichtplanung, Dokumente, Lohnexport, Dashboard.
- Mitarbeiter: nur die eigene Mitarbeiter-App – eigenes Urlaubskonto, eigene Anträge, eigene Arbeitszeit, eigene Schichten aus veröffentlichten Plänen, eigene Dokumente – nur die freigegebenen und die selbst geschickten. Kolleginnen und Kollegen sieht sie nicht – nur wenn die Firma es einschaltet, dann aus der eigenen Abteilung Name und Zeitraum, nie den Grund.
- Rolle und Sperre werden bei jeder Anfrage frisch aus der Datenbank gelesen; der Server prüft alles, was die Oberfläche prüft, noch einmal selbst.
- Der KI-Assistent hat nur lesende Werkzeuge und kann nichts ändern.
4. Weitergabekontrolle
- Übertragung nur verschlüsselt (HTTPS mit HSTS). Sicherheitskopfzeilen: Content-Security-Policy ohne fremde Quellen, kein Einbetten in fremde Seiten, keine Weitergabe der Herkunftsadresse.
- Ändernde Anfragen nur als JSON und nur von der eigenen Adresse (Schutz gegen CSRF).
- Stripe-Webhooks werden über ihre Unterschrift geprüft; der Abo-Stand wird frisch bei Stripe geladen.
- Der Export enthält keine Passwörter, Zwei-Faktor-Schlüssel oder Zahlungskennungen; Tabelleninhalte werden gegen Formel-Einschleusung entschärft.
5. Eingabekontrolle
Änderungen an Beschäftigten und Abwesenheiten werden je Firma mit Zeitpunkt und Konto protokolliert, Änderungen an Arbeitszeiten zusätzlich mit altem und neuem Wert. Beim Stempeln gilt die Uhrzeit des Servers, nicht die des Geräts. Jedes Öffnen eines Dokuments im Personalbüro wird protokolliert. Hochgeladen werden nur PDF, JPG und PNG bis 10 MB; der Typ wird am Inhalt geprüft. Die Dateien liegen in der Datenbank der jeweiligen Firma und sind in der verschlüsselten Sicherung enthalten. Kalender-Abos laufen über einen geheimen Link, der nur als Hash gespeichert und jederzeit sperrbar ist; der Kalender der Firma nennt nie die Art einer Abwesenheit. Sicherheitsrelevante Vorgänge stehen im Sicherheitsprotokoll (ohne Passwörter, Codes oder Inhalte).
6. Verfügbarkeit und Wiederherstellung
- Tägliche Sicherung aller Datenbanken im laufenden Betrieb, zusätzlich an einen zweiten Ort; Aufbewahrung 30 Tage. Die Wiederherstellung wird regelmäßig geprüft.
- Hosting in [noch einzutragen: hosting.standort]: [noch einzutragen: tom.redundanz]
- Überwachung über eine Gesundheitsprüfung, die keine Daten preisgibt.
7. Organisation
- Geheimnisse (Schlüssel für Stripe, E-Mail, KI) liegen nur in der Umgebungsdatei auf dem Server, nie im Quellcode.
- Der Dienst läuft in einem Container ohne Administratorrechte.
- Sicherheitsupdates von Betriebssystem und Laufzeit werden zeitnah eingespielt. Vierteljährliche Prüfung der Zugänge, Sicherungen und Updates.
- Vor jeder neuen Version laufen automatische Tests, darunter Angriffe auf Mandantentrennung, Rollen und Anmeldung.