cli.sgit.ai / Get started / What is sgit

What is sgit

Moved from sgit.ai. This page was sgit.ai/docs/what-is-sgit.html (sgit.ai site v0.7.87), moved here on 20 October 2026 as cli.sgit.ai becomes the CLI's main documentation. The text is as it was; links to pages that moved now stay on this site. What moved, and why.

sgit is git for encrypted vaults. Clone, commit, branch, diff and merge folders of files that are encrypted with AES-256-GCM before they leave your machine. The server stores ciphertext under opaque IDs, it never sees your filenames, your contents, or your commit messages.

It's like git and a password vault had a baby.

How it works

A vault is an ordinary folder plus a .sg_vault/ directory. When you commit, sgit snapshots the folder into a git-like object graph, commits pointing at trees pointing at content blobs, and encrypts every object client-side. When you push, only changed ciphertext travels. Object IDs are content-addressed (obj-cas-imm-…), so unchanged files are never re-uploaded, and the server can deduplicate data it cannot read.

your-folder/
├── <your files>            # untouched — a vault is just a folder
└── .sg_vault/
    ├── bare/                # encrypted objects, refs, branch keys
    └── local/               # your private clone-branch key — never pushed

The vault key (passphrase:vault-id) is three things in one string: the address of the vault on the server, the credential to access it, and the root of the local key-derivation hierarchy. Whoever holds it can decrypt the vault; nobody else, including the server, can. See the security model for the full derivation chain.

What makes it different from git

One vault, three doors

Maturity: sgit is in beta and has been powering production workflows for a while. The vault format is versioned and sgit migrate handles upgrades. Read when NOT to use sgit for the honest edges.

This page as markdown · its source, admin/content/docs/what-is-sgit.md