Your AI API keys,
locked away.
Every call,
metered.
Stop pasting raw provider keys into every script, teammate laptop, and CI job. Hand out revocable uc_ tokens instead — and watch requests, tokens, and spend in real time.
free while in beta · no credit card · revoke anything, anytime
$ curl https://app.useflume.dev/api/proxy/anthropic/v1/messages \ -H "x-api-key: uc_f3a91c…" # not your real key -d '{"model":"claude-sonnet-4-6", …}' → 200 OK · proxied to api.anthropic.com in 412ms ▰ metered model=claude-sonnet-4-6 in=1,204 tok · out=356 tok · cache=512 tok est. cost $0.0089 · token my-cli $ ▮
One proxy for OpenAI, Anthropic, Gemini & 60+ more AI APIs.
LLMs meter tokens & cost · embeddings meter tokens · speech, media & search APIs meter requests + latency. Same paths, same bodies, same streaming — swap the hostname, nothing else.
One provider key.
Copied everywhere.
A single raw API key ends up in scripts, laptops, CI, and chat. You can't tell who spent what, and the only way to cut off one leak is to rotate the key for everyone.
Flume puts one encrypted copy in a vault and gives every consumer its own revocable token with its own meter.
sk-ant-api03-…OPENAI_API_KEY=sk-…“here's the key, don't share”config.py · commit 9f31c4aThree steps. Zero key sprawl.
Vault your real key
Paste any provider key once — OpenAI, Anthropic, Groq, ElevenLabs, 60+ supported. It's AES-256-GCM encrypted before it touches the database and can never be read back out — by anyone.
key: ••••••••••••3kF9 ✓ encrypted→Mint proxy tokens
Create a uc_ token per consumer — one for your CLI, one per teammate, one per service. Only a SHA-256 hash is stored; the token is shown exactly once.
uc_f3a91c0e7b… · scope: anthropic→Point clients at the proxy
Swap the base URL, keep everything else. We inject the real key server-side, stream the response through, and meter every request.
POST /api/proxy/anthropic/v1/messages → 200Small surface. Sharp tools.
Per-token metering
Every uc_ token gets its own request count, token usage, and cost line. Know exactly which script burned $40 last night.
Real-time dashboard
Backed by a reactive database — charts and tables update live as requests flow, no refresh, no polling.
Streaming passthrough
SSE streams pass through untouched at full speed; usage is parsed from the stream after it completes.
One-click revoke
Cut off a single consumer instantly without rotating your real key or touching anyone else.
Guardrail rules
Give any token a daily spend cap, request limit, model allowlist, or expiry date. Break a rule and the token is blocked — or auto-revoked — before the request leaves.
Cost estimation
Built-in pricing tables per model — including cache read/write rates — turn token counts into dollars.
Drop-in compatible
Same endpoints, same request bodies, same response shapes. Existing SDKs work by changing the base URL.
Scoped tokens
Tokens are bound to one provider. An Anthropic token can never touch your OpenAI account.
Latency tracking
Per-request duration is recorded, so you can spot slow models and flaky endpoints at a glance.
Watch spend move
as it happens.
Requests, tokens in/out, cache hits, estimated cost, and latency — per provider, per token, per day. The dashboard is reactive: the moment a request lands, the chart moves.
| time | endpoint | model | in | out | cost | st |
|---|---|---|---|---|---|---|
| 12:41 | /v1/messages | claude-sonnet-4-6 | 1.2K | 356 | $0.01 | 200 |
| 12:40 | /v1/chat/completions | gpt-4o-mini | 840 | 210 | <$0.01 | 200 |
| 12:38 | /v1/messages | claude-haiku-4-5 | 3.1K | 924 | $0.01 | 200 |
| 12:35 | /v1/messages | claude-sonnet-4-6 | 612 | — | — | 429 |
Born disposable. Dies instantly.
Token generated client-side of the vault. You see it once; we keep only a SHA-256 hash.
Clients call the proxy with it. We look up the hash, inject the real key, forward the request.
Usage is parsed from each response — JSON or SSE stream — and logged against the token.
One click. The hash is dead instantly, every other token keeps working untouched.
Built so a leak has nothing to find.
The whole design assumes the worst: stolen database, leaked logs, nosy client. Secrets are encrypted, hashed, or simply never stored.
▰ AES-256-GCM at rest
Provider keys are encrypted with a secret that lives only in the backend environment — never in code, never in the database, never in a browser.
▰ Write-only keys
There is no API, page, or export that returns a stored key. The only thing that ever decrypts one is the proxy itself, in memory, per request.
▰ Hashed tokens
uc_ tokens are stored as SHA-256 hashes. A database leak yields nothing usable — not your keys, not your tokens.
▰ No body logging
We meter usage numbers only. Prompts and completions are never stored — your data passes through and is gone.
▰ Right to erasure
Delete your account and every key, token, log, and aggregate is wiped immediately. GDPR Art. 17, built in.
▰ Export + retention
Download everything we hold about you as JSON (Art. 20). Raw request logs auto-purge after 90 days.
Change one line. Keep your SDK.
# before: real key on every machine 😬 client = Anthropic(api_key="sk-ant-api03-…") # after: revocable proxy token client = Anthropic( api_key="uc_f3a91c0e…", base_url="https://your-app/api/proxy/anthropic", )
// works with streaming, tools, everything const client = new OpenAI({ apiKey: "uc_8b20d4aa…", baseURL: "https://your-app/api/proxy/openai/v1", }); // every call now shows up on your meter
curl, LangChain, LlamaIndex, your own fetch calls — anything that can change a base URL works.
Anyone with a key and a budget.
Five side projects, one Anthropic key? Give each project its own token and finally see which one is eating your budget.
Onboard a teammate by minting a token, offboard them by revoking it. The real key never left the vault either way.
Per-client tokens mean per-client cost reports. Bill API usage back with numbers instead of guesses.
Pipelines and autonomous agents get scoped, disposable credentials. A leaked CI log burns a token, not your account.
Free while in beta.
Paid plans are coming, and the free tier stays. No credit card today — just sign up and start metering.
FREE
- ✓all providers
- ✓5 active tokens per provider
- ✓real-time usage & cost dashboard
- ✓90-day request log retention
- ✓gdpr export & erasure
PRO
- ○everything in free
- ○100 active tokens per provider
- ○spend limits & alerts per token
- ○longer retention, team seats
- ○priority support
Questions, answered.
Can you see my prompts or completions?+
No. Request and response bodies stream through the proxy and are discarded. We parse usage numbers (token counts, model name) and store only those.
Can anyone read my provider key back out?+
No — keys are write-only. They're AES-256-GCM encrypted with a secret that exists only in the backend environment, and the only code path that decrypts one is the proxy handler itself, in memory, per request. There is no endpoint that returns a key — not even to you.
What happens when I revoke a token?+
It dies immediately. The very next request with that token gets a 401. Your real key and all other tokens are unaffected.
Does streaming work?+
Yes. SSE responses are passed through untouched while a second branch of the stream is parsed in the background for usage once it completes. Latency is unaffected.
How accurate are the cost numbers?+
Costs are estimated from per-model pricing tables, including cache read/write rates. Unknown models still log full token usage, just without a dollar figure.
Is this GDPR compliant?+
It's built for it: data minimization (no body logging), encryption at rest, 90-day raw log retention, one-click data export (Art. 20), and full account erasure (Art. 17) that wipes every row we hold about you.
What does it cost?+
Nothing right now — the beta is free, no credit card. Paid plans with higher limits arrive later; the free tier remains.
Your real keys go in the vault.
Everything else gets a meter.
Two minutes to set up: vault a key, mint a token, swap a base URL.