Open-source software that controls what data reaches your AI agents. Each agent gets only what its job allows. The rest never reaches it.
Same data. Different purpose. Different answer.
moriti decides at the field level, before anything enters the agent’s context.
HR assistant
purpose: employee_directory_lookup
receives
nameemaildepartmentjob_title
withheld
salarybank_accounttax_numberemployee_id
Payroll agent
purpose: monthly_payroll_processing
receives
nameemployee_idsalarybank_accounttax_number
withheld
emaildepartmentjob_title
Fits where your agents already live.
Runs across MCP and Python, alongside your existing policy stack.
Claude Code
MCP clients
IBM ContextForge
Python
alongside
Open Policy Agent
OpenFGA
Cerbos
Privacy happens before the data reaches the model.
Identity establishes who is asking. Authorisation determines what they can reach. Neither asks why the data is being used.
Purpose, consent, lawful basis and minimality become policy enforced in the path of the data. No model makes the decision.
One decision before context.
purpose: employee_directory_lookup
nameallow
emailallow
salarydeny
agent context
Purpose is bound where the agent is deployed, never declared by the agent.
Explore the architecture →Privacy belongs to everyone.
moriti is open-source privacy infrastructure, built in Africa.
If it works in Sandton, it works anywhere.
Read our philosophy →