Files
sanctum/CHANGELOG.md
T
harald fb154c0d2e
Sanctum Release / Build & Release (Windows x86_64) (push) Canceled after 0s
docs(changelog): document v0.2.0 release changes
2026-09-08 10:51:58 +02:00

4.7 KiB

Changelog

Alle nennenswerten Änderungen an diesem Projekt werden in dieser Datei dokumentiert.

Das Format basiert auf Keep a Changelog und dieses Projekt folgt den Richtlinien von Semantic Versioning.

[0.2.0] - 2026-09-08

Added

  • Transparente LZ4-Kompression:
    • lz4_flex Integration mit Frame-Format vor der AEAD-Verschlüsselung.
    • Adaptiver Fallback: Chunks werden nur komprimiert, wenn mindestens 64 Bytes gespart werden.
    • Transparente On-the-Fly Dekompression bei Leseoperationen.
  • Disaster Recovery & Integrität:
    • BIP-39 Mnemonic Seed Phrases (24 Wörter) für Master-Key Recovery.
    • sanctum recovery-key: Export und Anzeige des BIP-39 Notfallschlüssels.
    • sanctum backup & sanctum restore: Konsistente Online-Sicherungen via SQLite Backup API mit WAL-Flush.
    • sanctum verify: Vollständige kryptografische Integritätsprüfung aller AEAD-Chunks und B-Tree-Validierung.
  • Windows Explorer Integration & Bedienkomfort:
    • sanctum register & sanctum unregister: Windows-Kontextmenü im Explorer (HKCU\Software\Classes\.sanctum, "In Sanctum öffnen", Icon-Zuordnung).
    • Intelligente Erkennung freier Laufwerksbuchstaben (von Z: abwärts).
    • Automatisches Öffnen des gemounteten Laufwerks im Windows Explorer.
    • System-Tray Icon (tray-icon) im Windows Infobereich mit Status und schnellem Unmount.
  • Explorer Anti-Leak Shield & OpSec:
    • Windows Anti-Leak Filter: Blockiert thumbs.db, desktop.ini, *.tmp, Office-Lockfiles (~$*) und NTFS Alternative Data Streams (:Zone.Identifier).
    • Activity Tracking & Inaktivitäts-Timeout: Automatischer Unmount bei Leerlauf.
    • Windows Session Lock Monitor: Registrierung für WTS_SESSION_LOCK mit sicherem Auto-Unmount beim Sperren des PCs.
  • Storage Compaction & Anti-Forensics:
    • SQLite Incremental Auto-Vacuum (PRAGMA auto_vacuum = INCREMENTAL;) zur physikalischen Freigabe ungenutzter Dateiseiten an das Host-Dateisystem.
    • Kryptografisches Chunk-Shredding: Chunks werden vor dem Löschen/Abschneiden mit CSPRNG-Zufallsrauschen überschrieben.
    • sanctum compact: Manuelles oder beim Aushängen automatisches Freigeben von Freelist-Pages.
    • Plausible Deniability (Hidden Vault): Dual-Slot Header-Architektur. Unbenutzte Slots enthalten ununterscheidbares CSPRNG-Rauschen.
    • sanctum init --with-hidden: Erstellung zweier getrennter Safes (Decoy & Hidden) mit individuellen Passphrasen und BIP-39 Recovery-Karten.
    • Vollständige Dateinamen-Verschlüsselung für den Hidden Vault.
  • Passwort-Verwaltung (sanctum passwd):
    • Sofortiges Ändern des Master-Passworts über DEK-Rewrapping mit neuem Argon2id-Salt und KEK-Parametern ohne Neuverschlüsselung der Nutzdaten. Multi-Slot fähig.

[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 <DRIVE>: http://127.0.0.1:<PORT>/ /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).