Arbiter · open source project

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

Arbiter links two things that usually stay apart: what an organisation declares about its artificial intelligence systems and what their real traffic shows. Its reference is the European AI Act.

Alpha version First pre-release on PyPI Apache 2.0 licence

Go forward with →, back with ←, or use the buttons at the sides. Many boxes can be tapped.

The problem

AI enters an organisation faster than anyone can count it

An assistant for customer service, a module that ranks job applications, a colleague who pastes data into a chatbot. Each is an AI system, and the law asks you to know which they are, what they are for and how risky they are.

The inventory goes stale

A list written by hand says what someone remembered that day. It does not say what happens today.

Undeclared use

What nobody put on the list is exactly what nobody is watching.

The rules have dates

The AI Act applies in stages. Knowing what applies from when is half of the work.

The idea

Two halves that talk to each other

Each works on its own. Together they do the thing that matters: compare what was declared with what is observed.

The gateway: a toll booth

Every request to an AI model goes through here. Arbiter checks who is asking, applies the rules, masks personal data, chooses where to send the request, estimates its cost and writes down what happened.

It produces the evidence.

The toolkit: a register that checks

It keeps the inventory of systems, proposes a risk class for each under the AI Act, compares the declarations with the traffic and reports what does not add up.

It uses the evidence.

The point. Gateways for AI already exist. What is missing is the link between the traffic and an inventory classified under the law: that is where Arbiter works.
How it works

The journey of a request

Tap the steps, or let them play.

Classification

A risk class, always as a proposal

You answer questions taken from the text of the law. The same answers always give the same result: no AI model decides the class.

A missing answer is not a "no"

While a question is open that could lead to a more severe class, the result is undetermined.

A person confirms

Every classification is indicative until someone, by name and with a reason, confirms it or changes it.

Every outcome cites the provision

The article and the date it applies from. An obligation of the future is shown as preparation, not as a failing.

The calendar of the AI Act

What applies, and from when

The dates are those of Regulation (EU) 2024/1689 as amended in 2026, read on the text of the Official Journal.

today, October 2026
2 February 2025Prohibited practices, AI literacy
2 August 2026Transparency obligations
2 December 2027High-risk systems (Annex III)
2 August 2028High risk in regulated products (Annex I)
An important limit. The rules of Arbiter summarise the law as questions. No person with legal training has reviewed them yet: that is why every result says "indicative", and version 0.1.0 waits for that review.
Declared against observed

When the facts contradict the paperwork

Arbiter does not read the content of conversations: it looks only at the data around them. That is enough to notice a great deal.

What was declaredWhat the traffic showsWhat Arbiter reports
"We only use model A"Requests to model B as wellUndeclared model
"We process no personal data"E-mail addresses in the messagesUndeclared personal data
"That system is retired"It still answersRetired system in use
NothingA team makes hundreds of requestsCandidate system, never declared

Findings, not verdicts

Every finding is confirmed, rejected, or accepted as a risk with an expiry date. Always by a person.

A daily digest

In English and in Italian, by e-mail too. Plus reports to hand to people who do not use the tool, as PDF too.

From other gateways too

The records of another system are imported without their content.

Tools and agents

AI that uses tools and talks to other AI

Today's systems do more than answer: they read files, query archives, ask other agents for help. Arbiter stands in between there too.

Tools (the MCP protocol)

A catalogue of the tool servers that are known. Nobody may use one until a grant says so, tool by tool if needed. Every call is recorded: who, which tool, how it ended. Never what was asked or answered.

Agents (the A2A protocol)

A registry of external agents and of their "business card". The signature on the card counts only if made with a key the organisation already trusts: a card that brings its own key vouches only for itself.

One rule for everything: first decide, then write the decision in the log, and only then let the request go. If the log cannot be written, the request does not go.
What you can rely on

How it is built

A chained log

Each entry holds the fingerprint of the one before. Changing one breaks the chain, and it shows.

No content is kept

Questions and answers are not stored. A test searches the whole database to prove it.

Rules as data

The rules are readable files, with a version. They can be read, compared and replaced without touching the program.

A person decides

Classifications and findings are proposals. The machine never settles a matter on its own.

Decisions on record

Every design choice is recorded with the alternatives set aside and the reason.

It works offline too

You can try it on a laptop, with no cloud and no real model. A guided demonstration follows an invented consulting firm, with its internal regulation.

over 1,100
automated tests
96%
of the code covered by tests
59
design decisions on record
21
checks on the traffic
In all honesty

What Arbiter does not do

No It is not legal advice

It is a support tool. It never says a system "is compliant": it says "indicative" and "no findings".

No It does not check that declarations are true

A classification is as good as the answers given. The traffic contradicts some of them, not all.

Limit Personal data: formats, names and places

By default it finds e-mail addresses, phone numbers, IBANs, tax codes. An optional component, which works locally, adds names and places written in words: on about a hundred invented sentences it found between 81% and 93% of them. Neither recognises health data.

Limit Only those who use AI, not those who make it

Today it evaluates the obligations of those who deploy a system. Those of whoever develops it will come later.

Limit A log that reveals, not one that prevents

A partial tampering shows. Whoever can rewrite the whole database can rewrite the whole chain: a copy of the last fingerprint has to be kept elsewhere.

Status A pre-release

A first alpha is on PyPI. Nobody runs it in production, and several parts were tested only against simulated counterparts.

Where we are

The road, phase by phase

An estimate on 5 October 2026. The percentages measure the work of building, not the legal value of the rules.

80%
of the whole road

Before version 0.1.0

A review of the rules by a person with legal training, and a comparison of the quoted articles with the official source.

After that

The installation on a cloud (Azure) and the documentation for those who adopt it. On the wish list: reading the logs of the company network too, to see the AI used outside Arbiter.

In short

What you get

An inventory that stays true

Because it is compared every day with what happens, and not only with what is remembered.

An answer to "where does this result come from?"

Every outcome carries the rule, the article, the date and who confirmed it.

Fewer surprises

Undeclared use surfaces by itself, as a proposal to assess, before someone else finds it.

Evidence that holds

A verifiable log of what was decided and when, without keeping the content of conversations.

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

Arbiter · github.com/ViciusLio/ai-arbiter · Apache 2.0 · Presentation updated on 5 October 2026.