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
key unseal: wrong recipient or corrupt envelopeSource control, reimagined
.env.Version control where the host cannot read your code. loot makes visibility and permissions properties of content and changes, not of the repository. 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.
4841 bytes, addressed by hashREADME.md# loot A from-scratch source-control system. **Thesis:** visibility and permissions belong to *content and changes*, not to the *repository*. Commit your `.env`. Keep files private inside a shared repo. Embargo a security fix: merge it, cut the release, reveal the source later. This is the unsolved problem in modern version control. Ergonomics (jj already nails them) are a layer for later. ## Security loot's cryptography is written from scratch and has never been independently …
7d b5 14 da 94 31 d9 10 e8 87 9d eb 01 95 af ce 56 65 8d 0b 20 2c af 93 88 54 30 2e 2e e0 cd 72 0d 14 b0 5d 4c 97 7a 24 1c 70 0a f7 5e 0a c8 f1 c9 51 82 af 23 df 5a c0 95 0a 29 4d fa de bf 8c 83 a7 39 90 34 32 5c f6 cb 90 69 a3 d4 c4 a7 67 f4 f0 b4 c7 b6 ce 78 dc af ff 3d 06 e5 dd b7 0e 85 72 61 21 50 7c 64 bc 39 5e 8c 04 59 72 98 1b a3 b6 ba 50 ff fc bd 86 02 5b b4 a2 83 b9 eb a8 c1 bf bd 47 5b 4f f3 32 14 e8 67 2d 64 29 e4 c3 ef 90 f6 4c 93 4a 08 2f 5b 7a 55 70 88 9c 4d e5 68 4c 65 34 69 e5 5b 40 68 c6 82 b2 ff 9f 1c 30 57 24 3f e9 60 4b bf dd 74 53 dc 69 43 0e 4f 5e …
One file on this host, shown twice. Both panes are this server's live answer for the same address — 20d8a9c631c77ae9…
Ciphertext. It is printable here because it discloses nothing — the same property that makes it safe to hand a host.
Published — which is why you can read it. The published tier is the only thing this forge holds a key for.
20d8a9c631c77ae9…Each is one command. Full walkthroughs live in the docs.
.envDeclare 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
key unseal: wrong recipient or corrupt envelopeloot 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.
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
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
Browse this repo with no account. Every path is listed, and everything but the published files is locked: the forge that hosts it holds no key to open them.
loot leads its own development; git main is a downstream projection. The forge that hosts it holds no key to the private code it stores, only to what is published, and the proof log shows the sealing that makes that true.