anonrouterdocs

anonrouter docs

Build private, OpenAI-compatible AI applications across many models.

AnonRouter is a privacy-focused model router. It exposes familiar, OpenAI-compatible APIs while separating account identity, request content, and provider credentials so that prompts, responses, and keys are never written to disk. Billing settles from usage metadata only.

Supported API surface

AnonRouter documents the APIs it implements instead of claiming compatibility with every OpenAI endpoint. The core inference surface is:

  • GET /v1/models and GET /v1/catalog/models
  • POST /v1/inference/tickets
  • POST /v1/chat/completions
  • POST /v1/embeddings
  • POST /v1/images/generations (when image generation is enabled)
  • POST /v1/audio/speech (when speech is enabled)
  • GET /v1/capabilities

Account, routing, and billing endpoints are listed in the API reference.

A deliberate subset

Endpoints, parameters, and behaviors in these docs are the ones AnonRouter actually implements. Features that are not part of the live surface are left out.

Two ways to connect

The private ticket flow keeps the stable API key on the control plane and sends only a single-use ticket to the content relay. The relay sees request content and an opaque ticket, never your key or account. This is the preferred production integration.

Compatibility mode accepts a normal Authorization: Bearer key for clients that cannot perform the ticket step, such as off-the-shelf OpenAI SDK integrations. It is easier to adopt, but the compatibility broker temporarily holds API-key identity and plaintext content together in memory. Newly created keys enable it by default so ordinary tools work immediately; turn it off at creation when a key will use only the private ticket flow.

The privacy promise, and how to check it

  • In the private ticket flow, no single component holds both who you are and what you sent. Identity stays on the control plane; content goes to the relay with only an opaque ticket.
  • The content side — relay, compatibility broker, and every provider worker — runs inside an Intel TDX confidential VM that terminates TLS in-enclave, so prompts never reach a host an operator can read them off.
  • Prompts, responses, system prompts, tool arguments, and provider payloads are never written to disk.
  • API keys are shown once and stored only as a hash.
  • Billing is computed from usage metadata: model, token counts, status, latency, and cost.
  • Automatic routing never silently widens the privacy set you allow.

None of that is a promise you have to take on faith. The plane attests to itself credential-free, so you can verify the build handling your traffic before you send it anything:

NONCE=$(openssl rand -hex 32)
curl -s "https://api.anonrouter.ai/v1/gateway/attestation?nonce=$NONCE"

Read the full privacy model for what is and is not retained, and verify AnonRouter itself for what that document proves. On an ordinary route the upstream provider still sees your prompt under its own policy — the privacy label says which, and an E2EE route is what avoids it.