ShadowBit
Everything you need.
AES-256-GCM or ChaCha20-Poly1305. scrypt key derivation. An authenticated header that rejects tampering. Keyfile second factors. A one-time recovery key. Paranoid mode. A complete security stack with zero dependencies beyond Node.js built-ins for the cryptographic core.
Encryption that travels with you.
ShadowBit turns any collection of files into a single encrypted container you can email, carry on a USB drive, or share anywhere. No cloud, no account, no subscription. The vault is just a file.
Unlike zip encryption (weak and crackable), cloud-only vaults (require trust in a provider), or full-disk tools (not portable), ShadowBit gives you one file that travels anywhere and opens on any computer that has ShadowBit installed.
Four steps, every time.
The same simple loop — whether you're using the CLI or the desktop app.
Get up and running.
Choose your platform. Requires Node.js 20+.
Common workflows.
# Create — you will be prompted for a password
./shadow-bit create shared --no-recovery
./shadow-bit open shared
cp report.pdf <working-folder>/
./shadow-bit close shared
# Send shared.svlt via email/USB
# Recipient opens with the same password
# Use the recovery key printed at creation
./shadow-bit recover project
# Recovery key: A7KX9-MP2VQ-8NW4T-…
# New password: ********
# ✓ Password reset via recovery key.
# Set the password once, out of band.
# Prefer the env var over --password: the flag is
# visible to other users via `ps` and lands in
# your shell history.
export SHADOWBIT_PASSWORD="$VAULT_PASS"
./shadow-bit create backup --no-recovery
./shadow-bit open backup
rsync -av ~/Documents/ <working-folder>/
./shadow-bit close backup
# One command seeds from a folder
./shadow-bit create secrets \
--seed ~/Documents/secrets
# Verify contents
./shadow-bit open secrets
ls <working-folder>
./shadow-bit discard secrets
Questions, answered.
How-to recipes for the features you can actually use, plus a plain account of what ShadowBit does not do. If a guarantee is not listed here, it does not exist.
No questions match that search. Try a shorter word, or clear the box to see all of them.
Every command, documented.
Run via ./shadow-bit or
node dist/cli/index.js. Every
command that needs a password prompts for it invisibly by default —
pass SHADOWBIT_PASSWORD to
automate. --password still works
but is deprecated: it exposes the password to other users through
ps and to your shell history.
A native GUI for every platform.
The Electron app shares the same cryptographic core as the CLI. Four tabs cover every workflow — no terminal required.
Designed for real-world threats.
An internal code review was completed and its findings fixed, each with a regression test. That is a self-review, not an independent security audit — nobody outside the project has assessed this code.
SECURITY.md and
SECURITY_AUDIT.md in the
repository for the full report and the threat model.
One file holds everything.
A .svlt file is a self-contained
encrypted archive. It carries everything needed to decrypt it — KDF
parameters, salt, wrapped master key, auth tag — except your
password. Email it, put it on USB, attach it to a message. The
recipient opens it with ShadowBit and the password you share
out-of-band.
Clean, layered design.
The cryptographic core is UI-agnostic. The CLI and Electron GUI are thin frontends over the same engine.