The control plane between your SaaS and every LLM.
odnoga is a single API, a tenant-aware vault, a billing meter, a prompt registry, a router, and an MCP server. Each is production-grade. Together they replace 6 months of infrastructure work.
What the odnoga platform does
Multi-tenancy
A first-class tenant primitive everywhere — keys, budgets, analytics, prompts and audit logs are scoped per tenant.
- Unlimited tenants per workspace
- Programmatic provisioning via REST + SDK
- Per-tenant Stripe customer & invoicing
- Cascading limits: workspace → tenant → user
Key vault & rotation
Provider keys never leave the encrypted vault. Rotate, scope, revoke and audit without redeploying.
- AES-256, envelope encryption
- Scoping per tenant / model / region
- Hot rotation with zero-downtime
- Full audit trail of every key access
Budgets & rate limits
Soft caps warn users; hard caps stop the bleeding. Limits attach to any axis you care about.
- Daily / monthly / lifetime budgets
- RPM, TPM, concurrency throttles
- Tier-based plans with overage rules
- Webhooks on threshold breach
Prompt versioning
Treat prompts like code: branches, diffs, A/B tests, instant rollback. No more "what changed yesterday?".
- Git-like version history with diffs
- A/B routing by traffic percentage
- Per-tenant prompt overrides
- Eval suites pinned to versions
MCP server
Your customers connect odnoga into Claude Desktop, Cursor, Lovable or any MCP host — OAuth 2.1 with Dynamic Client Registration.
- OAuth 2.1 + PKCE + DCR
- Per-user scoped tokens
- Tools exposed: chat, embeddings, image, search
- Plug into Claude Desktop in seconds
Observability
Every request is a row: latency, cost, tokens, provider, tenant, user. Slice it any way.
- Realtime dashboards per tenant
- CSV / Parquet export
- OpenTelemetry traces
- Alerts on error rate, latency, cost
Smart routing
"auto" picks the best model for the request. Define fallback chains for cost, latency, or context length.
- Cost-aware, latency-aware routing
- Provider failover with retry policies
- Per-tenant default model
- Region pinning for compliance
Security & compliance
SOC 2 controls, EU-hosted option, PII redaction in logs, signed webhooks. Built for regulated SaaS.
- SOC 2 Type II (in progress)
- GDPR & DPA
- PII redaction & log scrubbing
- SSO (SAML, OIDC) on Enterprise
How a request flows through odnoga
Your SaaS ──► odnoga Edge ──► Auth + Vault ──► Budget meter
│
▼
Prompt registry
│
▼
Router (auto/fallback)
│
┌────────────────────────┬────────────────┼────────────────┬────────────────┐
▼ ▼ ▼ ▼ ▼
OpenAI Anthropic Gemini Mistral Groq …
│ │ │ │ │
└────────────┬───────────┴────────────────┴────────────────┴────────────────┘
▼
Observability + Billing ──► Stripe, Postgres, OTEL
Auth at edge
Bearer key + end-user header are validated before any work.
Stateless workers
Horizontal scale. <40ms overhead at p50.
Pluggable providers
Add a provider by writing an adapter — 80 lines.
Plays well with your stack
OpenAI SDK
Drop-in base URL replacement.
Vercel AI SDK
Compatible provider out of the box.
LangChain
Use as ChatOpenAI with custom base URL.
LlamaIndex
OpenAI-like LLM class.
n8n
Built-in OpenAI nodes — no custom node needed.
MCP hosts
Claude Desktop, Cursor, Lovable, Continue.
Stripe
Native billing, invoicing, webhooks.
Postgres / Supabase
All data in your stack-friendly format.
OpenTelemetry
Export traces to Datadog, Honeycomb, Grafana.
What odnoga is not
Not a self-hosted model runtime.
Bring your own provider; we route to it.
Not a vector database.
We integrate with pgvector, Pinecone, Weaviate; we do not store embeddings.
Not a prompt IDE.
We version, A/B and audit prompts; authoring stays in your tools.