Pricing that reads like the product

There is one plan table in the codebase and this page is rendered from it, so what you read here is what a licence covers. None of it gates a report: the software keeps working past every number below, because a reporting tool that goes dark over a billing state is one nobody can rely on.

Every plan includes the builder, the auto-created reports, the integrations and the API. Plans differ in volume and distribution, not in whether the product works.

Questions worth answering honestly

What counts as an application?

One installation of the package: one codebase, one database, one licence key. A staging copy of the same application does not count, and neither does a second environment. If you run three products, that is three applications.

What happens if I go over?

Nothing stops working. The licence is checked offline and nothing here can blank a dashboard, so an application over its allowance keeps reporting on its own data exactly as before. We will ask you to move up a plan, which is a conversation rather than an outage.

Why not price per event, or per seat?

Per event died with the hosted collector. Your data never reaches us, so there is nothing on our side to count, and metering your database from outside it would mean this tool reporting on how much you sell. Per seat would need the package to know who signs in to your application, which means reaching into your auth and keeping a count of your staff. Neither is something a reporting tool should do.

Do you see any of my data?

No. The package runs inside your application, queries your database in place, and renders in your own browser. There is no ingest endpoint and no phoning home, including for the licence check. You can read the licence class; it opens no sockets, and a test asserts that.

What about self-hosting?

That is the only shape there is. The package is the product, it runs on your servers, and a licence is what you are buying rather than access to somewhere. Leave the key unset and every limit on this page falls away.

Do I have to write tracking calls?

No. The package reads the models you already have. Point it at an order, a customer, a subscription, and it reports on them where they sit, so there is nothing to instrument and nothing to keep in step with your schema.

Start on Free

application, unlimited reports, no card, and the same builder everyone else gets. Describe one model and the first block draws from rows you already have.

Create an account