GitBraints
Products
Contact
Sign InSign Up
GitBraints

A lightweight, secure, local-first Git ecosystem productivity suite built for modern engineering teams.

ProductsContactPrivacyTerms
© 2026 GitBraints. All rights reserved.
Free CLI
npm @latest
BETA

GitLocker

Protect source code on the Git hosts you already use

GitLocker writes selected paths as ciphertext into Git remotes and new commits, so a host cannot scan their plaintext blobs, and a copied repository does not expose those files without the project key. Existing history is not rewritten by default, and plaintext already checked out is not protected. Start with the free CLI and Personal Provider; add SaaS later for hosted keys and grants.

Install the free CLI

$npm install -g gitlocker@latest

Requires Node.js and npm. Personal Provider needs no GitBraints account.

AES-256-GCM on Git remotes
Free Personal Provider
secrets.yaml
Local working tree (plaintext after checkout)
# Database configs and cloud service credentials
1database:
2host: "db.secure-infra.internal"
3user: "postgres"
4
password: "super-secret-password-xyz"
5port: 5432
6api_keys:
7
stripe_live: "sk_live_51Nz8k2Lp90f..."
GitLocker filter:ACTIVE

Three commands, then your usual Git

Initialize, encrypt selected paths, then keep using git add, commit, and push. Filters run for Git; they are not daily user commands.

bash — gitl-demo-workspace
FILTER READY
$gitl init
Initializing GitLocker for this repository...
✔ Git filters registered.
✔ Generated local project key in the personal key store.
✔ Wrote .gitlocker/config.

GitLocker is initialized. Encrypt selected paths next.
GitLocker filter activeUTF-8
PLUGGABLE KEY PROVIDERS

Two key providers, one encryption model

GitLocker always encrypts Git content. The Personal Provider keeps keys on your machine. The Server Provider is an optional SaaS convenience for hosted keys and grants.

Personal Key Provider (free, local)

Designed for individual developers and offline use. Project keys stay in a local store. GitBraints does not receive those keys. This is the default way to start.

  • No GitBraints account required
  • Keys stay on the local machine; they are not uploaded
  • Still encrypts Git remotes and history as ciphertext

Server Key Provider (optional SaaS)

Optional key custody for many repositories. GitBraints can host usable project keys so you can grant fetch access. This is not zero-knowledge, and it does not replace Git hosting ACL.

  • Grant lets collaborators fetch a hosted project key with their own gitl login
  • SaaS can record key-fetch events for hosted keys
  • Revoke stops future fetches; it does not instantly wipe cached keys or rewrite Git history

Authenticated encryption (AES-256-GCM)

Encrypted Git objects use AES-256-GCM. If ciphertext is truncated or tampered with, decryption fails closed instead of emitting plaintext or partial output.

  • AES-256-GCM authenticated encryption
  • Fail-closed Git filters
  • Does not claim FIPS, SOC 2, or HIPAA certification

Pluggable key providers

One encryption model with two key sources: a local Personal Provider, and an optional Server Provider for SaaS custody and grants. There is no Cloud HSM or Team KMS product.

  • Free Personal Provider
  • Optional Server Provider
  • SaaS is key custody, not zero-knowledge

Rotation without rewriting history

A new project key can protect new commits. Older Git objects stay encrypted with the key version that created them unless you re-encrypt separately.

  • Multiple key versions can coexist
  • Rotation does not rewrite Git history
  • Use rotation when a key may already be leaked

What GitLocker actually adds

Compared with leaving source in plaintext on a Git host, or with tools that only wrap files without a hosted grant path.

CapabilityGitLockerPlain Git remoteTypical git-crypt / GPG file crypto
What the Git host stores
Ciphertext blobs for encrypted paths
Readable source blobs
Ciphertext if you configure it
Integrity on decrypt
AES-256-GCM, fail-closed
Not applicable
Varies by tool and configuration
Key location
Local Personal Provider, or optional SaaS custody
No project key
Usually local keys only
Team access
Git ACL first; SaaS Grant for hosted keys
Git ACL only
Manual key sharing
Revoke / rotate
Emergency controls; no instant cache wipe; no history rewrite
Not applicable
Usually requires key redistribution or history rewrite
OPTIONAL SAAS

Hosted keys and grants when you need them

GitBraints SaaS is a convenience vault for project keys across repositories. It is not zero-knowledge, not a Cloud HSM, and not a replacement for Git hosting access control. Start with the free CLI; add SaaS when you want hosted keys and Grant.

Key custody across repositories

Keep project keys in the GitBraints account that owns the vault instead of copying key files between machines. SaaS can hold usable keys so fetch works after login.

Grant, not a second GitLocker login

Invite teammates, then grant fetch access to repositories already bound on the vault account. Members keep using their personal gitl login. Team is not a second CLI tenant.

QUESTIONS & ANSWERS

Frequently Asked Questions

Get answers to common questions about GitLocker

How do I install GitLocker?

Install the GitLocker CLI globally with npm: npm install -g gitlocker@latest. Node.js and npm are required. On Linux or macOS, a global install may need extra permissions unless your npm prefix points to a user directory; on Windows, run the command in PowerShell or Command Prompt. After installation, gitl is available on your PATH. Start with gitl init using the Personal Provider; no GitBraints account is required for that path.

How does GitLocker encryption work?

GitLocker encrypts selected files before they are stored in Git. Remotes and history keep ciphertext. After a successful checkout, your working tree is plaintext so editors and builds work as usual. Daily commands remain git add, git commit, and git push. Filter plumbing is not a daily user command.

Start with the free CLI

Install gitl, initialize with the Personal Provider, and encrypt selected paths on the Git host you already use. Add GitBraints SaaS later if you want hosted keys and team grants.

Install the free CLIOptional SaaS key hosting

Emergency revoke and rotate

Revoke stops future key fetches. Rotate issues a new active key for new work. Neither instantly clears cached keys, and neither rewrites Git history. Prefer Git ACL for ordinary offboarding.

Fetch audit events

SaaS can record who fetched a hosted project key. This is operational visibility, not a certified compliance report and not a claim of SOC 2, ISO 27001, HIPAA, or FIPS.

Is GitLocker zero-knowledge?

No. The Personal Provider keeps project keys on your machine, so GitBraints never sees those keys. GitBraints SaaS is not a zero-knowledge service: it can host usable project keys so you can grant access and fetch them from other machines. GitLocker also does not hide a working tree after checkout.

What can my Git host still see?

The host sees ciphertext blobs plus normal Git metadata: commit hashes, authors, timestamps, paths, and approximate sizes. It should not see readable contents of encrypted files. GitLocker does not hide repository structure.

Can I use GitLocker with an existing repository?

Yes. Initialize GitLocker, then encrypt selected paths. Encryption applies going forward. gitl encrypt does not rewrite older Git history into ciphertext by default.

What happens if I lose the project key?

With the Personal Provider, GitBraints cannot recover a lost local key. Keep an offline backup. With SaaS Server Provider, recovery depends on still being able to sign in to the account that holds the hosted key. SaaS hosting is a convenience, not a second copy of Git history.

Does revoke instantly stop decryption?

No. SaaS revoke stops future key fetches for that project key. It does not instantly erase keys already cached on a machine, and it does not rewrite Git history. For private repositories, remove Git hosting access first. Use revoke or rotate when ciphertext is widely cloneable or a key is known to be leaked.

Does key rotation rewrite Git history?

No. Rotation replaces the active project key for new work. Older commits encrypted with a previous key version may remain decryptable until you run a separate re-encryption workflow. Rotation limits future exposure; it is not an automatic history rewrite.

Do I need a paid plan or a team seat to decrypt?

No. Encryption and routine collaboration depend on Git hosting permission plus the project key (local, or a SaaS grant). Product seats are billing and plan-limit containers. They are not a required encryption layer.