The platform is inside the trust boundary.
Access controls protect you from other users. They do not remove the host, its employees, its tokens, or its internal services from your source-code threat model.
Private repositories should be private from the platform, too. HushGit encrypts code and review data on trusted devices before upload, so the server stores ciphertext—not your source.
Private alpha · every request is reviewed by a human
Traditional hosts hide code from other users, but the infrastructure that stores, indexes, reviews, and serves it can still read every byte.
Access controls protect you from other users. They do not remove the host, its employees, its tokens, or its internal services from your source-code threat model.
Copied source gives attackers permanent time to study auth paths, service boundaries, CI conventions, tests, and forgotten code that may still run.
Subpoenas, warrants, foreign jurisdictions, and NSLs do not require your cooperation if the platform already holds both ciphertext and keys.
May 2026 · GitHub internal repositories
GitHub says it is investigating unauthorized access to internal repositories after an employee-device compromise involving a poisoned VS Code extension, with no evidence that customer repositories were affected. The distinction matters—and so does the permanent value of copied platform internals.
Read GitHub’s updateMarch 2026 · CVE-2026-3854
GitHub validated and fixed the git push pipeline RCE quickly and reported no customer-data exfiltration beyond researcher testing. The architectural lesson remains: a server that can read private repositories makes readable source part of the blast radius.
Read GitHub’s postPlaintext lives on trusted devices and customer-controlled runners. Everything that crosses the host boundary is signed ciphertext.
Keys
A symmetric key per repository, wrapped to each member’s device keys. Membership changes and rotation stay signed and auditable.
Review
Diffs are computed by your client. Comments, threads, and approvals are readable to your team and opaque to the platform.
Proofs
Trusted reads are checked against signed checkpoints, witness quorum, subject proofs, private openings, and local pins.
CI
Code is decrypted only on compute you control. HushGit does not place readable source in a managed build worker.
A threat model earns trust by being explicit about its edges. These are the promises HushGit makes—and the ones it does not.
An attacker gets ciphertext blobs. Repository contents remain unreadable without device keys.
Repository keys never touch HushGit servers. Decryption stays in signed native clients.
Pure-web clients remain vulnerable to malicious JavaScript from a compromised origin. Use the signed desktop app or CLI for sensitive repositories.
Witnessed checkpoints and local pins make hidden forks detectable unless the attacker also defeats the witness quorum or permanently isolates the client.
CI must decrypt to build. HushGit therefore supports customer-controlled runners only.
A collaborator who legitimately had a repository may retain it. Rotation protects future content, not past access.
A buyer in this audience is mentally building this table anyway. We'd rather build it for you, honestly, with the rows you actually care about.
| Capability | Us HushGit | GitHub Private | GitLab self-managed | git-crypt | git-remote-gcrypt | Keybase Git | GitCellar |
|---|---|---|---|---|---|---|---|
| Confidentiality | |||||||
| File contents encrypted at rest, end-to-end | yes | no | no | yes | yes | yes | yes |
| Commit messages, refs, branch names encrypted | yes | no | no | no | yes | partial | yes |
| PR / code review encrypted end-to-end | yes | no | no | n/a | n/a | n/a | n/a |
| Review comments & threads encrypted | yes | no | no | n/a | n/a | n/a | n/a |
| Trust model | |||||||
| Server can decrypt your code | no | yes | yes | no | no | no | no |
| Provider staff have technical read access | no | yes | partial | no | no | no | no |
| Survives a backend RCE | yes | no | no | yes | yes | yes | yes |
| Subpoena yields readable code | no | yes | yes | no | no | no | no |
| Witnessed split-view defense for hosted state | yes | no | partial | n/a | n/a | partial | no |
| Workflow | |||||||
| Incremental push (no force-push on history) | yes | yes | yes | yes | no | partial | partial |
| Modern PR review UI | yes | yes | yes | no | no | no | no |
| Built-in key rotation & revocation | yes | yes | yes | partial | no | partial | partial |
| Audit log of access changes | yes | yes | yes | no | no | no | no |
| CI / build | |||||||
| Source code leaves your control for CI | no | yes | partial | n/a | n/a | n/a | n/a |
| Customer-controlled runners only (by design) | yes | no | partial | n/a | n/a | n/a | n/a |
| Transparency | |||||||
| Proof-bearing API responses and offline evidence | yes | no | partial | n/a | n/a | partial | no |
| Release / web build transparency | partial | no | partial | partial | partial | no | partial |
| Warrant canary | yes | no | no | n/a | n/a | partial | n/a |
※ git-crypt, gcrypt, and the public GitCellar crypto repo are encryption building blocks rather than full code platforms — review, collaboration, and access management still happen elsewhere on your unencrypted code. We score them ✓ where they apply and "—" where the row is out of scope. Keybase Git pairs E2EE git with a Merkle tree anchored to a public blockchain, so it earns ◐ on split-view detection; HushGit differs by using an independent witness quorum and proofs bound to live repo and account state rather than a single self-published log.
HushGit is designed for small, security-conscious teams who value a narrow trust boundary more than an endless marketplace of server-side integrations.
Model code, training pipelines, and evaluation harnesses—the IP your company is built around.
Signing logic, custody flows, and trading strategy where a source leak can become a live exploit.
Dual-use software, autonomy stacks, and export-sensitive projects that demand a smaller read path.
Healthcare, finance, and legal-sensitive code where a host incident becomes a board-level event.
A “private repository” is still readable to the infrastructure that stores and serves it. Platform source exposure gives attackers a durable map of that infrastructure. HushGit removes the server from your source-code read path.
We are a small security-focused team building zero-knowledge Git as a product, not a paper. No managed CI ambitions. No machine learning on your code. No hidden plaintext persistence.
Clear answers about keys, clients, CI, recovery, and failure modes—before you trust us with a repository.
No. git-crypt encrypts selected files, not metadata, refs, commit messages, or PR review state. We encrypt the whole workflow.
gcrypt works but treats every push like a force-push and re-uploads on history growth. We use modern E2EE-Git constructions with incremental, content-addressed encryption.
GitCellar's public repo is a crypto/chunking library for backing up Git bundles. We specify a full hosting protocol: signed event log, witnessed transparency proofs, encrypted PR review, browser/native authority split, and customer-controlled CI runners.
Current server-backed state is verified against witnessed checkpoints, subject-map proofs, private openings, and local pins. A hidden split view needs witness-quorum failure, witness rollback, or permanent isolation from honest monitors and peers.
Self-managed deployment comes after the cloud alpha. The crypto is the same either way; we don't have keys in either deployment.
No. CI has to decrypt source code to build it, so HushGit integrates with customer-controlled runners instead of hosted build workers.
Not on roadmap. Sending your code to a model provider would defeat the entire point.
Per-seat, per-repo, with a free tier for small teams once we exit alpha. Founders get grandfathered pricing.
Private alpha
Tell us where today’s private repository model falls short. We review every request and write back personally.
No marketing list · no automated sequence · no telemetry