Why moriti

Access control answers who and can. moriti answers should, for this purpose.

How it compares

Every access-control layer answers who and can. This one answers should, for this purpose. Here is where that lands.

CapabilitymoritiClosed AI-privacy platformsOpen-source gateways and guardrailsIAM · DLP · agent security
Decides on the assigned purpose, not just who is askingPartial
Consent and lawful basis evaluated per requestPartial
Withholds per field, so the value is absent from the agent's contextPartialPartial
Reason and guard recorded for every fieldPartialPartial
Runs in your own VPC, in-countryPartialPartial
Open source, inspectable, forkablePartial
Runs behind the gateway you already use (MCP proxy, ContextForge)Own gateway onlyMostly their own
Cost to start$0Six figures$0Varies

Categories, not vendors, on purpose. Based on a primary-source review of fifteen products in September 2026 and a survey of open-source gateways and guardrails in October 2026. Individual projects vary.

Built for the question the other tools can't ask

Purpose-limited

Decisions key on why the data is being used, not just who is asking. The same field, a different purpose, a different answer.

Consent-aware

Legal basis and the consent on file are inputs to every decision. An access check can pass and moriti can still say no.

Withheld, not masked

Fields an agent shouldn't have never enter its context. They are absent, and the reason is recorded.

Open and self-hosted

Apache-2.0. Runs in your VPC, in-country. No account, no cloud, nothing phones home.

Who needs this?

HR assistants

A directory lookup needs contact details, not salary. moriti releases what the purpose requires and withholds the rest, under POPIA's minimality condition.

Payroll and finance agents

The same record, a different purpose. Remuneration data flows to the payroll run, with obligations attached: not retained in memory, deleted after the task.

Support and marketing agents

Consent covers marketing, not fraud investigation. When an agent reaches for a customer's number for the wrong purpose, the access check passes and moriti still says no.

Access is not permission

Every tool your organisation already runs answers a version of the same question. Identity asks who you are. Authorisation asks whether you can reach the resource. Agent security asks whether the agent may act. None of them asks whether this person's data should be used this way, for this purpose.

That question is the whole of privacy law: purpose limitation, minimality, consent. Until now it lived in policy documents, not in the path of the data.

moriti was built here because here it isn't abstract:

  • •POPIA's eight conditions and the NDPA make purpose limitation the law, not a preference
  • •Residency rules are hardening across the continent, and only something you run in-country answers them
  • •Tools priced for Fortune 500 budgets don't fit a Sandton fintech. Open source does

If it works in Sandton, it works anywhere.

Read the full philosophy →