Control plane

Set the rules for every model call

Cap monthly spend, decide what is stored and for how long, allow only the models and regions you approve, redact sensitive data and choose the provider order.

Rules
01Spend limits
$2,000/ month
02Data retention
off7 days30 days
03Model access
no requirementszero data retentionanyEUUS
04Checks
PII · redactsecrets · blocktoxicity · flagquality · score
05Routing
round robincheapest firstfastest first

Trusted by 50k+ developers and companies serving 10M+ users

Aixia
evroc
GetTested
Instabridge
LexBox
Ping Payments
Steep
Svenska Bostäder

Rules

What each rule gets you

A monthly cap on spend, data kept only as long as you decide, only the models and regions you approve, sensitive content redacted before a model sees it, and the provider order you set.

Spend limits

A monthly budget for the organization, with optional caps per project, role, user or key, so every team and employee spends within its own limit. The call that reaches the limit completes, the next one is refused with HTTP 402 until you raise the budget or the month resets. Budgets cover every billable call, including image, speech and video generation and the judge calls made by score checks.

  • Organization budget with a warning threshold
  • Project caps that fit inside the organization budget
  • Caps per role, user or key for every team and employee
Read how spend limits work
Spend limitsDocs ↗
monthly budget$2,000 / month
used$500
↳support$500 cap
↳batch-jobs$250 cap · limit reached

Data retention

You control data retention on both sides of the gateway. On Opper, decide whether traces are stored at all and for how long: 1 to 30 days with tracing on, nothing but usage metadata with it off, and projects can shorten the period down to zero. On the provider side, require zero data retention so only models whose providers neither train on nor log your content are eligible. Together that is zero data retention from your app all the way to the model.

  • Opper traces kept 1 to 30 days, or not at all
  • Zero data retention from the provider: no training, no logging
Browse models with zero data retention
Data retentionDocs ↗
traces on Opper30 days
storedspans, inputs, outputs
↳legal0 days · nothing stored
↳support7 days

Model access

Define the part of the catalog your organization may use. Filter by provider, service route, inference and storage location, maker, maker country, provider country or individual model, and require providers that do not train on or log your data. A call to a model outside the allowlist fails with a clear error. Opper never switches to a different model silently.

  • EU-only inference and storage in one rule
  • Zero data retention as a provider requirement
Read how model access works
Model accessDocs ↗
data policyzero data retention
inferenceEU
storageEU
↳supportanthropic, openai

Checks

Inspect inputs and outputs on every call. Flag a violation and let the call continue, redact the matching content before it reaches the model, or block the call with an error. Score checks grade stored outputs against your criteria after the call. Start from templates for PII, toxicity, secrets and answer quality, or write your own LLM or regex check.

Read how checks work
ChecksDocs ↗
PIIregex · redact
Secretsllm · block
Answer qualityllm · score
applies toinput + output

Routing

Many models are served by more than one provider. Ask for a model by its bare name and Opper tries the pool in the order you set: cheapest first, fastest first, highest throughput, or a weighted blend of the three. Failover to the rest of the pool is automatic, and every pooled response reports which provider served it and why.

  • Round robin by default, your order once a rule is set
  • Projects can replace the organization order
See how the router decides
RoutingDocs ↗
pool ordercheapest first
defaultround robin
on failurenext provider in the pool
↳batch-jobshighest throughput

Rules are part of the Control Plane tier, pay as you go with no subscription.

EU data residency

Your definition of EU, enforced on every call

Opper runs in Stockholm, so there is no separate EU endpoint to switch to. You decide what EU means for the rest of the path, once for the organization or per project, on a platform certified against ISO/IEC 27001:2022.

One rule for every app and agent

A model access rule answers three questions: where the model runs, where the provider keeps content and where the provider's parent company is based, each set to the EU, the EEA or single countries. It holds for every call in the organization, not only the calls that use an EU endpoint or model suffix. A model served by several providers only runs on the routes that pass, and any other call is refused with a 403 before a provider sees it.

  • Failover stays inside your definition of EU
  • Projects can tighten the organization rule, never loosen it
  • Any plan can call an EU route by its model id
Read how to keep inference in the EU
Model accessDocs ↗
inferenceEU · where the model runs
storageEU · where the provider keeps content
provider countryany · who owns the provider
↳public-sectorprovider country EU
outside the rulerefused with 403 · before a provider sees it
How Gardera keeps customer code out of storage, all the way to the model

Case Study

How Gardera keeps customer code out of storage, all the way to the model

Gardera's autonomous security engineer reasons over whole codebases through Opper. With zero data retention on the routes that handle customer code, neither Opper nor the model provider stores prompts or completions, at billions of tokens a day.

FAQ

AI agent control plane FAQ

What is an AI agent control plane?

+
An AI agent control plane is the layer between your agents and the models they call. It applies your rules to every call: how much the organization may spend, whether Opper stores traces and for how long, which providers and models are allowed, which content is flagged, redacted or blocked, and which provider a pooled model tries first. Rules are set for the organization or for a project, so they hold across every app and agent that runs there.

How is a control plane different from an LLM gateway?

+
An LLM gateway is the request path: one API in front of many models, with fallbacks and one bill. The control plane is the set of rules that gateway enforces on each call. On Opper both share one API and one key, so you start with the gateway and turn on Rules when you need them.

What rules can the control plane enforce?

+
Five kinds. Spend limits cap monthly spend for the organization, per project, and per role, user or key. Data retention sets whether Opper stores traces and for how long, from 30 days down to zero, and a provider data policy extends zero data retention to the model provider. Model access restricts providers, service routes, inference and storage locations, makers, maker countries, provider countries and individual models, and can require providers that do not train on or log your data. Checks flag, redact or block content during a call and score answer quality after it. Routing sets which provider a pooled model tries first. Organization rules set the default and project rules can only tighten them.

Can I run with zero data retention end to end?

+
Yes. Set Opper retention to 0 days so Opper stores no prompts, responses or files, and set the provider data policy in Model access to Zero data retention so only providers that neither train on nor log your content are eligible. Both are rules, so they hold for every call in the organization or project they are set for, on every v3 endpoint. Usage metadata for billing, such as cost, tokens and model, is still recorded; content never is.

Why is EU data residency a rule on Opper and not a separate EU endpoint?

+
Because the Opper API already runs in Stockholm, and because "EU" is more than one question. An EU endpoint or a model suffix covers the calls that use it, and one missed call site sends data elsewhere. A model access rule is set once for the organization or a project and holds for every call, whichever SDK, agent or model name sent it. Inference location, storage location and provider country are separate fields, each set to the EU, the EEA or single countries, a model served by several providers only runs on the routes that pass, and any other call is refused with a 403 before it reaches a provider. On any plan you can also pick an EU route per call by its model id, such as aws/claude-opus-5-5.

Which regulations do rules help with?

+
Rules cover the technical controls that GDPR, Schrems II, the EU AI Act and DORA ask about. GDPR: checks redact personal data before it reaches the model, Opper keeps traces from 30 days down to none, a provider data policy extends zero data retention to the model provider, and one data processing agreement covers every model. Schrems II: a model access rule keeps inference and storage in the EU, so nothing is transferred across the Atlantic unless you allow it. EU AI Act: traces show what each call saw, what was redacted or blocked and which model answered. DORA: failover between providers and spend limits per organization and project, with measured uptime published.

Do rules apply to the OpenAI, Anthropic and Google compatible endpoints?

+
Yes. Rules apply to every LLM and embedding call made through the Opper v3 API, including the OpenAI, Anthropic and Google compatible endpoints and the playground. Spend limits also cover image, speech and video generation, and model access covers every model type, including image generation, speech, transcription, video, OCR, realtime voice and rerank. Checks do not yet apply to those modalities.

Does Opper keep a record of which model served each call and which rules applied?

+
Yes. Every call is recorded with the model that served it, the provider, tokens, cost, latency and status, and usage records are kept for five years for billing and reporting. With tracing on, the full trace also holds the inputs, outputs and every rule that fired, for the retention period you set.

Can rules be managed from code?

+
Yes. The Management API lists, creates, updates and deletes the same rules the platform shows, using a management key with the controls:write scope. A rule created from CI or infrastructure-as-code is enforced from the next request.

What does the AI control plane cost?

+
Opper is pay as you go with no subscription and no markup on token rates. Rules are part of the Control Plane tier, priced as a slightly higher fee on credit purchases. LLM checks are billed at a flat rate per check on top. Current rates are on the pricing page.

Start building with full control

One API key for every major provider, with spend limits, data retention, model access and checks included.

Get started