GitHub is convenient, but many developers prefer platforms that keep their data out of large commercial ecosystems. Below is a concise guide to the most popular privacy‑respecting Git hosts, followed by a practical “how‑to” section that shows the same Git commands work across all of them.
- Overview of Privacy-Focused Git Hosting Options
| Platform | Core Privacy Features | Open‑Source? | Primary Hosting Region | Typical Use‑Case |
|---|---|---|---|---|
| NotABug | No mandatory analytics; run by a non‑profit; GDPR‑compliant. | Yes (built on Gitea) | Germany (EU) | Small‑to‑medium open‑source projects. |
| GitLab (self‑hosted) | Full control of data on your own server; telemetry disabled by default; optional encryption at rest. | Yes | Anywhere you deploy (cloud or on‑prem) | Enterprises or teams that need full CI/CD, issue tracking, and private repos. |
| Gitea | Lightweight, stores everything locally; no forced data collection. | Yes | Anywhere you deploy. | Simple repos, low‑resource environments. |
| SourceHut | Minimalist design; no tracking cookies; optional self‑hosted deployment. | Yes | Primarily US‑based servers, but can be self‑hosted. | Developers who prefer a text‑centric workflow. |
| Codeberg | Operated by the non‑profit Codeberg e.V.; GDPR‑compliant; no ads or analytics. | Yes | Germany (EU) | Public open‑source projects with a community‑run host. |
| Bitbucket Server (self‑hosted) | Runs behind your firewall; data never leaves your infrastructure; optional encryption. | No (proprietary) | On‑premises or private cloud. | Larger organizations already using Atlassian tools. |
| GitKraken Glo Boards + Self‑Hosted Git | End‑to‑end encryption; no cloud telemetry when self‑hosted. | No (proprietary UI) | On‑premises. | Teams that want a visual board integrated with private Git. |
Choosing the right service:
- Full data control: Self‑hosted GitLab, Gitea, or Bitbucket Server.
- Community‑run SaaS: NotABug, Codeberg, SourceHut.
- Lightweight footprint: Gitea or SourceHut.
- Enterprise integration: Bitbucket Server or GitKraken self‑hosted.
- Common Git Workflow (Works Everywhere)
All of the platforms above expose the standard Git HTTP and SSH endpoints, so the same commands you use with GitHub will work unchanged. Below is a step‑by‑step example that you can apply to any of the hosts.
2.1 Clone a Repository
HTTPS (works for every host)
git clone https://
SSH (recommended for write access)
git clone git@
Example URLs:
- NotABug HTTPS: https://notabug.org/alice/project.git
-
NotABug SSH: git@notabug.org:alice/project.git
- GitLab (self‑hosted) HTTPS: https://gitlab.mycompany.com/alice/project.git
-
GitLab SSH: git@gitlab.mycompany.com:alice/project.git
- Gitea HTTPS: https://gitea.example.com/alice/project.git
-
Gitea SSH: git@gitea.example.com:alice/project.git
- SourceHut HTTPS: https://git.sr.ht/~alice/project
-
SourceHut SSH: git@git.sr.ht:~alice/project
- Codeberg HTTPS: https://codeberg.org/alice/project.git
-
Codeberg SSH: git@codeberg.org:alice/project.git
- Bitbucket Server HTTPS: https://bitbucket.mycorp.com/scm/alice/project.git
-
Bitbucket SSH: ssh://git@bitbucket.mycorp.com:7999/alice/project.git
- GitKraken HTTPS: https://gitkraken.mycorp.com/alice/project.git
- GitKraken SSH: git@gitkraken.mycorp.com:alice/project.git
2.2 Typical Development Cycle
Stage changes: git add
All commands are identical regardless of the host because the underlying protocol is the same.
- Authentication Details per Platform
| Platform | HTTPS Auth | SSH Auth |
|---|---|---|
| NotABug | Personal Access Token (PAT) generated in user settings. | Public key added in Settings → SSH Keys. |
| GitLab (self‑hosted) | Username + PAT or LDAP credentials. | SSH key added under User Settings → SSH Keys. |
| Gitea | PAT or basic auth (if enabled). | SSH key uploaded in Settings → SSH Keys. |
| SourceHut | PAT (named “API token”). | SSH key uploaded via authorized_keys on the server (self‑hosted) or via web UI for public instance. |
| Codeberg | PAT generated in Settings → Applications. | SSH key added under Settings → SSH Keys. |
| Bitbucket Server | Username + App password (or LDAP). | SSH key managed in Personal Settings → SSH Keys. |
| GitKraken (self‑hosted) | Username + password or PAT from the admin console. | SSH key added in the GitKraken admin UI. |
Tip: store the PAT in a credential helper (git config --global credential.helper store) to avoid repeated prompts.
- CI/CD Integration
| Platform | Built‑in CI/CD | External CI (e.g., Drone, GitHub Actions) |
|---|---|---|
| NotABug | No native CI, but integrates easily with Drone (configured via .drone.yml). |
|
| GitLab (self‑hosted) | Full‑featured GitLab CI/CD pipelines. | |
| Gitea | Optional Gitea Actions or external Drone/compatible runners. | |
| SourceHut | Minimalist build pipelines defined in .build.yml. |
|
| Codeberg | No native CI; can hook to external services like Drone or GitHub Actions via webhooks. | |
| Bitbucket Server | Uses Bamboo or other self‑hosted CI tools. | |
| GitKraken (self‑hosted) | Integrated Glo Boards + optional external CI via webhooks. |
The workflow remains the same: push a commit, CI detects the change, runs jobs, and reports status back to the repository UI.
- Quick Reference Cheat Sheet
Clone (HTTPS)
git clone https://
/ / .git
Clone (SSH)
git clone git@
: / .git
Create a new branch
git checkout -b my-feature
Push branch and set upstream
git push -u origin my-feature
Open a PR/MR on the web UI of the host
Pull latest changes
git pull origin main
Merge a remote branch locally
git fetch origin
git merge origin/other-branch
Replace <host> with one of:
- notabug.org
- gitlab.mycompany.com
- gitea.example.com
- git.sr.ht
- codeberg.org
- bitbucket.mycorp.com
- gitkraken.mycorp.com
- Final Thoughts
All of the listed privacy‑focused alternatives expose the standard Git protocol, so you never need to learn a new set of commands. Choose the service that matches your privacy requirements, hosting preferences, and feature needs, then follow the same familiar Git workflow shown above.
References
-
NotABug. (2025). NotABug – free, open‑source Git hosting.
https://notabug.org -
GitLab. (2025). GitLab – self‑hosted DevOps platform.
https://about.gitlab.com -
Gitea. (2025). Gitea – painless self‑hosted Git service.
https://gitea.io -
SourceHut. (2025). SourceHut – a collection of open‑source tools for software development.
https://sourcehut.org -
Codeberg. (2025). Codeberg – community‑run Git hosting in Germany.
https://codeberg.org -
Bitbucket Server. (2025). Bitbucket Server – self‑hosted Git solution by Atlassian.
https://www.atlassian.com/software/bitbucket/server -
GitKraken. (2025). GitKraken Glo Boards & self‑hosted Git.
https://www.gitkraken.com -
DuckDuckGo. (2025). Duck.ai privacy policy.
https://duckduckgo.com/duckai/privacy
Figure 1. Git logo (black). Created by Jason Long, 1 May 2012. Source: own work using the official Git logos (http://git-scm.com/downloads/logos).