The deny-by-default egress judge
Say what it may reach. Sign it. Then refuse the rest.
A manifest declared at build time and signed. Every outbound action judged against it at runtime, and every decision written into a chain that verifies offline.
Source available (BUSL‑1.1, Apache‑2.0 in 2030) · keyed BLAKE3 · optional Ed25519 for an auditor
What it is
An allowlist is only worth what signed it.
Everybody writes down which endpoints their workload is allowed to call. Almost nobody can show, afterwards, that the list in force was the list they approved.
Pimatika takes the list, requires it to be signed, and refuses to start without it. From then on every outbound action is checked against that exact document — and the document's digest travels inside every decision it produces.
The name is Lingala: pima, refuse; tika, allow. In that order, because the default is refusal.
The manifest
A build-time document, and a human has to finish it.
Each permitted target names more than a host: which methods, how large a payload, which data class, and what for. A draft that still says HUMAN_REQUIRED is refused at load.
Deny is not a default you can change
The manifest's egress policy must read DENY. Anything else and the file does not load — there is no permissive mode to slip into.
Purpose is part of the match
A target allowed for telemetry is not allowed for exporting customer data. The purpose and the data class are compared, not decorative.
Signed, and verifiable by an outsider
Keyed BLAKE3 by default, with an optional Ed25519 signature so an auditor can verify it without holding your secret.
The refusal
Every denial says which denial it is.
Not "blocked". A named value a gate can branch on and an auditor can count — and the prose beside it may be reworded without breaking either.
The last one is the interesting one. An action that was allowed but whose record could not be written is denied anyway. A permission nobody can prove was granted is worth less than a refusal.
Credentials never reach the record. A target carrying a user, a query string or a fragment is stripped before it is written or reported.
The record
Every decision, chained where it was made.
Allowed and denied alike. Each entry is linked to the one before it, signed, and carries the digest of the manifest it was judged against.
The chain is a Litatoli chain, so it verifies with the same open tooling as everything else in the house — offline, with no server in the loop and no permission from us.
Behaviour that drifts from the signed intent is accumulated and raised as a proposal rather than a silent block. Two escalation levels ship in the open engine; the tuned production thresholds are the paid part.
Limits
What Pimatika cannot do, in its own words.
This product sells refusals. It would be a poor advertisement for itself if it were vague about its own.
It is a judge, not a proxy
It never carries the request. It answers allowed or denied, and the host process is what honours that answer.
Version 1 is cooperative
Enforcement happens at the call site. A program that goes around the API can still open a socket — kernel-level impossibility is version 2, not a claim today.
Names, not addresses
Targets are matched as exact strings. DNS pinning is out of scope in v1, and a redirect is a new target the caller must submit again.
Run it under NaZelo and the cooperative limit narrows: the sandbox gives the workload a network of its own, so what it may reach stops depending only on it asking politely.
Pricing
Per organisation. Not per decision.
A judge asked to price each judgement is a judge somebody switches off on the busy day. The estate is the unit, as it is for the sibling engines.
Prism
- The engine and the CLI
- Sign and verify your own manifests
- The full decision record
- Drift levels one and two
Alchemy
- Everything in Prism
- Managed signing and key rotation
- Tuned drift thresholds
- The export an assessor reads
Harmony
- Everything in Alchemy
- Fleet — which manifest each workload is running
- Industry manifest templates
- Team scoping
Sovereignty
- Everything in Harmony
- Dedicated deployment in your region
- Custom SLA
- Contractual support
Sold together
Decided, enforced, sealed.
Pimatika decides. NaZelo runs it under constraint. Litatoli seals what came out. Each is sold on its own; together they cost a third less.
NaZelo Policy
Pimatika + NaZelo — decided and enforced, no sealed chain.
NaZelo Trust
All three. Decided, enforced, sealed — the whole guarantee.
On its own
Pimatika governs an ordinary workload perfectly well. The bundle is for when the runtime has to enforce the decision too.
Annual is ten months. Bundles start at Alchemy; the free tier is for one engine at a time.
Launch pricing. If a plan is wrong for your situation, say so — we would rather hear it now than model it.