One proxy.
Every model.
Zero leaks.

bwaba.ai sits between your agents and any LLM — redacting PII, routing across providers, and metering tokens to the cent. Boring on purpose.

What you get

Three promises, one endpoint.

Most "AI gateways" stop at routing. bwaba is opinionated about the two things that actually keep you up at night — leaking customer data, and the bill.

01

Privacy by default

Inline DLP rewrites names, emails, card numbers, tickets, internal IDs — anything you mark as sensitive — before the prompt leaves your perimeter. Restored on the way back so your agents never know.

  • 40+ built-in detectors · Presidio + custom regex
  • Per-tenant pseudonymization keys
  • Zero retention mode (no prompts, no logs)
02

One subscription, every model

OpenAI, Anthropic, Google, Mistral, Meta, xAI, Groq, DeepSeek, Cohere, Together, plus your own private endpoints. Swap models with a string. Route by latency, cost, region or capability — per request.

  • OpenAI-compatible schema, 1:1 drop-in
  • Automatic failover · weighted routing
  • BYO keys, or use ours
03

Pay only what passes through

No seats, no minimums, no "starter plans." You pay the provider's token rate plus a flat 4% — billed by the cent, itemized by route, model, agent and tenant. Pause anytime; usage goes to zero.

  • Per-token, per-request metering
  • Budgets & rate limits per API key
  • Invoiceable in 23 currencies
Privacy, in detail

Your users' data never reaches the model.

Every prompt is parsed, tokenized for sensitive entities, and rewritten with stable placeholders. The model sees a sanitized version. Your code sees the original. The provider sees nothing you didn't approve.

From your agent contains PII

Hi, I'm Jane Doe (employee #E-4419). Can you draft a reply to m.alvarez@northwind.co about invoice A-44912 for €18,420.50? My card ending in 4242 was charged twice.

6 entities detected → rewriting
Sent to the model safe

Hi, I'm <NAME_01> (employee <EMP_ID_01>). Can you draft a reply to <EMAIL_01> about invoice <INV_01> for <AMOUNT_01>? My card ending in <CARD_01> was charged twice.

6 placeholders claude-haiku-4-5
17+ built-in detectors
custom regex per team
EN · AR multilingual NER
self-hosted your hardware, your region
Coverage

100+ models. One bill. One schema.

Every provider ships the day they ship. Use "model": "auto" and we'll pick — or pin a specific one.

OpenAIGPT-5, o3, o4-mini
AnthropicClaude Opus 4.5, Haiku 4.5
GoogleGemini 2.5 Pro, Flash
xAIGrok 4, Grok mini
MistralLarge 3, Codestral
MetaLlama 4, 3.3 70B
DeepSeekR1, V3
CohereCommand R+, Embed v4
GroqLlama 4 · sub-100ms
TogetherOpen-weight zoo
PerplexitySonar, Sonar Pro
+Your endpointvLLM, Ollama, Bedrock…
137 models routable today Full list →
Get started

Five minutes to a safer stack.
No card. No call. No catch.

Spin up a key, point your SDK at api.bwaba.ai, and watch sensitive tokens disappear in real time. Free up to 1M tokens / month.