One gateway. Every model.
Complete control.
PrashFlow Controller is the control plane that sits between every application in your enterprise and every AI model you run, whatever provider it comes from. Authentication, governance, quotas, A/B testing, guardrails, and full observability are built in, before a single request reaches a model.
Built for the moment AI stops being a side project
Every team wiring API keys into their own apps works fine, right up until you need to know who spent what, revoke access in one place, or swap a model without a code change. PrashFlow Controller is the layer that makes AI adoption safe to scale, not just fun to prototype with.
Govern spend and access from one place
Every request is tied to a project, an API key, and a person who created it. Cap tokens per hour, per day, or per key, and revoke access instantly without redeploying a single application.
Swap models without touching application code
Applications call a stable logical model id. Point it at a different backend, add a fallback, or roll a new model out to 10% of traffic, all from the admin UI with zero redeploys.
Never fly blind on cost or reliability
Every call is metered, traced, and audited automatically: tokens, latency, error rate, and per-stage timing. See exactly what's happening across every team before it becomes a surprise invoice.
Enterprise-grade access control, out of the box
A five-tier role hierarchy (platform, org, team, project, user) enforces strict multi-tenant isolation. No project sees another's data. No user acts outside their scope. It's not bolted on; it's the foundation.
Prove out new models with real traffic, safely
Run a canary at 5% before committing a team to a new model. Compare latency, error rate, and cost side by side, per project, then dial the split up or roll it back in seconds instead of a deploy cycle.
Own your data, own your infrastructure
Self-hosted entirely on infrastructure you control. Nothing about your prompts, completions, or usage data ever leaves infrastructure you own.
Shadow AI is already happening in your org
Every team that wires a raw API key into an app is quietly creating a governance gap.
No idea who's calling what
Raw provider keys scattered across a dozen apps, no per-team spend visibility, no single place to answer "which teams use this model."
Credentials leak into application code
Provider API keys get hardcoded, checked into repos, or passed to client-side code, because there's no gateway to hide them behind.
Switching models means redeploying
A new model, a price change, an outage on your primary provider: each one means a code change and a redeploy across every application that calls it.
Every request, the same four steps
No matter the provider on the other end, every call through PrashFlow Controller goes through the same governed pipeline.
Authenticate
A scoped project or service-account API key, never a raw provider credential.
Authorize & Route
RBAC + policy + quota checks, then weighted routing across A/B variants or canary, with automatic fallback.
Augment
System prompt and tool context merged in before the model ever sees the request.
Observe
Usage, traces, and audit logs recorded automatically, with no code required in the calling application.
One control plane, the whole platform
Not a thin proxy. A complete governance layer for AI in the enterprise.
Universal gateway
One consistent API in front of every model you run, whatever provider it comes from. Applications never see a backend URL, port, or credential.
Five-tier RBAC
Enterprise → Org → Team → Project → User, with zero implicit access. A project has no model access until it's explicitly granted.
A/B testing & canary routing
Weighted traffic splits across model variants, enrolled per project, so you can roll out with confidence.
Tool integration
The gateway resolves tool calls transparently on the model's behalf, even for models with no native tool support.
Full observability
Per-request traces with stage-by-stage spans, token/latency usage records, and an audit log that captures what was asked and what came back, automatically purged on a retention schedule.
AI Guardrails
PII detection and masking, prompt-injection detection, a sensitive-topics policy, block/allow lists, and input/output validation, each independently enabled per project with its own action: block, mask, or log only. The checks that need judgment can use any model in your fleet, with a custom prompt, and configuration is restricted to org and platform admins.
Model Quality dashboard
Error rate, fallback rate, latency, and guardrail block/mask rate, rolled up per model over any time window, so you can see which model is unhealthy or triggering guardrails without digging through raw usage rows.
Quotas, rate limits & automatic fallback
Per-project, per-org, and per-key request/token budgets enforced in real time, plus health-checked automatic fallback to a secondary model when the primary is unavailable, configured entirely from the admin UI with no code.
Enterprise RAG on your own data
Attach knowledge sources per project, or govern them centrally across an entire organization. Upload any file type except ZIP, or sync a web page or cloud storage location on a schedule. The gateway retrieves and injects relevant context into every matching request automatically, with zero application-side change.
Semantic response caching
Skip the backend call for a near-duplicate prompt and return the previously guardrail-validated answer instead. A configurable similarity threshold and TTL give administrators precise control over the tradeoff between cost savings and answer freshness.
Bring your own vector infrastructure
Point Semantic Cache and RAG at any vector database already inside your own infrastructure, connected through a documented HTTP contract. Nothing vector-related ever touches PrashFlow Controller's own infrastructure, preserving full data residency.
Model benchmarking
Run a suite of test prompts across several candidate models side by side, comparing latency, token usage, error rate, and an optional 1-5 judged quality score. Make the switch to a new model with evidence, not guesswork.
Ship a new model to 5% of traffic, not 100%
A logical model can hold multiple weighted backend variants. Enroll one project at a time, at whatever split makes sense for it, independent of every other project sharing that logical model.
- Per-project weighted splits, not a single global percentage
- Live comparison of requests, latency, and error rate per variant
- Zero behavior change for projects you haven't enrolled
Every model gets tools, even ones that can't call them natively
Attach your own tool servers to a project. The gateway discovers what they offer, merges them into every request, and executes tool calls itself. The calling application only ever sees one finished response.
- No client-side code changes required
- Works with streaming and non-streaming requests alike
- Remote-only by design, with no arbitrary code execution risk
Content controls that run before and after every call
Turn on PII detection and masking, prompt-injection detection, a sensitive-topics policy, block/allow lists, and input/output validation, per project, each with its own action: block the request, mask the content, or just log it. Configuration is restricted to org and platform admins, since guardrails decide what content reaches or leaves your models.
- Checks that need judgment can use any model in your fleet, with a custom prompt
- Streaming responses are buffered and validated before delivery, so masking can never be streamed around
- Every check is its own span in the trace, and every block or mask feeds the Model Quality dashboard
Grounded, enterprise-ready answers with zero code changes
Attach documents, a web page, or a cloud storage location to a project, or govern one centrally across an entire organization. The gateway retrieves the best-matching context and injects it before the backend model ever sees the request. Your application's calls stay exactly the same.
- Every file type accepted except ZIP, including PDF, Word, PowerPoint, Excel, CSV, and HTML
- Connector sources sync incrementally on a schedule, re-indexing only what changed
- A project- and org-level on/off switch pauses retrieval instantly, no source-by-source cleanup
The core principle
Applications and users must never directly call backend AI models. Every inference request passes through PrashFlow Controller.
Application
project API key onlyPrashFlow Controller
auth · RBAC · quota · route · observeLocal models
run on your infrastructureHosted models
your provider of choiceAny endpoint
bring your ownA role hierarchy that mirrors your org chart
Platform-wide. Manages every organization, backend model, and provider. The only role that bypasses scoping entirely.
Everything within one organization: teams, projects, users, logical models, traces, and usage. Never another org's.
Full control of a team and every project it owns, as if they were that project's own owner.
Full control of one project: settings, members, API keys, and which models it can call.
View access to what they're a member of; sees only calls made with API keys they personally created.
Your infrastructure. Your data. Your control.
We deploy the full stack directly on infrastructure you own. Nothing about your prompts, completions, or usage data ever leaves your environment.
Questions, answered
Bring every model under one control plane.
Self-hosted, open, and ready to govern AI access across your entire organization today.