Pricing that does not punish collaboration
Per-seat pricing creates perverse incentives. We charge per organization.
Most git hosting platforms charge per user. The more people on your team, the more you pay. This sounds reasonable until you think about the incentives it creates.
The per-seat problem
Need a contractor for two weeks? That costs you a seat for the month. Want a junior developer to shadow a senior? That costs you a seat. QA engineer needs read access to verify a fix? Another seat. Someone from the security team needs to audit the code? Another seat.
Per-seat pricing turns every access decision into a cost decision. Managers start gatekeeping access not because of security, but because of budget. The result is that people who should have access to code do not, and the team works around the restriction with shared credentials, screenshots, and copy-pasted snippets.
How gittan charges
gittan has three plans: Personal, Starter, and Team. All charge a flat monthly fee per organization. The limits are on resources, not people: CI minutes and storage. These are the things that actually cost us money to provide. Authenticating an additional user costs us nothing, so we do not charge for it.
Personal at €9/month gives you 100 CI minutes and 2 GB storage — enough to evaluate the platform or run a small project. Starter at €59/month is for teams getting started: 2,000 CI minutes, 20 GB storage, and AI-powered code review and security scanning. Team at €349/month is for teams that ship daily: 10,000 CI minutes, 100 GB storage, org policies, and deploy hooks.
Capacity blocks, not overage fees
On the Team plan, if you need more than what is included, you add capacity blocks. Each block is €149 and adds 10,000 CI minutes and 10 GB storage. You set a spending cap — the maximum you are willing to spend per month — and the system never exceeds it. When your cap is reached, pipelines pause until the next billing cycle.
This is not an overage fee. Needing more capacity means your team is shipping more, and that is a good thing. You choose how much headroom you want, and you are never surprised by a bill.
Usage alerts and quota enforcement
gittan sends email warnings when your org approaches its CI minutes or storage limit. You get a warning at 80% and again at 95% of your effective limit (base plan plus any capacity blocks). Each alert fires at most once per month per threshold — you are not spammed on every push.
When you hit the limit, pipelines are rejected before they run. The push fails with a clear message: "CI minutes quota exceeded" or "Storage quota exceeded" showing your current usage and limit. This is a pre-check — no CI time is consumed on a rejected push. On the Team plan, add a capacity block or raise your spending cap to resume immediately. On other plans, upgrade or wait for the next billing cycle.
CI minutes are worth more here
A common reaction to our pricing is that 10,000 CI minutes sounds like less than GitHub's included minutes. But our minutes are not equivalent. A pipeline that takes 10 minutes on GitHub Actions might take 3 minutes on gittan because we pre-pull images, use warm runners, and execute steps in parallel via a DAG.
You are not paying for wall-clock time spent provisioning infrastructure. You are paying for time spent running your code. That is a meaningful difference.