Source control, reimagined
Version control where the host cannot read your code.
loot makes visibility and permissions properties of content and changes, not of the repository. Commit your .env. Keep files private inside a shared repo. Embargo a security fix, cut the release, and reveal the source later.
curl -sSf https://loot.millerbyte.com/install.sh | sh
macOS · Linux · Windows — see all install options. Installs to ~/.loot/bin; verify with loot --version.
What works today
loot is a from-scratch, encrypted-DAG source-control system that hosts its own development. The full loop, from first init to relay-based collaboration, runs now.
Three things git can't do
Each is one command. Full walkthroughs live in the docs.
Commit a private .env
Declare per-file privacy in .lootattributes. The secret is sealed in a shared repo; non-keyholders carry the ciphertext and can never read it.
.env restricted=alice
Embargo a security fix
Merge the patch and cut the release now; the source stays encrypted to everyone until the reveal timestamp, then unlocks for anyone who pulls.
security-fix.txt embargoed=1800000000
Grant a key to a teammate
Hand one content key to one identity over the relay — sealed to their public key, signed by you, recorded in the audit manifest. Permissioning is key management.
loot grant --relay origin .env bob
Built with loot
loot leads its own development; git main is a downstream projection. The relay that hosts it physically cannot read the private code it stores — that claim is backed by re-runnable, committed proofs.