Why PrashFlow Features How it works Architecture FAQ Impact Inspector MergeSense Atlas Contact Show interest
Self-hosted & enterprise-ready

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.

No vendor lock-in. Deployed entirely on infrastructure you own, so your data never leaves your environment.

Request routed through Controller
AUTH Request authenticated and resolved to a project
POLICY Quota, RBAC, and guardrails checked before anything runs
ROUTE Sent to the healthy model behind that logical name, transparently
0
lock-in to a single AI provider, bring the models you already run
10
model types supported per logical model, from chat to reranking
5
role tiers, from platform admin down to individual project users
100%
self-hosted on infrastructure you own, so nothing leaves your environment
Why PrashFlow Controller

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.

The problem

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.

How it works

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.

1

Authenticate

A scoped project or service-account API key, never a raw provider credential.

2

Authorize & Route

RBAC + policy + quota checks, then weighted routing across A/B variants or canary, with automatic fallback.

3

Augment

System prompt and tool context merged in before the model ever sees the request.

4

Observe

Usage, traces, and audit logs recorded automatically, with no code required in the calling application.

Everything included

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.

A/B testing & canary rollouts

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
Qwen3 8B 90% · control
Llama 3.3 70B 10% · canary
customer-support-app enrolled 3 days ago
Tool integration

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
1 · APP "Search our docs for the refund policy"
2 · GATEWAY merges the docs-search tool from your server
3 · MODEL calls the tool with a search query
4 · GATEWAY executes it, feeds the result back
5 · APP receives one finished answer, nothing left to resolve
AI Guardrails

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
INPUT "My SSN is 123-45-6789, can you help?"
PII DETECTION matched SSN pattern
400 GUARDRAIL_BLOCKED, before any model call
OUTPUT "reach me at hidden@example.com"
PII MASKING "reach me at ****************"
RAG integration

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
1 · APP "What is our refund window?"
2 · GATEWAY embeds the question, queries your vector store
3 · GATEWAY injects the top-matching chunks as context
4 · MODEL answers using your actual policy doc
5 · APP receives one ordinary chat completion
Architecture

The core principle

Applications and users must never directly call backend AI models. Every inference request passes through PrashFlow Controller.

Application
project API key only
→
PrashFlow Controller
auth · RBAC · quota · route · observe
→
Local models
run on your infrastructure
Hosted models
your provider of choice
Any endpoint
bring your own
Authenticate Resolve logical model to backend Apply policy and quota Inject prompt and tool context Route the call Record usage and trace
Access control

A role hierarchy that mirrors your org chart

Enterprise Admin

Platform-wide. Manages every organization, backend model, and provider. The only role that bypasses scoping entirely.

Org Owner

Everything within one organization: teams, projects, users, logical models, traces, and usage. Never another org's.

Team Owner

Full control of a team and every project it owns, as if they were that project's own owner.

Project Owner

Full control of one project: settings, members, API keys, and which models it can call.

User

View access to what they're a member of; sees only calls made with API keys they personally created.

Self-hosted, on your terms

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.

FAQ

Questions, answered

Yes. It deploys entirely on infrastructure you control as a self-hosted container stack, and no data ever leaves your environment. Contact us and we'll get you set up.
Any provider you already run, local or hosted, plus a generic adapter for anything else. Adding a new provider never changes how your applications call the gateway.
Never. Applications only ever hold a project API key and a logical model id. Backend URLs, ports, and credentials are resolved server-side and are never returned to non-administrators.
No. Applications keep calling the same logical model id. Traffic splitting, canary weighting, and fallback are entirely server-side, configured from the admin UI.
Yes, per project: PII detection/masking, prompt-injection detection, a sensitive-topics policy, block/allow lists, and input/output validation, each independently enabled with its own block, mask, or log-only action. Only org and platform admins can configure them.
Only remote tool servers are supported, never local process execution on the gateway itself. Server addresses are also checked to reject internal or private-network targets.

Bring every model under one control plane.

Self-hosted, open, and ready to govern AI access across your entire organization today.

Questions first? contact@prashflow.com