Tags: timqi/vt
Tags
v2.0.0 — envelope encryption protocol (BREAKING)
Highlights:
- Agent never sees plaintext on encrypt or stored ciphertext on decrypt;
it only releases a per-record HKDF-derived DEK after Touch ID.
- New URL format `vt://{0,1}{b64(salt(16) || ct || tag(16))}`. AAD
binds ciphertexts to v2 + secret type (defeats type-flip attacks).
- Touch ID prompt now distinguishes legacy plaintext vs v2 key-release
counts in mixed batches.
- New `vt ssh agent --no-legacy-decrypt` flag retires the legacy
ciphertext-on-wire path once all secrets are migrated.
- Bulk migration script `migrate-vt-urls.py` (uv) handles RAW + TOTP.
BREAKING: client ↔ agent wire schema changed; both sides must upgrade
in lockstep. See README "Upgrade Warning" for the full procedure.
Disable HTTP server by default in `vt serve`, add --enable-http flag The HTTP server for encrypt/decrypt endpoints is now opt-in. `vt serve` runs only the SSH agent by default; pass `--enable-http` to also start the HTTP server. Bump version to 1.0.3. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>