diff --git a/README.md b/README.md index 92c6da5..3b3f42f 100644 --- a/README.md +++ b/README.md @@ -25,3 +25,15 @@ Die App läuft auf **http://localhost:3001**. ```bash npm test ``` + +## Datenschutz & Speicherung + +Diese App ist ein **lokales Single-User-Werkzeug**: Alle Daten (Mitarbeiternamen, +Urlaube, Pläne, Verlauf) werden ausschließlich **im Browser** (`localStorage`) +gespeichert. Es gibt keinen Server und keine Übertragung an Dritte. Die Daten +liegen **unverschlüsselt** vor und sind für jeden zugänglich, der Zugriff auf +dasselbe Browser-Profil hat. + +- App **nicht auf geteilten/öffentlichen Geräten** für sensible Daten nutzen. +- Datenstand regelmäßig über **JSON-Export** (Tab „Daten") sichern. +- Beim Leeren der Browserdaten gehen alle nicht exportierten Daten verloren. diff --git a/js/data.js b/js/data.js index 772676c..af47ae6 100644 --- a/js/data.js +++ b/js/data.js @@ -10,6 +10,8 @@ function generateId() { const h = [...b].map(x => x.toString(16).padStart(2, '0')); return `${h.slice(0,4).join('')}-${h.slice(4,6).join('')}-${h.slice(6,8).join('')}-${h.slice(8,10).join('')}-${h.slice(10,16).join('')}`; } + // Last-resort fallback for environments without Web Crypto. Not cryptographically + // strong, but adequate for local, non-security-sensitive employee ids. return Date.now().toString(36) + Math.random().toString(36).slice(2, 10); }