The control plane between your SaaS and every LLM.
odnoga combines one API with tenant-aware controls, a billing ledger, prompt versioning and evaluation, routing, two-layer caching, observability and an MCP server.
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
- Atomic production label switching
- Per-tenant prompt overrides
Evaluation laboratory
Freeze one prompt version and its test cases, then compare the same workload across 2–8 active models.
- Responses and assertion results side by side
- Input/output tokens, billed cost and latency
- Explicit one-shot capture of a real run
- Review and redact before saving a case
Two-layer caching
Control deterministic odnoga answer reuse separately from vendor prompt caching. Each solves a different cost problem.
- Separate opt-in controls
- TTL, bypass and refresh controls
- Creative calls can refuse answer reuse
- Savings derived from request history
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 and traffic health
Every request is a row, and every caller is measured against its own normal. Trace cost and latency, then catch a stopped job or sudden surge.
- Dashboards per tenant
- Stopped and surged caller detection
- CSV / Parquet export
- OpenTelemetry traces
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
Contextual support
Raise a ticket from the page where the issue happens, with useful page and workspace context attached for review.
- Available on desktop and mobile
- Ticket reference and status
- Page context captured with the report
- Open-ticket visibility for support staff
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.
Stripe
Native billing, invoicing, webhooks.
Postgres / Supabase
All data in your stack-friendly format.
What odnoga is not
Not a self-hosted model runtime.
Bring your own provider; we route to it.
Not a model-training platform or a free-form AI playground.
The prompt workspace is built for controlled production operations: versioning, evaluations, A/B traffic and evidence-based promotion.