▰▰~/flume
api proxy · token metering · cost tracking

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

~/anywhere — zsh
$ 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

$ ▮
▰★ new: loggerman.dev — structured logging▰keys encrypted with aes-256-gcm▰tokens hashed · shown once▰revoke in one click▰real-time cost metering▰streaming passthrough▰gdpr: export + erase▰63 providers · 5 categories▰★ new: loggerman.dev — structured logging▰keys encrypted with aes-256-gcm▰tokens hashed · shown once▰revoke in one click▰real-time cost metering▰streaming passthrough▰gdpr: export + erase▰63 providers · 5 categories
0163 providers · one meter

One proxy for OpenAI, Anthropic, Gemini & 60+ more AI APIs.

39
LLM & chat
4
Embeddings & rerank
5
Speech & audio
8
Image & video
7
Search & data
★ LoggerManOpenAIAnthropicGoogle GeminiMistral AIGroqDeepSeekxAITogether AIFireworks AIOpenRouterCoherePerplexityElevenLabsDeepgramReplicateStability AITavilyExaFirecrawlVoyage AI+42 more

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.

02the problem

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.

found in: the intern's dotfiles
sk-ant-api03-…
leak
found in: a public CI log
OPENAI_API_KEY=sk-…
leak
found in: that one Slack thread
“here's the key, don't share”
leak
found in: a git history, forever
config.py · commit 9f31c4a
leak
03how it works

Three steps. Zero key sprawl.

step 1

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
step 2

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
step 3

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 → 200
your client ──(uc_… token)──▶ flume proxy ──(real key, injected server-side)──▶ api.anthropic.com └─▶ meter: tokens in/out · model · cost · latency
04features

Small 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.

05the meter

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.

est. cost · last 14 dayslive
timeendpointmodelinoutcostst
12:41/v1/messagesclaude-sonnet-4-61.2K356$0.01200
12:40/v1/chat/completionsgpt-4o-mini840210<$0.01200
12:38/v1/messagesclaude-haiku-4-53.1K924$0.01200
12:35/v1/messagesclaude-sonnet-4-6612——429
06token lifecycle

Born disposable. Dies instantly.

mint

Token generated client-side of the vault. You see it once; we keep only a SHA-256 hash.

route

Clients call the proxy with it. We look up the hash, inject the real key, forward the request.

meter

Usage is parsed from each response — JSON or SSE stream — and logged against the token.

revoke

One click. The hash is dead instantly, every other token keeps working untouched.

07security & gdpr

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.

08drop-in integration

Change one line. Keep your SDK.

python · anthropic 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",
)
node · openai sdk
// 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.

09who it's for

Anyone with a key and a budget.

solo hackers

Five side projects, one Anthropic key? Give each project its own token and finally see which one is eating your budget.

small teams

Onboard a teammate by minting a token, offboard them by revoking it. The real key never left the vault either way.

agencies & freelancers

Per-client tokens mean per-client cost reports. Bill API usage back with numbers instead of guesses.

ci & agents

Pipelines and autonomous agents get scoped, disposable credentials. A leaked CI log burns a token, not your account.

10pricing

Free while in beta.

Paid plans are coming, and the free tier stays. No credit card today — just sign up and start metering.

available now

FREE

$0/mo
  • ✓all providers
  • ✓5 active tokens per provider
  • ✓real-time usage & cost dashboard
  • ✓90-day request log retention
  • ✓gdpr export & erasure
coming soon

PRO

$··/mo
  • ○everything in free
  • ○100 active tokens per provider
  • ○spend limits & alerts per token
  • ○longer retention, team seats
  • ○priority support
waitlist opens soon
11faq

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.

last call

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.

Flume — AI API proxy with usage, cost & token metering