selan.ai Gateway Reactor
Built and hosted in the EU

>50% of all AI usage is code. We manage that line.

Selan shows who spends what across every AI account and model, caps what they can spend, and stops secrets before they reach the provider.

Free for up to 3 seats · no card

Also from Selan

Reactor: micro agents that maintain and build your system while you sleep.

Each agent does one job overnight and leaves a merge request for the morning. Their model calls go through Selan like everyone else's.

Start here

What is your team trying to do?

  1. How do we control Claude Code spend per developer?

    Every Claude Code, Codex and Claude Desktop request is recorded with who ran it and what it cost, and a spending limit per person holds by day, week or month.

  2. How does the whole team get every model behind one sign-in?

    Add the accounts you already pay for once, and everybody signs in as themselves to the models you allow, in Claude Code, Codex and Claude Desktop.

  3. How do we keep provider keys and secrets off laptops?

    The provider keys stay on the gateway and a laptop holds only a session token you can revoke; with scanning on, recognised secrets are swapped out before a request leaves.

  4. How do we roll skills and plugins out to the team?

    An owner switches a plugin marketplace on once and its skills, commands and agents appear for every developer's Claude, including plugins added to it later.

How it works

Running in three commands.

01
$ curl -fsSL https://dl.selan.ai/install.sh | sh

One binary. macOS, Linux, Windows.

02
$ selan login

Google or Microsoft sign-in. A revocable session token lands on the machine.

03
$ selan claude

Claude Code runs exactly as it always did. selan codex does the same for Codex; Claude Desktop takes a settings file instead.

Works with Claude Code·Claude Desktop·Codex
Govern

Every dollar has a name.

  • Add the accounts you already own: Claude, GPT, Vertex, OpenRouter, nexos.ai.
  • Every request goes to the right account, logged with who ran it.
  • Limits follow the person, not the key: by day, week or month.
  • Spend against your cloud commit. Vertex bills to your own account.
Usage · 7 days
A fictional seven-day workspace summary: $37.42 API billed, $184.90 total cost, 12,846 requests and 84.6% cache hits
/model
1.Opus 5
2.GPT-5.6-sol
3.Kimi K3
4.DeepSeek V4
Unify

One sign-in. Every model.

  • All models from your Claude CLI / Codex, under /model.
  • Agents work with any provider's model, without changing the interface.
  • Test any new model on the same interface, whoever releases it.
  • When one provider is down, the accounts you've added keep serving.
Protect

Secrets never reach the provider.

  • A company switch, off until an owner turns it on. From then, every request body is swept before it leaves.
  • Gitleaks’ own rule set: 215 rules, matched and replaced in flight.
  • The feed shows who leaked what, and when it was redacted.
sk-ant-•••• → never reaches the model
Secrets feed
a.novak · AWS key · redacted2m ago
ci-nightly · GitLab token · redacted1h ago
What's new

Shipped lately.

All posts →

FAQ

Questions teams ask.

What does Selan cost?
Free for up to 3 seats; paid plans start at €29/month — see pricing. Paid plans renew monthly for customers in the EU/EEA. Your own provider usage stays yours: Anthropic, OpenRouter and anyone else you connect bill you directly, on your own account, at their prices — we never see that money. A seat is a person in your workspace or a CI token; a developer's own device token costs nothing extra.
Do developers have to change how they work?
No. selan claude instead of claude, and selan codex instead of codex; every flag and argument passes through unchanged. Claude Desktop imports one settings file and needs no command at all.
Can I use models other than Claude?
Yes. Models your company enables appear in the /model picker, and any model your provider serves can be named with --model provider:model-id.
Do my CLAUDE.md and AGENTS.md workflows keep working?
Yes. Your CLAUDE.md, AGENTS.md and skills keep working: Selan sits below the harness, not inside your prompts. The one thing it does touch is MCP. Connectors your company switches on are added to your ~/.claude.json, and removed again when the company switches them off. Your own entries are left alone.
Does the proxy slow developers down?
There is some added latency. By default a Claude Code request streams through: Selan reads ahead only until it finds the model name, to pick a credential, and forwards the rest as it arrives. It holds a body whole before forwarding it only when it must: to translate it for another provider or apply a setting your company chose; for a Codex request, whose session key comes after the whole transcript; and, with secret scanning on, to sweep it. Nothing on the way back is scanned.
What happens if Selan goes down?
If our sign-in service is unreachable, selan claude warns and launches anyway on your cached session. The proxy is different: Selan sits on the request path, so if it is unavailable, requests through it fail. Your providers can still be reached directly with your own credentials, which is one reason the credential stays yours.
How does secret cleaning actually work?
With secret scanning on, the request body is buffered at the proxy and swept with Gitleaks' own rule set (215 rules, vendored instead of fetched over the network) before anything goes upstream. A match is replaced with a placeholder in flight, so the provider never sees the real value. It redacts and forwards; it never blocks over a secret. It refuses a request in two cases: when the scanner cannot be reached, so nothing goes upstream unscanned, and when the body is over 24 MiB, more than it will hold to sweep. Scanning is off by default and turned on per company.
Can Selan read our prompts?
Selan is a proxy, so it receives the full request body: your prompts and the files Claude Code attaches. None of it is logged or stored; what we keep is metadata about the call. One exception, and it is ours to name: when a provider rejects a request, up to 2 KB of its reply is written to our request log.
Where does our data live?
In the EU. The proxy runs in Warsaw (europe-central2). Request bodies are not stored; the usage ledger holds metadata, not bodies.
What lands on a developer's laptop?
A revocable Selan session token, and no provider key of any kind: no Anthropic key, no Vertex or OpenRouter credential, no OAuth account. Revoke it and the machine is out. Around it sit the CLI's own files: an update check, a usage cache, a settings file that carries the same session token so it never rides on a command line, and, if you use them, a block in Claude Code's MCP config and one in Codex's config. The full list is in the reference.
Can a developer bypass this?
The proxy governs what goes through it. For fleet-level enforcement we compose with Anthropic's managed settings so policy is applied at the OS level, not just the CLI.
How do we get off Selan?
The accounts are yours. Selan leases credentials you added and never owns them, and providers bill you directly on your own account. Developers drop the selan prefix and they are back on claude directly.