Skip to content

Kept in German

The changelog of Krywerk is maintained in German only. Version numbers and dates are language independent; the entries below follow Keep a Changelog (sections “Hinzugefügt” = added, “Geändert” = changed, “Behoben” = fixed, “Entfernt” = removed, “Sicherheit” = security).

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 /app auf Deutsch und Englisch: Umschalter „English“/„Deutsch“ (Cookie krywerk_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-mount und krywerk-recover zeigen Hilfe, Rückfragen und Meldungen auf Deutsch oder Englisch – nach KRYWERK_LANG (de/en), sonst nach LC_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 fingerabdruck und krywerk-hub bestaetigen. Krywerk Server: PUT/GET /api/users/trusted…, GET /api/settings, Optionen wot.max_depth (KRYWERK_SERVER_WOT_MAX_DEPTH) und wot.id_verify_len (KRYWERK_SERVER_WOT_ID_VERIFY_LEN), Datenbank-Schema 5.
  • Desktop-App zweisprachig (Deutsch, Englisch): Einstellung „Sprache / Language“ unter „Einstellungen › Allgemein“ (language in config.json: auto = Sprache des Betriebssystems, de, en; wirkt sofort, auch auf Infobereich und Kontextmenü), Umgebungsvariable KRYWERK_LANG=de|en hat Vorrang. Texte der Oberfläche in crates/kw-app/ui/i18n/de.json und en.json; englische Bedienungsanleitung in der App (anleitung.en.html aus docs/anleitung/*.en.md).

Geändert

  • Einheitliche Namen (DECISIONS.md D-13): Kommandozeilenprogramme heißen krywerk-mount (vorher bcmount) und krywerk-recover (vorher bcrecover); Umgebungsvariablen KRYWERK_PASSWORD, KRYWERK_VAULT_PASSWORD und KRYWERK_MOUNT_* – die alten Namen BC_PASSWORD/BC_VAULT_PASSWORD gelten weiter. Im Quellcode liegt der Rust-Workspace jetzt im Wurzelverzeichnis, die Crates heißen kw-* unter crates/.
  • 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.json wird gesichert (config.json.defekt-<Zeit>) statt beim nächsten Speichern überschrieben; Einstellungen einer neueren Version werden nicht überschrieben. Die Datei hat jetzt ein Feld version.
  • 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 neben key jetzt auch ecdhPrivateKey/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 in KRYWERK_SERVER_OIDC_ALLOWED_CLIENTS ein; mit oidc.audience gilt stattdessen die aud-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-store fü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).