# Changelog Alle nennenswerten Änderungen an diesem Projekt werden in dieser Datei dokumentiert. Das Format basiert auf [Keep a Changelog](https://keepachangelog.com/de/1.1.0/) und dieses Projekt folgt den Richtlinien von [Semantic Versioning](https://semver.org/lang/de/). ## [Unreleased] ### Added - **`sanctum passwd` Befehl**: Sicheres und sofortiges Ändern des Master-Passworts über DEK-Rewrapping mit frischem Argon2id-Salt und neuen KEK-Parametern, ohne die Nutzdaten-Chunks neu verschlüsseln zu müssen. - Integrationstest `test_sanctum_password_change` zur automatisierten Verifikation von Authentifizierungswechsel und Datenintegrität. ## [0.1.0] - 2026-09-07 ### Added - **Sanctum CLI (`sanctum.exe`)**: Eigenständige, hochperformante Userland-Anwendung zur Verwaltung verschlüsselter Ein-Datei-Container unter Windows 10/11. - **Kryptografie & Schlüsselableitung**: - Argon2id KDF ($M=64\,\text{MB}, T=3, P=4$) zur Ableitung des KEK aus dem Master-Passwort. - AES-256-GCM DEK-Wrapping mit Nonce und Authentifizierungs-Tag. - 1-MB Chunk AEAD-Verschlüsselung mit AAD (`node_id || chunk_index`) zum vollständigen Schutz gegen Swap- und Block-Vertauschungsangriffe. - Speichersicherheit: Verwendung von `zeroize::Zeroizing` für sensible kryptografische Schlüssel im RAM. - **Speicherschicht**: - SQLite3-Container im WAL-Modus (`PRAGMA journal_mode = WAL;`, `PRAGMA synchronous = NORMAL;`, `PRAGMA page_size = 8192;`). - Automatische Checkpoints (`PRAGMA wal_checkpoint(TRUNCATE)`). - Dynamisches Wachstum bis über 100 GB in exakt einer Host-Datei (`.sanctum`). - **WebDAV & Windows Explorer Integration**: - Eingebetteter WebDAV-Server auf `127.0.0.1` (`dav-server` + `hyper`). - Automatisches Einhängen über Windows-Bordmittel (`net use : http://127.0.0.1:/ /persistent:no`) ohne Administratorrechte und ohne Treiber (kein WinFsp, kein Dokan). - Volle Unterstützung für `DavFileSystem`, `DavFile`, Metadaten und `symlink_metadata` für WebDAV MOVE/Rename-Operationen im Explorer. - Saubere URL-Decodierung bei Pfaden mit Leerzeichen, Kommas und Umlauten. - **CLI & UX**: - Automatische Windows-Konsolen-Initialisierung auf UTF-8 (`CP 65001`) und Virtual Terminal Processing. - Strukturierte Statusausgabe (`init`, `mount`, `unmount`) mit Status-Boxen und Fortschrittsanzeige. - Automatischer Shutdown-Handler (`Ctrl+C`) mit sicherem Aushängen des Netzlaufwerks und WAL-Checkpointing. - **Release Management**: - Automatisches Packaging-Skript `scripts/package-release.ps1` mit SHA-256 Checksummen. - Gitea Actions CI/CD Pipeline (`.gitea/workflows/release.yaml`).