Philosophy

One belief. Every decision traces back to it.

We get asked why Klaros looks the way it does. Why there's no marketplace. Why every deployment stands alone. Why we sometimes ship less than competitors, on purpose. Why we say no to ideas that would make the comparison table look stronger. None of those are separate decisions. They all come from the same belief.

K First written July 2026. We append when our thinking changes. We'd rather leave the record than pretend we always knew better.

Own the relationship. Everything else follows.

The belief

Meta owns the messaging pipe. Every WhatsApp product, including Klaros, depends on it. The interesting question isn't how to sit on top of that pipe. It's what a business should still own when someone else owns the infrastructure.

Our answer is simple: the relationship.

Not just the messages. The history. The context. The consent. The memory. The ability to understand who someone is before a conversation even begins. The freedom to change how the business works without discovering, too late, that the software has quietly become the thing standing in the way.

  • The API isn't the belief.
  • Self-hosting isn't the belief.
  • Hosted deployments aren't the belief.
  • Zero markup isn't the belief.
  • Exporting everything isn't the belief.

Those are consequences, of believing the relationship belongs to the business, not to the platform.

Believe that, and certain decisions stop feeling optional:

  • You don't hide messaging costs behind a markup.
  • You don't make leaving artificially difficult.
  • You don't ask a business to rebuild itself around your software.
  • You don't mistake convenience for ownership.

The features will change. The roadmap will too. Even this page will. But if a future decision would weaken a business's ownership of its own customer relationships, it probably doesn't belong in Klaros.

The clearest expression of this

The relationship doesn't start when the software notices it.

Most business software's memory of a customer starts the moment a record gets created: a lead form, a support ticket, a first invoice. Everything before that is invisible to the tool, even though the business already knew that person.

Klaros doesn't start there. The people your business already knows, the ones with real history on WhatsApp before any deal existed, are exactly the people the professional side of the business needs context on. So when a personal contact becomes a business conversation, Klaros carries the history forward, who they are, how you're connected, what's already been said, instead of opening a blank thread and asking them to start over.

That's not a feature. It's a different belief about when a relationship actually begins.

Where this actually shows up

Not as a slogan. As specific, checkable product decisions.

Zero markup

Meta bills you directly, at Meta's own rate. We don't sit on the messaging cost as a hidden percentage.

Self-hosted, single-tenant

Every deployment is one business's own instance. Your data never sits in a shared pool with anyone else's.

A full API, not a locked dashboard

Every action the dashboard can take, a scoped key can take too. The interface is one client of the API, not the only one.

Consent as a ledger, not a checkbox

Every opt-in and opt-out is recorded with evidence and a source, because "we have consent" should be provable, not just claimed.

Export, always

Contacts, conversations, media, cost history. If you leave, you leave with everything, not with a support ticket.

The forks we hit

Building this surfaced real tensions. Each one had a version of the answer that would have made Klaros look more like the rest of the market. We took the other path, on purpose, for a reason we can state plainly.

1

Platform, or product?

The pitch is flattering and we've heard it more than once: become the Shopify or Stripe of WhatsApp. A marketplace, third-party apps, an SDK other developers build against. We looked at it seriously.

We didn't take it, for a structural reason rather than a lack of ambition. Shopify and Stripe work because they're multi-tenant: one shared system that many businesses and developers build on top of. Klaros is single-tenant on purpose, every deployment isolated, so a customer's data, consent ledger, and conversations never sit in shared infrastructure with anyone else's. A marketplace of third-party apps running across every deployment needs the opposite of that, and building it would mean trading away the exact thing we promise.

What we chose: we could build toward a marketplace, but we won't back into one as a roadmap line item. If it ever happens, it will be a deliberate re-architecture we decide to make, weighed against what it costs the sovereignty promise, not something that arrives quietly through a feature request.
2

Breadth, or depth?

Every WhatsApp platform converges on the same list eventually: inbox, broadcast, templates, AI, analytics, flows. As Meta standardizes the messaging layer underneath, that list keeps getting commoditized. We could spend the next year matching it feature for feature, a visual bot builder, checkout, a native app, an integrations marketplace, and land exactly where everyone else already is.

We'd rather understand the business behind the messages than accumulate every feature a competitor already shipped. That's the bet: depth for a business that wants to own the relationship, over breadth for a business that just wants a shorter feature gap to close.

What we chose: some requested things get built later, some as an optional add-on, and some not at all, when building them would mean the core has to become opinionated about a kind of business it doesn't actually serve.
3

Configurability, or discipline?

Most software slowly gets harder to change. Every one-off customization makes the next upgrade a little riskier, until a business has to choose between staying current and keeping what makes it different, or paying a services team to reconcile both.

We hold a smaller, harder rule to stay out of that trap. The shared core stays identical for every customer. Anything customer-specific lives outside it, in a separate layer with a small, named set of places it's allowed to plug in. If a request doesn't fit one of those, the honest answer is that it doesn't belong in the product yet. We don't bend the core to fit it.

What we chose: the discipline of refusing to solve one customer's request by modifying the shared core. That's a much harder rule to keep than it is to write down, and it's the one we intend to hold.
4

Hosted, or self-hosted?

People often assume hosted means easier but less yours, and self-hosted means yours but more work. We don't think that has to be true, and structurally, for us, it isn't. Every Klaros deployment is single-tenant whether we run the instance for you or you run it yourself.

What we chose: hosted changes who operates the isolated instance. It doesn't change what you own inside it. The deployment is a preference. The belief doesn't move.

What's still ahead, said plainly

The system that lets us customize per customer without forking the core is real, and it's still narrow. It grows when a real case needs it, not ahead of one, and we'd rather say that plainly than promise more than it does today.

We also don't have a visual workflow builder, a checkout experience, a native mobile app, or an integrations marketplace. None of those are accidents. Some are genuinely on the roadmap. Some we've decided not to build, because they'd serve a different kind of customer than the one this product is for. The specifics, including what we've explicitly ruled out, are on the roadmap page.

A direction, not a doctrine

Everything above is where we stand today. It isn't a permanent map.

The belief, own the relationship, everything else follows, isn't up for negotiation. Which fork matters more, how fast the customization layer grows, whether a request becomes a core capability or a polite no, that part is earned by evidence, not decided once in a planning meeting and defended forever after.

The evidence we actually watch: who shows up and asks for Klaros by name, what they still use every day six months in, what they'll pay more for even when a competitor matches the basic feature list. If that keeps pointing at the technical, ownership-minded business this page assumes, this page holds. If it points somewhere else, that's real signal about who we should be building for, and we'd rather follow it in public than quietly keep a roadmap that no longer matches our customers.

So read this less as doctrine and more as a truce: our current best answer, openly revisable, and never revised just because one loud request wants a shortcut around it.

Want the next one of these on WhatsApp?

We write about how we think, not just what we shipped. Opt in and we'll send the next one there, nowhere else, because that's the channel this whole page is about. One tap to join, reply STOP any time and we'll never message you again, the same rule we hold every contact of yours to.

None of this was inevitable. Every fork above had a version of the answer that would have made Klaros look more like everything else already out there. Each one, looked at closely, comes down to the same test: does this let a business own the relationships that happen on WhatsApp, or does it quietly take them away.

Own the relationship. Everything else follows.