A basic router knows which model a request goes to and what it costs. It doesn’t know that the request carries a payroll record, a customer contract or a sales email, so it can’t treat them differently. Atrium does, and it enforces your rules before any model sees the data.
Most AI traffic today moves through one undifferentiated pipe. That works for a prototype. It breaks when HR, finance and sales all start sending real business data through it.
An employee record and a marketing draft go to the same models, with the same logging and the same retention. Nothing in the pipe knows one is sensitive.
Each team writes its own rules, differently, in its own app. Proving what happened means reading code, and changing a rule means redeploying.
Model choice drifts app by app. Nobody can say which model handles customer data, or swap one out without touching every caller.
You see cost per API key. You can’t see cost per business line, per task, or whether the spend produced anything.
A manager asks an assistant to summarize a performance review. Here’s what happens next.
Every request resolves against your policy in a fixed order, from the most specific rule to the most general. Then data, latency and cost rules are checked before a model is called.
Every policy change is versioned, attributed and reversible, so you can always answer who changed what, and roll it back.
When Atrium can’t be sure a request is safe to send, it doesn’t guess. It refuses and tells the caller why.
Requests without their app, task and payload details are rejected. There are no anonymous calls.
If a payload type isn’t in your catalog, Atrium won’t infer one. Add it to the catalog, with its rules, first.
Restricted data with no isolated endpoint configured is refused, never rerouted to a model that isn’t allowed to see it.
| Basic router | AtriumLLM | |
|---|---|---|
| What it knows | Model, tokens, price | Also business line, payload type, data class and who’s asking |
| Who picks the model | The calling app | Your registry: versioned, reversible, no app redeploys |
| Policy | Rate limits and allowed models per key | Rules by business line, data class, group and user |
| When unsure | Sends the request | Refuses and explains why |
| Sensitive data | Pattern matching, if any | Redact or block fields by name from your payload schemas |
| Identity | API keys | SSO and SCIM from your directory, with group policies |
| Cost reporting | Per key or per model | Per business line, task, group and user, ready for chargeback |
| Proof | Request logs | A trace ID carried into the work produced and linked to its outcome |
| Model types | Chat LLMs | LLMs plus embeddings, predictions and transcription |
| Model changes | Swap in code | Promotions gated on evaluation and human approval |
| Where it runs | The vendor’s shared cloud | Your dedicated instance, your cloud, or fully sovereign |
| Commercial incentives | Often a fee on your model spend | No markup on usage, no routing bias toward any vendor |
Atrium is in early access. Join the list and we’ll reach out as instances open up.