One gateway. Every model you already pay for.

Your AI subscriptions, behind one key you control.

Iris sits in front of the accounts you own, hands each developer a key of their own, and records every call — tokens, cost, model, origin and policy outcome. When something is blocked, it shows you exactly what and why.

Runs on your own infrastructure. Upstream credentials stay encrypted and never reach a developer’s machine.

What your developers change
# One base URL, one key. Every model you connected.
export OPENAI_BASE_URL=https://iris.yourdomain.com/v1
export OPENAI_API_KEY=sk-iris-••••••••••••

# Anthropic-shaped clients work too.
export ANTHROPIC_BASE_URL=https://iris.yourdomain.com

What you get

A proxy is the easy half. The evidence is the product.

Routing traffic through one URL takes an afternoon. Knowing who spent what, proving a guardrail works, and noticing a leaked key — that is the part Iris is built for.

Every account, one endpoint

Attach the subscriptions and API keys you already pay for. Iris exposes them as a single OpenAI- and Anthropic-compatible URL, so existing clients work unchanged.

A key per person, or per pipeline

Member keys attribute spend to a human. Service keys cover CI. Either can be scoped to specific models, rate limited, budgeted and revoked on its own.

Blocked calls, explained

When a rule fires you see the matched snippet with the secret already redacted, the exact path it was found at, the detector version, and what the caller received.

Where your keys are used

Every call records its origin. Iris baselines the addresses each key is used from and tells you the first time a new one appears — the signal a key has leaked.

Per-member usage

Tokens, cost, models and error rate for each person, read from rollups rather than a table scan, with an optional monthly ceiling.

Rules you can prove

New rules start in simulate: they record what they would have done and change nothing. Promote one to enforce once you have seen it behave.

How it reports

A dashboard that never overstates what it knows.

Most tools round everything into a confident number. Iris separates what a provider actually reported from what was inferred, and says which is which — on every screen.

Provider-reported token counts are shown as facts. Estimates are labelled as estimates.

A subscription-served call shows its tokens and says “covered by subscription”, never a made-up per-token price.

IP is evidence and an anomaly signal. It is never treated as someone’s identity.

A rule that has never matched is reported as inert, not as success.

Tokens18,204
Cost~$0.31 catalog estimate

Set it up in five minutes.

Connect an account, name your models, issue a key, watch the first call arrive.

Create your organization