OrmAI
✍️

Gated writes for agents that take action

Let agents create and update records safely: approved models only, a required reason on every write, row caps, and a full audit trail.

The problem

Read-only agents are safe but limited. The moment an agent can write, a hallucinated update or an injected instruction can corrupt data at scale — and you have no record of why a row changed.

With OrmAI

OrmAI gates writes to an allow-list of models, can require a human-readable reason on every mutation, and caps rows-per-statement. Every write is logged with its inputs and the policy decision, giving you a reversible, auditable trail.

The primitives doing the work

Model allow-list

Only explicitly enabled models can be mutated; everything else is read-only.

Required reason

Writes can demand a reason string, captured in the audit log for every change.

Rows-per-statement cap

A single agent call can’t update ten thousand rows by accident.

The policy, in a few lines

policy = (
    PolicyBuilder(DEFAULT_PROD)
    .register_models([Order])
    .enable_writes(models=["Order"], require_reason=True)
    .max_rows_per_write(50)
    .build()

Keep reading


Other use cases