Open source, the whole delivery path.
Pre-alpha: the code is not usable yet, it publishes when the beta opens
A sovereignty promise you cannot verify is just a marketing claim. So the part of Palumb that receives, orchestrates and delivers your notifications is licensed AGPL-3.0, and the SDK you import into your own application is MIT, permissive on purpose, because a copyleft licence on a library you link is a question your legal team should never have to ask.
Those licences are settled. The repositories are not public yet: the code is pre-alpha, not usable today, and it publishes when the beta opens. What the licence already decides is the part that matters: nothing in the delivery path is ours to withhold.
That is what makes the managed service an option rather than a dependency: if we disappear, raise prices, or get acquired by someone in another jurisdiction, you keep running.
The open part is the whole delivery path
Open core earns a bad name when the open part is a demo and the useful part is behind the licence. Ours splits on a different axis: the open part is the whole delivery path, and the closed part is only what makes it a SaaS.
Open: AGPL-3.0
- The core: ingress, authentication, subscribers, topics, delivery orchestration, the durable workflow engine, the email sender.
Everything that actually delivers your notifications. Self-host it and you owe us nothing.
Open: MIT
- The SDK you use to define workflows and trigger them, the library that lives inside your own codebase.
Permissive on purpose: a copyleft licence on a library you import is a question your legal team should never have to ask.
Proprietary
- The multi-tenant barrier: tenant registry, API-key issuing, provisioning and billing.
- The parts that exist only because we run this as a service for many customers.
None of it is needed to run Palumb yourself. That is the test we hold ourselves to.
Same code, both ways
The managed service runs the same core you would self-host: one codebase, one licence. Self-hosting means three things to keep alive: the application, Restate for the durable runs, and Postgres. You supply the sending provider yourself, exactly as you would with us.
We are not going to pretend that is hard, and we are not going to make it hard on purpose: an exit nobody can take is lock-in wearing a different coat. The honest reason to let us run it is the other one: three services still have to be upgraded, backed up, watched and woken up at night, and that bill arrives every month whether or not the stack is simple. It is the same trade we make as buyers: our own error tracker ships as a self-hostable product, and we pay for the hosted one.
What stays yours
Your workflows
notifications/order-placed.tsIn your git repository. Versioned, reviewed, diffable. We keep no copy: we call your deployment and deliver what it returns.
Your templates
invoice.tsxWhatever engine you already use. There is no Palumb template system, so there is nothing to migrate off.
Your providers
SMTP_HOST=…Your server, your API keys, your sending reputation. Palumb has no sending capacity of its own.
The engine itself
AGPL-3.0The whole delivery path is published. Self-host it and you owe us nothing.
What you take on
Running it yourself
The machines, the upgrades, the backups, the monitoring, and whatever breaks at three in the morning.
Everyone who joins gets in, and it costs nothing. Your invite goes out when the beta opens.
Join the beta