
Dépôt TrustedRouter.com pour un proxying sécurisé des LLM.
Ne vous souciez plus de savoir qui peut voir vos prompts. Demandez à votre agent de codage de migrer votre projet, choisissez le niveau de confidentialité souhaité, choisissez un modèle, ajoutez une clé — c'est fait. Même API, plus de 30 modèles, une seule clé. La passerelle s'exécute dans des enclaves matérielles et vous pouvez vérifier cryptographiquement qu'elle ne vous journalise jamais.
Collez ceci dans Codex, Claude Code ou Cursor — la migration est faite pour vous :```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.
Ensuite :
1. **Choisissez votre niveau de confidentialité ou votre région** — utilisez
`{"provider": {"min_privacy": "zdr"}}` pour un seuil strict de zéro rétention, ou
`{"provider": {"min_privacy": "confidential"}}` pour le seuil plus strict de
calcul confidentiel + E2EE. Les alias pratiques `trustedrouter/zdr` et
`trustedrouter/e2e` (`trustedrouter/confidential`) sélectionnent ces
pools. Utilisez `trustedrouter/eu` avec
`https://api-europe-west4.quillrouter.com/v1` pour un routage axé sur l'UE.
2. **Choisissez un modèle** — parmi des centaines, ou `trustedrouter/auto` pour un
repli automatique lorsque l'étendue des fournisseurs compte plus que le filtre
de confidentialité le plus strict.
3. **Inscrivez-vous, ajoutez une carte, obtenez votre clé** sur https://trustedrouter.com.
4. **Déployez** — vos prompts passent désormais par un chemin que vous pouvez vérifier.
<details>
<summary>Vous préférez le configurer manuellement ?</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-...")
La passerelle de TrustedRouter s'exécute dans GCP Confidential Space. La plateforme signe une mesure du binaire en cours d'exécution ; vous comparez ce hash à ce dépôt. S'ils correspondent, vous savez — sans supposer — que le code qui traite vos prompts est le code que vous pouvez lire ici, et qu'il n'écrit jamais vos prompts sur le disque.
Vérifiez-le vous-même en 60 secondes, sans compte :```bash NONCE=$(openssl rand -hex 16) curl -s "https://api.trustedrouter.com/attestation?nonce=$NONCE" | jq .
| | modèle de confiance |
|---|---|
| OpenRouter, fournisseurs hébergés | « Nous ne journalisons pas. » Une politique que vous ne pouvez pas vérifier. |
| Portkey, Cloudflare AI Gateway | Tout journaliser pour l'observabilité. |
| LiteLLM | Auto-hébergé, mais le proxy en cours d'exécution n'est pas vérifié. |
| **TrustedRouter** | **Open source + attestation matérielle. Vérifiez le chemin de code ; il ne journalise rien.** |
Portée honnête : l'attestation prouve que le binaire en cours d'exécution est le binaire publié sur
un matériel que vous pouvez défier avec un nonce. Elle ne défait pas un État-nation disposant d'un accès physique
à l'hôte, et elle ne prouve pas que le binaire open source est exempt de bugs.
L'ancre de confiance est la chaîne d'attestation matérielle de Google Confidential Computing. Les fournisseurs en amont traitent les prompts selon
leurs propres politiques — la posture de chaque fournisseur est publiée sur les pages des modèles.
</details>
---
## Organisation du dépôt
Ce dépôt implémente le contrat du plan de contrôle : couverture des routes, gestion de l'authentification/des clés,
sémantique du registre de facturation, métadonnées d'utilisation, interdictions de journalisation des prompts/sorties,
scrubbers Sentry, et abstractions de fournisseurs. L'implémentation de la passerelle attestée se trouve dans `quill-cloud-proxy`.
Frontière de confiance : `api.trustedrouter.com` est le chemin de prompt attesté et doit
terminer le TLS à l'intérieur de Confidential Space. `trustedrouter.com` est le plan de contrôle
et ne doit jamais servir de repli d'inférence en production.
`api.quillrouter.com` reste un alias permanent fonctionnel (même passerelle attestée
et même certificat), afin que les intégrations existantes continuent de fonctionner sans migration.
## Local```bash
uv sync
uv run pytest
uv run uvicorn trusted_router.main:app --reload
Test de fumée de bout en bout contre une instance en cours d'exécution :```bash TR_SMOKE_BASE_URL=http://127.0.0.1:18080/v1 uv run python scripts/smoke_e2e.py
Pour la production, définissez `TR_SMOKE_BASE_URL=https://api.trustedrouter.com/v1` et
`TR_SMOKE_INTERNAL_TOKEN` si les routes de la passerelle interne sont protégées par jeton.