# VaultZip (CLI prototype) Password-encrypted archive with built-in checksum verification. Working prototype of the core engine — see ../plan.md for the full product plan (the WinUI 3 shell and archive preview are still on the roadmap; this build is the pack/unpack/verify engine only). ## Build from source Requires Go 1.24+, no external dependencies. go build -o vaultzip . Cross-compile for another platform: GOOS=windows GOARCH=amd64 go build -o vaultzip.exe . GOOS=darwin GOARCH=arm64 go build -o vaultzip . ## Usage vaultzip pack [ ...] -o vault.vz --password PASS [--dry-run] vaultzip unpack -o outdir --password PASS vaultzip verify --password PASS ## Looking before you pack Packing replaces a vault already sitting at the -o path without asking, so pack takes --dry-run: vaultzip pack Records -o Records.vz --password PASS --dry-run It lists every file that would go into the vault with its size on disk, totals them, warns you if a vault is already there under that name, and writes nothing whatsoever — no vault, no partial file, no temporary. Add the flag to the command you were about to run, read the list, then run the same command again without it. The listing comes from the same walk that packing itself uses, so it cannot drift out of step with what a real pack would store; files the real pack would have to skip as unreadable are skipped in the dry run too. The dry run stops short of the key stretching as well as the output file, so it costs a fraction of a real pack rather than doubling it. A vault is tar+gzip, then AES-256-GCM encrypted. The key is stretched from the password via 200,000 rounds of iterated SHA-256 — a dependency-free stand-in for PBKDF2 (Go's stdlib has no built-in KDF). This has not been independently audited; treat it as a working prototype of the mechanism, not a production-grade crypto implementation. "verify" authenticates the vault and lists its contents (with per-file SHA-256) without writing anything to disk — a wrong password fails loudly via AES-GCM authentication rather than silently producing garbage. ## Prebuilt binaries See ../downloads/ for prebuilt binaries (Windows/macOS/Linux) and CHECKSUMS.txt for their SHA-256 hashes. These are unsigned indie builds — Windows SmartScreen and macOS Gatekeeper will warn on first run, which is expected until a code-signing certificate is in place (see the build plan's risk section).