Skip to content

CodeSeal

What it does, what it deliberately does not, and where to start.

CodeSeal keeps chosen source files encrypted inside an ordinary Git repository. You pick the files that matter; sgit encrypts them on your machine before they reach a commit. What your host stores is ciphertext.

Everything else stays as it was. Same remote, same branches, same pull requests, same CI — the encrypted files are just blobs that Git carries like any other.

What it is for

One thing, stated plainly: source at rest, in someone else's storage.

A private repository is hidden from the public and not from the platform. That is a fine trade for most code. It stops being fine for the parts of a product that would let someone rebuild it — a pricing engine, a matching algorithm, the rules behind a risk score.

The shape of it

Two decisions, made early

Both are changeable later, and both are cheaper to get right now.

How keys are held. A shared passphrase is the simplest thing that works and is right for one person. Per-recipient keys cost one extra step at setup and are the only way to remove someone's access without re-encrypting the repository. Teams covers the difference.

What CI is trusted with. From handing the runner a key outright to having the build happen somewhere the runner never sees plaintext. CI and CD lays out the four modes and what each one exposes.