Deterministic rules-as-code evaluator
Statuta
A rules engine for law. Each rule points to the exact words of a statute, and the evaluator gives the same verdict for the same facts every time, with unknown facts never counting as permission. It starts with license plate reader laws in three states.
- Python
- JSON Schema
How it works
- Statute textConnecticut, Oregon, Virginia
- Rulestied to exact spans
- Independent reada second encoding to compare
- Evaluatorno network, no model
- Verdictcites rules and gaps
- Transparency logwhat was decided, not asked
Decisions that matter
A model may propose, never decide
A language model can draft rules offline, but it never decides an access question at runtime. The evaluator only reads JSON rules and makes no network call, model call or clock read.
Unknown never becomes permission
Every condition comes out true, false or unknown. Missing facts never resolve to permission, and a prohibition that fires beats every other effect.
Every rule carries its source
A released rule has to point to an exact span of statute text, with hashed source provenance and human-review notes. Low-confidence extractions go to a person first.
A log that does not hold the question
Evaluations are committed to an append-only Merkle log (RFC 6962) that keeps metadata only, so anyone can check that a decision was logged without the log containing a plate, a name or a location.
Limits
This is not a legal service or a released corpus: three statutes are encoded as drafts with independent reads. The log proves a check was logged, not that its input was true or that the verdict was obeyed.
