Changelog¶
Alle nennenswerten Änderungen an Krywerk. Format nach Keep a Changelog, Versionen nach Semantic Versioning. Vor 1.0 können sich Formate der Konfiguration und der Server-Schnittstelle noch ändern; jede solche Änderung steht hier unter „Geändert“ mit Hinweis zur Umstellung.
[Unreleased]¶
Erste öffentliche Vorabversion 0.9.0 in Vorbereitung.
Hinzugefügt¶
- Web-Verwaltung und die Seiten unter
/appauf Deutsch und Englisch: Umschalter „English“/„Deutsch“ (Cookiekrywerk_lang, ohne JavaScript), sonst nach der Browsersprache; Deutsch bleibt die Voreinstellung. Übersetzt sind auch Fehlerseiten, Ereignisnamen im Protokoll und die Spaltenköpfe des CSV-Exports. - Kommandozeile zweisprachig:
krywerk-hub,krywerk-mountundkrywerk-recoverzeigen Hilfe, Rückfragen und Meldungen auf Deutsch oder Englisch – nachKRYWERK_LANG(de/en), sonst nachLC_ALL/LC_MESSAGES/LANG; Befehls- und Optionsnamen bleiben gleich. - Krywerk Server: strukturiertes Protokoll (
KRYWERK_SERVER_LOG,KRYWERK_SERVER_LOG_FORMAT=json), Zugriffe mit Dauer in Millisekunden. - Web-Verwaltung: Person endgültig löschen (DSGVO Art. 17) – nach dem Sperren; im Protokoll bleibt sie nur pseudonymisiert erhalten.
- Laufwerke unter Windows (WinFsp), macOS (FUSE-T) und Linux (libfuse 3) mit Desktop-App, Infobereich und Kontextmenü (Explorer, Finder-Schnellaktionen, Dolphin/Nautilus).
- Persönliche Tresore im Cryptomator-Format 8 (lesen, schreiben, anlegen).
- Boxcryptor-Ordner weiter öffnen und schrittweise ins moderne Format oder in einen Team-Ordner
umstellen; Wiederherstellung einzelner Dateien und Ordner per
krywerk-recover. - Team-Ordner über den eigenen Schlüsselserver Krywerk Server (Hub-kompatibel): Anmeldung über das Organisationskonto, Personen und Gruppen, Freigaben, Wiederherstellungsschlüssel, Notfallzugriff im Vier-Augen-Prinzip, „Schlüssel erneuern“.
- Krywerk Server mit Web-Verwaltung, Protokoll, Sicherung/Prüfung/Wiederherstellung der Datenbank, Docker-Image und Betriebsvorlagen (Caddy, Keycloak, systemd).
- Bedienungsanleitung (Deutsch) in der App und als PDF.
- Option
source_url(KRYWERK_SERVER_SOURCE_URL): Link auf den Quellcode in der Web-Verwaltung. - Web of Trust (Hub-Protokoll): Fingerabdruck unter „Einstellungen › Organisationskonto“, „Identität prüfen …“ im
Feld „Verwalten“ mit Kennzeichnung „bestätigt ✓ / nicht bestätigt ⚠“;
krywerk-hub fingerabdruckundkrywerk-hub bestaetigen. Krywerk Server:PUT/GET /api/users/trusted…,GET /api/settings, Optionenwot.max_depth(KRYWERK_SERVER_WOT_MAX_DEPTH) undwot.id_verify_len(KRYWERK_SERVER_WOT_ID_VERIFY_LEN), Datenbank-Schema 5. - Desktop-App zweisprachig (Deutsch, Englisch): Einstellung „Sprache / Language“ unter „Einstellungen ›
Allgemein“ (
languageinconfig.json:auto= Sprache des Betriebssystems,de,en; wirkt sofort, auch auf Infobereich und Kontextmenü), UmgebungsvariableKRYWERK_LANG=de|enhat Vorrang. Texte der Oberfläche incrates/kw-app/ui/i18n/de.jsonunden.json; englische Bedienungsanleitung in der App (anleitung.en.htmlausdocs/anleitung/*.en.md).
Geändert¶
- Einheitliche Namen (DECISIONS.md D-13): Kommandozeilenprogramme heißen
krywerk-mount(vorherbcmount) undkrywerk-recover(vorherbcrecover); UmgebungsvariablenKRYWERK_PASSWORD,KRYWERK_VAULT_PASSWORDundKRYWERK_MOUNT_*– die alten NamenBC_PASSWORD/BC_VAULT_PASSWORDgelten weiter. Im Quellcode liegt der Rust-Workspace jetzt im Wurzelverzeichnis, die Crates heißenkw-*untercrates/. - Desktop-App barrierefreier: Kontraste im Dunkelmodus und von Eingabefeldern nach WCAG AA, Reiter und Menü mit Pfeiltasten bedienbar, Meldungen bleiben stehen, solange Maus oder Fokus darauf sind, größere Mindestschrift, „Bewegung reduzieren“ wird beachtet; Markenblau wie Website und Web-Verwaltung.
- Desktop-App: Eine beschädigte
config.jsonwird gesichert (config.json.defekt-<Zeit>) statt beim nächsten Speichern überschrieben; Einstellungen einer neueren Version werden nicht überschrieben. Die Datei hat jetzt ein Feldversion. - Lizenz festgelegt: GNU GPL 3.0 oder später, Krywerk Server GNU AGPL 3.0 oder später.
- „Zugriff gewähren“ gibt nur noch angekreuzten Personen frei; Personen mit nicht bestätigter Identität sind nicht
vorausgewählt. Umstellung für Skripte:
krywerk-hub freigebenüberspringt nicht bestätigte Personen; das alte Verhalten gibt es mit--auch-unbestaetigt. - Das Geräte-JWE (
userPrivateKey) enthält nebenkeyjetzt auchecdhPrivateKey/ecdsaPrivateKey(wie die Hub-Web-Oberfläche), damit Identitäten ohne Freischaltcode bestätigt werden können.
Sicherheit¶
- Linux: Der Geräteschlüssel für Team-Ordner liegt im Schlüsselbund der Sitzung (Secret Service) statt in einer Datei; vorhandene Dateien werden beim ersten Zugriff übernommen. Ohne Schlüsselbund (Server) bleibt es bei einer Datei mit Rechten 0600, die bei jedem Lesen erzwungen werden.
- rustls 0.23.46 (RUSTSEC-2026-0346 bis -0349).
- Krywerk Server nimmt an der API nur noch Access Tokens an, die für die App (
oidc.client_id) oder einen ausdrücklich zugelassenen Client (oidc.allowed_clients) ausgestellt sind (azp/appid), und lehnt ID-Tokens ab. Umstellung: Wer Werkzeuge mit eigenem Client nutzt, trägt diesen inKRYWERK_SERVER_OIDC_ALLOWED_CLIENTSein; mitoidc.audiencegilt stattdessen dieaud-Prüfung. - Die letzte IP-Adresse eines Geräts speichert der Server nur noch mit
audit.record_ip. - Anfragebegrenzung je Client-IP für API und Anmeldung der Web-Verwaltung (
rate_limit.*), HTTP 429. - Sicherheits-Header (CSP,
nosniff,X-Frame-Options,no-storefür die API, HSTS bei HTTPS) auf allen Antworten, nicht nur in der Web-Verwaltung. - Grenzen für Schlüsselableitungen aus Dateien: scrypt höchstens 512 MiB, PBKDF2 höchstens 10 Mio. Runden – manipulierte Tresor- oder Schlüsseldateien können den Rechner nicht mehr lahmlegen.
- AES-Rundenschlüssel und Key-Encryption-Keys werden nach Gebrauch überschrieben.
- Hinter einem Reverse Proxy zählt der letzte Eintrag von
X-Forwarded-For(vorher der erste, den ein Client fälschen konnte). - Web of Trust gegen untergeschobene Schlüssel: Freigaben und Notfall-Anteile lassen sich auf Schlüssel beschränken, deren Fingerabdruck außerhalb des Servers verglichen wurde. Ketten prüft die App gegen den lokal gespeicherten eigenen Schlüssel (Vertrauen beim ersten Mal, gelernt nur mit dem Freischaltcode). Krywerk Server nimmt nur gültige Signaturen des Aufrufers über die aktuellen Schlüssel des Ziels an (strenger als der Referenz-Hub).