. JSON.stringify is\n safe-by-construction. */\n gtag('config', \"G-VZF1EHLEDH\");\n ","id":"ga-init"}])

Every AI call. Routed, metered, redacted.

OwnIQ is the third layer of the stack: one gateway between everything that thinks and every model that answers. Apps call one OpenAI-compatible endpoint; OwnIQ decides the provider, enforces the guardrails, meters the spend, and writes the audit trail — per app, per tenant, per call.

11Providers behind one endpoint
8Routing aliases · 8 guardrails · 3 caches
100%Calls metered, attributed, and audited
0Prompts leaving your perimeter (local mode)
OwnIQ — actual product interface

Six layers decide every request.

OwnIQ resolves the upstream provider and model through a layered chain. Each layer can short-circuit — and each decision stamps a human-readable reason onto the usage row, so “why did this go to that model” is never a mystery.

01

Virtual alias resolution

owniq/smart, owniq/reasoning, … resolve to a tier or capability

02

Advanced router rules

Conditional · load-balance · canary · cheapest — JSON rules per app

03

Complexity router

Deterministic prompt scorer picks cheap / standard / premium — no extra LLM call

04

Allowed-models whitelist

Per-app allowlist enforced after routing, not before

05

Data-residency gate

Region pins survive every routing rewrite

06

Vision-capability gate

Image inputs require a model that declares vision

Plus cost-aware routing: strategy “cheapest” picks the lowest blended-price model that meets your capability and context bar.

Apps ask for intent. OwnIQ picks the model.

Application code never hardcodes a model. It asks for an alias, and the gateway resolves it against the live catalog with health-aware fallbacks — a provider behind an open circuit breaker simply steps aside.

owniq/smart
Resolves toPremium tier
For the hardest reasoning — best available model first
owniq/standard
Resolves toStandard tier
The everyday workhorse for app AI features
owniq/fast
Resolves toCheap tier, latency-first
Sub-second UX paths — autocomplete, hints, triage
owniq/cheap
Resolves toCheap tier, cost-first
Bulk jobs where unit cost wins
owniq/embed
Resolves toEmbeddings
Vector search, semantic cache, RAG pipelines
owniq/reasoning
Resolves toReasoning-capable models
Chain-of-thought workloads, agent planning
owniq/code
Resolves toPinned code models
Code generation and review tasks
owniq/vision
Resolves toVision-capable models
Screenshot reading, document and image inputs

Eleven providers. One integration.

Every provider is wired through the same plumbing — same key management, same catalog shape, same routing layers. Adding one is a config entry, not a project.

OpenAIus

GPT-4o family, o1, embeddings

Anthropicus

Claude Opus / Sonnet / Haiku

Google Geminius

Gemini Pro / Flash

Perplexityus

Sonar — search-grounded

Mistraleu

Mistral Large, Codestral, embeddings

Cohereus

Command-R family, embeddings

Groqus

Llama / Mixtral / Gemma — fastest inference

DeepSeekapac

Reasoning + code models

xAIus

Grok family

OpenRouterglobal

Long-tail model access

Ollamalocal

Self-hosted — data never leaves your perimeter

Data residency, enforced: pin an app to us / eu / apac / global / localand the gate runs after every routing rewrite, so the pin survives the whole decision chain. Self-hosted providers are always permitted — that data never leaves your perimeter. Unknown providers fail safe, not open.

Eight gates in front of every model.

Moderation

Pre-call content moderation on user text

On failureBlocks + audit row

Prompt firewall

Scores instruction-override, persona injection, and smuggling attempts

On failureBlocks + audit row

PII redaction

Scrubs outbound message text before it reaches any provider

On failureRewrites — never blocks

Content deny-list

Per-app regex blocking of sensitive phrases

On failureBlocks + audit row

Allowed endpoints

Restrict an app to a subset of the API — e.g. embeddings-only

On failure403

Allowed models

Whitelist of resolved model ids, enforced after routing

On failure403

IP allowlist

Source-IP CIDR allowlist per app

On failure403

Vision gate

Image inputs require a vision-capable model

On failure400 with diagnostics

Every block writes an audit row with the request id, app, rule, and the truncated input. Moderation fails open if its upstream is unreachable — inference keeps running when a sidecar is down.

Three caches. Three rate limits. Hard spend caps.

Caching

Idempotency replay for 24h, exact-match response cache for deterministic calls, and a per-app semantic cache that serves near-duplicate prompts from vectors — evaluated in that order.

Rate limits

Requests-per-minute and tokens-per-minute per app, plus a per-end-user limit so one noisy tenant inside a shared app can’t starve its peers.

Spend caps

Daily and monthly USD caps per app and per end-user, with webhooks at 50 / 80 / 100% so finance hears about it before the cap does the talking. Usage is reconciled against actual provider counts.

BYOK: any app can register its own provider keys — encrypted at rest — and the gateway forwards them upstream for pass-through billing. Every response is flagged so cost attribution can split the bill cleanly. Metering flows into OwnUsage as first-class usage events.

See every decision it makes.

Prometheus metrics per provider and model, distributed traces with W3C propagation spanning auth → rate-limit → route → upstream → cache → guardrail, and an append-only audit log of operator actions and policy decisions. The built-in Labs make the invisible visible:

Two environment variables. Any SDK.

The gateway speaks the OpenAI-compatible surface, so existing OpenAI and Anthropic SDK code points at OwnIQ without rewrites. First-party Python and TypeScript SDKs ship with the platform.

OWNIQ_GATEWAY_URL=https://app.own360.ai/iq
OWNIQ_APP_KEY=owniq_sk_...

# rotatable, hashed at rest

Between every app and every model.

OwnApps call OwnIQ for their in-context AI features (level 2 of the three access levels). OwnAgentsreason through it for every autonomous action (level 3) — permissions scoped by OwnCentral, every call in the audit log. Change the model behind the gateway and the whole platform changes with it; nothing else needs to know.

Get sandbox access →The four layers