← All posts Perspective

Why We Don't Have Feature Tiers

Why We Don't Have Feature Tiers

This week we deleted the price calculator from our own pricing page.

It worked fine. You dragged a slider to your headcount and it gave you the number, and behind it sat a rule we were rather pleased with: the moment a capacity package costs less than counting heads one by one, the package takes over and you get the better price without having to ask. There is a test in the backend that fails if the page and the pricing engine ever disagree by a cent.

We cut it anyway. If you need a calculator to work out what software costs, the pricing has already lost. (The slider was genuinely satisfying to build, which is probably why it survived as long as it did.)

What was left when the slider came out was a single line. You pay for how many people use Cordango. That is the whole axis. There is no second question about which features you want, because there is no version of Cordango with fewer of them.

The upgrade button

For twenty years, software pricing has been built the same way. Three columns, checkmarks going down, and the things you need most sitting one column to the right of where you are.

Want another feature? Upgrade. Need to connect your directory so people sign in with their work account? Upgrade. Want an audit trail, or permissions that go past "admin and everyone else"? You know the answer.

The clearest case is single sign-on, and somebody has been keeping score. sso.tax has been at it for years, documenting well over a hundred vendors and what they charge to let you use your own identity provider. Some of it is genuinely absurd. Railway goes from $20 to $2,000. Mixpanel, in an entry logged back in 2023, from $20 a month to $833.

The mainstream ones are the more telling ones, because nobody calls them outrageous. GitHub is $4 per user a month on Team and $21 on Enterprise, and SAML sign-in lives on Enterprise. A five-person shop that wants its developers signing in through the company directory pays more than five times as much for every seat. That extra 17 dollars a seat does not buy a better GitHub. It buys the login those five people should have had on the first day.

The quiet version is worse than the absurd one. A 25-person company under that pricing does the maths, decides SSO is not worth quintupling the bill, and carries on with 25 separate passwords and a leaver checklist somebody has to remember to run. The pricing worked exactly as designed. It just made a small company less secure.

The argument that used to hold

The defence for tiers was always cost. Enterprise features took years of engineering, so enterprise customers paid for those years. That was a fair deal when it was true.

And sometimes it still is. Some features take serious engineering. A real permission model that holds under load, an audit trail you can stand behind in an incident, data residency with an actual legal answer underneath it. Those are months of careful work and they stay months.

Others take an afternoon with Claude.

That was going to be the whole post. Building software got cheaper, so pricing built on how expensive it used to be should follow. We wrote most of a draft on that argument before noticing it is weaker than it sounds.

Because SSO was never expensive enough to explain some of the prices attached to it. OIDC has had mature libraries for years. Supporting identity properly still takes engineering, testing and maintenance, and it still takes support calls when somebody's directory behaves oddly, but none of that explains a 5x, 10x or 100x jump in the customer's bill.

The price often had very little to do with what it cost to build. It had much more to do with what it cost the customer to refuse, and a compliance requirement is the one thing a buyer cannot negotiate their way out of.

So AI did not break feature pricing. It removed the last excuse for it. The gap between what a feature costs to build and what it is billed at has been visible for years, and now it is visible to the customer too, because the customer has also watched Claude build something in an afternoon. That is a harder room to sell three columns to.

What we actually charge for

We should be straight about this, because "everything is included" only means something if you know what is paying the bills.

The expensive part of Cordango was never any individual feature. It is the floor underneath them: one identity, one permission model that the platform enforces rather than each app reimplementing, one audit trail across every app, German hosting, backups, and a runtime that keeps apps working when the definition behind them changes. That does not get cheaper as AI gets better. It gets more important, because when anybody can generate an app in an afternoon, the number of apps holding company data goes up fast, and the only thing standing between that and a mess is whether they all inherit the same governance.

So you pay for people. One person is free and stays free. After that the price follows how many humans are in there, and every one of them gets the same platform the largest customer gets.

The one line that moves with usage is AI, because tokens are a real cost we pay per call rather than a checkmark in a column. It is metered separately on every plan, bought up front so nothing surprising lands at month end, and if you put your own provider key in we charge nothing for it at all.

Real running costs are real, and we are not pretending otherwise. Storage costs storage. A per-message fee is a per-message fee. Tokens are the version of that we pay ourselves, every time somebody asks Cordango to build something. What we object to is the packaging. If a thing costs money to run, price that thing at what it costs. Do not use it as the excuse to move a customer up a step where forty unrelated features and a much larger invoice are waiting.

The rule, written down

Feature tiers are the natural consequence of selling a product that has to look bigger than the competitor's on a comparison table. We are not immune to that pressure. We are just early enough that nobody has asked us for the checkmark yet, which makes this the right moment to write the rule down rather than the convenient one.

There will never be a higher Cordango plan that unlocks features. No Pro, no Business, no Enterprise step with the security in it. Everyone is on the same platform with all of it switched on, and the only thing that moves the bill is how many people are using it.

The one exception is narrow and we will keep it narrow. If something costs us real money every single time it runs, the way AI tokens do, it gets priced as itself: a small fee for that specific feature, metered honestly, and you can leave it turned off. It will never be the reason your whole account has to move into a plan five times more expensive than the one you are on, carrying thirty other things you did not ask for.

Sign-in through your own directory, permissions, audit history, the REST API, the MCP server. None of those are moving into a higher plan, because there is no higher plan for them to move into.

We think tiered pricing is a thing of the past and it should stop. It is easy to say that at our size, which is exactly why it is worth putting in writing now, while it would still cost us something to break.

If you want to see what that looks like with your own people in it, get early access. Bring the tool whose renewal is annoying you most.

See Cordango in your own company

The fastest way to understand it is to watch it stand up a company and add an app live.

Get early access →

Related posts

Paying 100% for the 10% You Use
Perspective · 6 July 2026

Paying 100% for the 10% You Use

Most tools in your stack get used for one or two things and billed like you use all sixty. There is a way to buy only the part you actually need.

Read →
Cordango Was Not Built in Ten Weeks
Perspective · 14 September 2026

Cordango Was Not Built in Ten Weeks

The first commit in this repository says 1 July 2026. The oldest code inside it was published in March 2022, under a different name, for a different reason. A note on the part of a product that never shows up in the git history.

Read →