
TrustedRouter.com репозиторий для безопасного проксирования LLM
Хватит беспокоиться о том, кто может видеть ваши промпты. Скажите своему кодинг-агенту перенести ваш проект, выберите желаемый уровень приватности, выберите модель, вставьте ключ — готово. Тот же API, 30+ моделей, один ключ. Шлюз работает в аппаратных анклавах, и вы можете криптографически убедиться, что он никогда не ведёт логи.
Вставьте это в Codex, Claude Code или Cursor — миграция выполнится за вас:```text Migrate this project to TrustedRouter, a privacy-first LLM router (https://trustedrouter.com). Repoint my LLM client to base_url "https://api.trustedrouter.com/v1" (or "https://api.trustedrouter.com" for the Anthropic SDK), read the key from the TRUSTEDROUTER_API_KEY env var, and keep all my existing calls working.
For a hard provider-side confidential-compute and end-to-end-encryption requirement, add {"provider": {"min_privacy": "confidential"}}. TrustedRouter fails closed when the selected model or provider cannot satisfy both controls.
Then tell me to sign up at trustedrouter.com, add a card, and paste my sk-tr key into TRUSTEDROUTER_API_KEY.
Затем:
1. **Выберите уровень приватности или регион** — используйте
`{"provider": {"min_privacy": "zdr"}}` для жёсткого порога нулевого хранения, или
`{"provider": {"min_privacy": "confidential"}}` для более строгого порога
конфиденциальных вычислений + E2EE. Удобные алиасы `trustedrouter/zdr` и
`trustedrouter/e2e` (`trustedrouter/confidential`) выбирают эти
пулы. Используйте `trustedrouter/eu` с
`https://api-europe-west4.quillrouter.com/v1` для маршрутизации с фокусом на ЕС.
2. **Выберите модель** — любую из сотен, или `trustedrouter/auto` для автоматического
фолбэка, когда широта провайдеров важнее самого строгого фильтра
приватности.
3. **Зарегистрируйтесь, добавьте карту, получите свой ключ** на https://trustedrouter.com.
4. **Запускайте** — ваши промпты теперь проходят через путь, который вы можете проверить.
<details>
<summary>Предпочитаете настроить вручную?</summary>```bash
# Codex
export OPENAI_BASE_URL="https://api.trustedrouter.com/v1"
export OPENAI_API_KEY="sk-tr-v1-..."
# Claude Code
export ANTHROPIC_BASE_URL="https://api.trustedrouter.com"
export ANTHROPIC_API_KEY="sk-tr-v1-..."
# Any OpenAI SDK
client = OpenAI(base_url="https://api.trustedrouter.com/v1", api_key="sk-tr-v1-...")
Шлюз TrustedRouter работает внутри GCP Confidential Space. Платформа подписывает измерение (measurement) запущенного бинарника; вы сравниваете этот хеш с данным репозиторием. Если они совпадают, вы знаете — а не предполагаете — что код, обрабатывающий ваши запросы, — это тот самый код, который вы можете прочитать здесь, и что он никогда не записывает ваши запросы на диск.
Проверьте это сами за 60 секунд, без аккаунта:```bash NONCE=$(openssl rand -hex 16) curl -s "https://api.trustedrouter.com/attestation?nonce=$NONCE" | jq .
| | модель доверия |
|---|---|
| OpenRouter, хостинговые провайдеры | «Мы не логируем». Политика, которую нельзя проверить. |
| Portkey, Cloudflare AI Gateway | Логировать всё для наблюдаемости. |
| LiteLLM | Self-host, но работающий прокси не верифицирован. |
| **TrustedRouter** | **Открытый исходный код + аппаратная аттестация. Проверьте путь исполнения кода; он ничего не логирует.** |
Честные границы: аттестация доказывает, что работающий бинарник — это опубликованный бинарник на оборудовании, которое можно проверить с помощью nonce. Она не защищает от национального государства с физическим доступом к хосту и не доказывает, что открытый бинарник не содержит ошибок. Якорь доверия — аппаратно подтверждённая цепочка аттестации Google Confidential Computing. Вышестоящие провайдеры обрабатывают промпты в соответствии
со своими собственными политиками — позиция каждого провайдера опубликована на страницах моделей.
</details>
---
## Структура репозитория
Этот репозиторий реализует контракт control-plane: покрытие маршрутов, управление auth/ключами, семантику биллингового реестра, метаданные использования, запреты на логирование промптов/вывода, скрубберы Sentry и абстракции провайдеров. Реализация аттестованного шлюза находится в `quill-cloud-proxy`.
Граница доверия: `api.trustedrouter.com` — это аттестованный путь промптов, и он должен терминировать TLS внутри Confidential Space. `trustedrouter.com` — это control plane, и он никогда не должен обслуживать production-фолбэк для инференса.
`api.quillrouter.com` остаётся постоянным рабочим алиасом (тот же аттестованный
шлюз и сертификат), поэтому существующие интеграции продолжают работать без миграции.
## Локально```bash
uv sync
uv run pytest
uv run uvicorn trusted_router.main:app --reload
Сквозной smoke-тест против запущенного экземпляра:```bash TR_SMOKE_BASE_URL=http://127.0.0.1:18080/v1 uv run python scripts/smoke_e2e.py
Для продакшена задайте `TR_SMOKE_BASE_URL=https://api.trustedrouter.com/v1` и
`TR_SMOKE_INTERNAL_TOKEN`, если внутренние маршруты шлюза защищены токеном.
Задайте локальные ключи оператора/провайдера в:```text
/Users/jperla/claude/.quill_cloud_keys.private
Этот файл никогда не коммитится. Ожидается, что он будет в стиле dotenv:```text ANTHROPIC_API_KEY=... OPENAI_API_KEY=... GEMINI_API_KEY=... CEREBRAS_API_KEY=... DEEPSEEK_API_KEY=... MISTRAL_API_KEY=... STRIPE_SECRET_KEY=... STRIPE_WEBHOOK_SECRET=... SENTRY_DSN=...
Скрипт развёртывания также принимает локальные псевдонимы, уже используемые в некоторых операторских
файлах: `CLAUDE_API_KEY` для Anthropic, `CHATGPT_API_KEY` для OpenAI и
`STRIPE_KEY` для `STRIPE_SECRET_KEY`.