For information only. Not advice, and not to be relied on. What that means, in full
Policy router

One endpoint that enforces your policy and writes the evidence

Point your application at /api/v1/route instead of the model provider. Every call is evaluated against your policy before anything leaves the perimeter, and every decision — allow, redact, reroute, hold, block — is appended to a hash-chained log you can hand to an auditor, a regulator, or a customer's security review.

A requestand what is in itRedacted firstbefore it leavesdeclared usejurisdictionrisk tierGRI floorreview triggerChecked against policyin this orderAllowedok/allowedAllowed, redactedprivacy/redacted-before-egressReroutedrouting/redirected-to-policy-fallbackHeld for a humanoversight/human-review-requiredRefusedgovernance/below-policy-gri-floor…7f2a…b104…e9c8One chain, all fivehash-linked, exportable
Five things can happen, and all five are recorded the same way. A refusal is evidence in exactly the way an allowed call is — same chain, same hash, same export. That is the point: you can show what the policy stopped, not only what it let through. This router has not yet carried live traffic. Every request recorded so far is simulated, a test, or a refusal, and any claim made about it should say so.
Running in simulated mode. No provider key is configured, so no external call is made. The policy engine, redaction, routing and audit chain are all real. Add a provider key to .env to route live.

Try it

These scenarios exercise each decision path. Nothing is mocked but the model call itself.

Request

Sent with the public demo key gh_demo_000000… — 20 requests a minute, scoped to Demo Bank, N.A.
That bucket and that tenant’s monthly budget are shared by everyone on this page, and every send is written to the audit chain against Demo Bank rather than against you. A 429 here means the page is busy, not that you have run out.

Decision

Nothing sent yet. Every request is evaluated against the policy before any provider is contacted, and every decision is appended to the hash-chained audit log.

Decision order

1 · Prohibited use

The declared use is checked against the policy first. A prohibited use is blocked before any content is inspected.

2 · Redact before egress

Detectors run over the prompt. What was found is logged by category and count — never the value.

3 · Eligibility

Jurisdiction, EU risk tier, and the model’s GRI under the policy profile. Below the floor is not eligible.

4 · Reroute

If the requested model fails and a fallback passes, traffic is redirected rather than dropped.

5 · Oversight

Policy triggers hold the output for human review instead of releasing it.

6 · Append

The decision is hash-chained to the previous entry. Bodies are never stored.

Policies configured

PolicyOrgProfileGRI floorMax tierRedactsFallback
eu-high-risk
EU high-risk deployment
Demo Bank Europe SAEU AI Act high-risk70highpan,ssn,email,phone,account,namenone
bank-internal
Demo Bank — internal productivity
Demo Bank, N.A.Internal productivity25limitedpan,ssn,account,mnpinone
research-sandbox
Model evaluation sandbox — non-production
Demo Bank, N.A.General purpose20highfinancial,identity,contact,secretshf-eleutherai-pythia-160m
bank-aml-strict
Tier 1 bank — AML operations
Demo Bank, N.A.General purpose60highpan,ssn,email,phone,account,name,mnpinone
clinical-summarisation
Clinical note summarisation
Northmoor HealthClinical decision support55highhealth,identity,contact,secretsnone
candidate-screening
Candidate screening assistance
Trellis HiringHiring and employment60highidentity,contact,secretsnone

API

curl -s https://governai.space/api/v1/route \
  -H 'authorization: Bearer gh_demo_0000000000000000000000000000demo' \
  -H 'content-type: application/json' \
  -d '{
    "policy": "research-sandbox",
    "model":  "hf-eleutherai-pythia-160m",
    "use":    "summarisation",
    "prompt": "Review acct 448291 for Mr Daniel Okonjo, card 4111 1111 1111 1111"
  }'

Every call needs a bearer key. The one above is the public demo key: it is published on purpose, capped at 20 requests a minute, and shared by everyone reading this page — treat it as a way to see the shape of a response, not as capacity. Keys are scoped to one organisation, carry their own rate limit, and can only use policies that organisation owns — a key from another tenant gets 403. Rate-limit state comes back in x-ratelimit-limit and x-ratelimit-remaining; exceeding it returns 429, and exhausting the monthly budget returns 402. Both refusals are written to the audit chain.

The registry stays public and unauthenticated — GET /api/v1/systems?profile=credit_decisioningand GET /api/v1/audit/verify need no key. A ratings instrument nobody can read is not an instrument. Issue a key →

Full integration guide → onboarding, handling each decision, failure codes, and collecting the evidence.

Talk to the person who built this

You have read what the router does and how the evidence chain works. There is no sales team and no company yet — the LLC is filed and not yet approved, so this reaches one person directly. Nothing is for sale today: what is on offer is a conversation, and free early access to the method, the corpus and the router if it is useful to you. If it is not a fit, saying so costs you one reply.

Start a conversation

What are you trying to show, and to whom — an auditor, a client, a regulator, your own board?

Your address is used to reply and nothing else. It is not published, not sold, and not added to a mailing list.

GovernanceHub — the governance registry and policy router for AI systems