Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Arbiter

Know which AI systems you run, and be able to show it.

Arbiter is an open-source AI governance gateway and EU AI Act compliance toolkit. It links what an organisation declares about its AI systems with what their traffic shows, and reports what does not match.

CI Python 3.12+ Licence Apache-2.0 Status alpha PyPI

Alpha. A first pre-release is on PyPI. It has never run in production, and it is not legal advice: every classification is indicative until a person reviews it, and the AI Act rule pack has not been reviewed by a person with legal training. Read scope and limits first.

English Italiano
See it at work: a day at an invented firm, from a real run A day at Nordwind Una giornata alla Nordwind
What it is, for people who are not developers Arbiter in brief Arbiter in breve

Contents: the problem · what it does · what it is not · try it · what is inside · documentation · status · questions · contributing

The problem

The EU AI Act, and most internal policies, ask an organisation to know which AI systems it runs, what they are for and how risky they are. That knowledge usually lives in a list someone wrote once. The list says what was remembered that day, not what happens today: a tool switched to another model, a retired system that still answers, a team using a model nobody declared.

Gateways for language models see the traffic and know nothing of the law. Governance tools hold the inventory and never see the traffic. Arbiter joins the two.

What Arbiter does

Declares An inventory of AI systems, each with the role the organisation has for it
Classifies An indicative AI Act tier for each system, with the provision and the date behind every outcome. Rules are data; a person confirms or overrides
Controls A gateway in front of models, MCP tools and A2A agents: approved models only, personal data masked, budgets, grants. Your own rules are a file
Records Every decision in a log that can be verified. No prompt, argument or answer is stored
Compares What was declared against what the traffic shows. What does not match is a finding for a person to judge, and undeclared use is named
Reports A daily digest and reports, in English and Italian, as Markdown, HTML or PDF

The gateway and the toolkit each work without the other. If you already run an LLM gateway, keep it: Arbiter imports its records.

What it is not

  • Not legal advice, and not a certificate. It never says a system complies.
  • Not a judge of whether a declaration is true. A tier follows from the answers given.
  • Not all-seeing. It governs what passes through it or is imported. A service opened in a browser is not seen.
  • Not for providers. It covers the obligations of those who deploy AI systems.
  • Not a dashboard. A command line, an HTTP API, reports and a digest.

More, and what was and was not verified: scope and limits.

Try it in two minutes

No Docker, no cloud account, no real model: a mock answers in its place. Needs Python 3.12 or newer.

pip install "ai-arbiter[gateway,mcp]>=0.1.0a1"
arbiter init                               # a local workspace on SQLite
arbiter demo tour --case consulting --report out/demo.html

The last command follows an invented firm that approved one family of models: it prints thirteen steps and writes the day as a page like this one.

Write the command as above: the releases so far are pre-releases, and >=0.1.0a1 lets pip take them for Arbiter only. Do not use pip install --pre: that flag also takes pre-releases of every dependency, and one of them breaks the demonstration.

From a clone instead: uv sync --all-extras, then put uv run in front of each command.

Your own systems, the gateway as a service, and a live session in front of people: getting started and giving a demonstration.

What is inside

Part What it gives you Guide
Gateway An OpenAI-compatible endpoint with identity, policy as data, redaction, routing, cost metering and budgets Gateway
Tools and agents A catalogue and a proxy for MCP servers, a registry and a proxy for A2A agents: nothing is called without a grant, every call is recorded Gateway
Audit log One hash chain per tenant, verifiable and exportable, with no content and no names Audit log
Compliance toolkit Inventory, AI Act classifier, review, scanner, findings, discovery, importers, digest and reports Compliance toolkit
Demonstrations A guided tour, a use case told as a story, three scenarios with expected outcomes Demonstration

The base install is the toolkit and the command line on SQLite. The rest is optional:

Extra Adds
gateway The HTTP service, PostgreSQL, calls to providers
mcp, a2a The proxies for tools and for agents
pii Detection of names and places in prompts, run locally
pdf Reports as PDF
otel Tracing
all Everything above

Documentation

I want to Read
Install it and make a first request Getting started
Show it to someone Giving a demonstration
Know what it covers and what it does not Scope and limits
Configure the gateway, the proxies, budgets Gateway
Declare systems, classify, scan, report Compliance toolkit
Understand and verify the audit log Audit log
See how well personal data is detected PII evaluation
Understand the design Architecture and the decision records
See what changed Changelog

Status and roadmap

Version Content State
0.1 Gateway, compliance toolkit, importers, discovery, reports Built. On PyPI as a pre-release. 0.1.0 waits for a legal review of the rule pack
0.2 Tools (MCP) and agents (A2A), the demonstrations Built, part of the same alpha
0.3 Deployment on Azure, observability, hardening Not started
1.0 Documentation and packaging for adopters Not started

Only pre-releases are on PyPI. Phase by phase, with what each one left open and every improvement that was noted: status and tracking.

Hard questions

"Another LLM gateway?", "Can a YAML file read the AI Act?", "Was this written by an AI?", "Is it safe in front of my keys?": the objections a careful reader will raise are answered, without varnish, in hard questions.

Contributing and security

Issues and pull requests are welcome: how to contribute. Report a vulnerability privately: security policy.

Licence and name

Apache-2.0: see LICENSE. The distribution is ai-arbiter, the command is arbiter. It is not related to arbiter-ai or arbiter on PyPI, which are other projects by other authors. Model and product names that appear in examples and documents are trademarks of their owners, who have no relation to this project.

Arbiter is a support tool. It does not provide legal advice.

Metadata

Release files for ai-arbiter 0.1.0a2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ai-arbiter 0.1.0a2
File Size Uploaded Provenance
ai_arbiter-0.1.0a2.tar.gz 394.4 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for ai-arbiter 0.1.0a2
File Interpreter ABI Platform
ai_arbiter-0.1.0a2-py3-none-any.whl Python 3 none any Details

Total release size: 754.5 kB

Release files / ai_arbiter-0.1.0a2.tar.gz

Download URL ai_arbiter-0.1.0a2.tar.gz
Size 394.4 kB
Tags Source
SHA-256 checksum
How to use checksums
162c2098d8bc07d3a8782300a607c7916312a8d081838c2d99498a7037e53647
BLAKE2b-256 checksum
How to use checksums
e8d4d5c57441eafbc98b6816beb0ab6b3aacf621c5132e5a4eaee6368833b379
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / ai_arbiter-0.1.0a2-py3-none-any.whl

Download URL ai_arbiter-0.1.0a2-py3-none-any.whl
Size 360.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7226a0b8b5a6c7f54b8306f934b2b4d3284845bf02989ad29bd292341cfa1109
BLAKE2b-256 checksum
How to use checksums
7ae5918ce21aaec57677b924df031a907eb1e5d457ef7a4c05145dffff9b6e99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Security for ai-arbiter 0.1.0a2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for ai_arbiter-0.1.0a2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page