업데이트로 돌아가기
UpdatedAug 1, 2026

quill-router — Updated!

안전한 LLM 프록시를 위한 TrustedRouter.com 저장소

공유

TrustedRouter

CI Deploy Prod smoke Trust drift Status Verifiable trust JavaScript SDK Python SDK License: BUSL-1.1

종단 간 암호화된 LLM. 하나의 API. 증명이 있는 프라이버시.

누가 당신의 프롬프트를 볼 수 있는지 걱정하지 마세요. 코딩 에이전트에게 프로젝트를 이전하라고 지시하고, 원하는 프라이버시 수준을 선택하고, 모델을 고르고, 키를 넣으면 끝입니다. 동일한 API, 30개 이상의 모델, 하나의 키. 게이트웨이는 하드웨어 엔클레이브에서 실행되며, 절대 로그를 남기지 않는다는 것을 암호학적으로 검증할 수 있습니다.

하나의 프롬프트로 프로젝트 이전하기

Codex, Claude Code, 또는 Cursor에 이것을 붙여넣으세요 — 마이그레이션을 대신 해줍니다:

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"}}를 사용하거나, 더 강력한 하드 기밀 컴퓨팅 + E2EE 하한선에는 {"provider": {"min_privacy": "confidential"}}를 사용하세요. 편리한 trustedrouter/zdr 및 trustedrouter/e2e (trustedrouter/confidential) 별칭이 해당 풀을 선택합니다. EU 중심 라우팅에는 https://api-europe-west4.quillrouter.com/v1과 함께 trustedrouter/eu를 사용하세요.
  2. 모델을 선택하세요 — 수백 가지 중 하나를 선택하거나, 가장 엄격한 개인정보 보호 필터보다 공급자 폭이 더 중요할 때 자동 폴백을 위해 trustedrouter/auto를 사용하세요.
  3. 가입하고, 카드를 추가하고, 키를 받으세요 — https://trustedrouter.com 에서.
  4. 배포하세요 — 이제 프롬프트가 검증 가능한 경로를 통해 실행됩니다.
직접 연결하는 것을 선호하시나요?
# 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 내에서 실행됩니다. 플랫폼은 실행 중인 컨테이너의 측정값에 서명합니다. 서명된 증거를 검증하고 그 이미지 다이제스트를 공개된 릴리스 측정값과 비교하십시오. 소스 검토와 릴리스 빌드 출처(provenance)는 해당 측정된 이미지가 무엇을 하는지 입증합니다. 다이제스트가 일치한다는 것만으로는 버그나 로깅의 부재를 증명하지 못합니다.

계정 없이 GCP 증거를 확인하십시오:

NONCE=$(openssl rand -hex 16)
curl --fail --silent --show-error \
  "https://api-us-central1.quillrouter.com/attestation?nonce=$NONCE" \
  --output attestation.jwt
# GCP returns a raw Google-signed JWT, not a JSON response.
# Decoded claims include eat_nonce and submods.container.image_digest.
# GCP evidence has no pcrs field; PCRs belong to AWS Nitro evidence.

JWT를 저장하거나 디코딩하는 것은 검증이 아닙니다. 발급자/서명, 신선한 nonce, TLS 인증서/exporter 바인딩, 그리고 예상되는 릴리스 측정값을 검증하려면 검토된 quill-cloud-proxy 체크아웃에서 attestation verifier를 사용하십시오. GCP 엔드포인트의 경우 해당 체크아웃에서 다음을 실행하십시오:

DIGESTS=$(curl --fail --silent --show-error \
  https://trust.trustedrouter.com/trust/accepted-image-digests-gcp.txt)
test -n "$DIGESTS" && uv run --script tools/verify-attestation.py \
  --api-host api-us-central1.quillrouter.com --expect-digest "$DIGESTS"

검증기는 자신이 검증하는 TLS 연결에서 최신 증거를 가져옵니다. 해당 검사는 이후의 별도 curl 또는 SDK 연결을 증명하지 않습니다. 이 예제들은 GCP 증거 형식을 선택하기 위해 공개된 US Central GCP 호스트명을 사용합니다. 글로벌 엔드포인트는 다른 클라우드를 선택할 수 있습니다. 해당 클라우드별 검증 정책과 측정값을 신뢰 사이트에서 사용하십시오.

신뢰 모델
OpenRouter, 호스팅 제공업체"우리는 로그를 남기지 않습니다." 확인할 수 없는 정책.
Portkey, Cloudflare AI Gateway관측성을 위해 모든 것을 로그로 남깁니다.
LiteLLM자체 호스팅이지만, 실행 중인 프록시는 검증되지 않습니다.
TrustedRouter오픈 소스 + 하드웨어 증명. 코드 경로를 검증하십시오. 아무것도 로그로 남기지 않습니다.

솔직한 범위: 증명은 실행 중인 바이너리가 게시된 바이너리이며, 논스로 챌린지할 수 있는 하드웨어에서 실행되고 있음을 입증합니다. 이는 물리적 호스트 접근 권한을 가진 국가 행위자를 막지 못하며, 오픈 소스 바이너리에 버그가 없음을 증명하지도 않습니다. 신뢰 앵커는 Google Confidential Computing의 하드웨어 기반 증명 체인입니다. 업스트림 제공업체는 자체 정책에 따라 프롬프트를 처리합니다. 각 제공업체의 입장은 모델 페이지에 게시되어 있습니다.


저장소 레이아웃

이 저장소는 컨트롤 플레인 계약을 구현합니다: 라우트 커버리지, 인증/키 관리, 청구 원장 의미론, 사용 메타데이터, 프롬프트/출력 로깅 금지, Sentry 스크러버, 그리고 제공업체 추상화. 증명된 게이트웨이 구현은 quill-cloud-proxy에 있습니다.

신뢰 경계: api.trustedrouter.com은 증명된 프롬프트 경로이며 Confidential Space 내부에서 TLS를 종료해야 합니다. trustedrouter.com은 컨트롤 플레인이며 프로덕션 추론 폴백을 절대 제공해서는 안 됩니다.

api.quillrouter.com은 영구적인 작동 별칭(동일한 증명된 게이트웨이 및 인증서)으로 남아 있으므로, 기존 통합은 마이그레이션 없이 계속 작동합니다.

로컬

uv sync
uv run pytest
uv run uvicorn trusted_router.main:app --reload

실행 중인 인스턴스에 대한 엔드투엔드 스모크 테스트:

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을 설정하세요.

로컬 운영자/프로바이더 키는 다음 위치에 설정하세요:

/Users/jperla/claude/.quill_cloud_keys.private

해당 파일은 절대 커밋되지 않습니다. dotenv 형식일 것으로 예상됩니다:

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

배포 스크립트는 일부 운영자 파일에서 이미 사용 중인 로컬 별칭도 허용합니다: Anthropic의 경우 CLAUDE_API_KEY, OpenAI의 경우 CHATGPT_API_KEY, 그리고 STRIPE_SECRET_KEY의 경우 STRIPE_KEY입니다.

Vertex는 다른 제공자 플랫폼과 다릅니다: 프로덕션 GCP 배포는 Cloud Run 또는 Confidential Space 서비스 계정과 메타데이터/ADC에서 발급된 단기 Google 액세스 토큰을 사용합니다. 자사 선불 Vertex 경로의 경우 이 파일에 장기 수명의 Vertex 키를 넣지 마십시오. 대신 런타임 서비스 계정에 Vertex 권한을 부여하십시오.

라이선스

Business Source License 1.1. 소스는 공개되어 있으므로 누구나 TrustedRouter의 프라이버시 및 증명(attestation) 주장(https://trust.trustedrouter.com) 뒤에 있는 정확한 코드를 읽고, 빌드하고, 검증할 수 있습니다 — 그것이 이 코드가 여기 있는 이유입니다. 비프로덕션 사용(보안 검토, 감사, 로컬 평가)은 무료입니다. 프로덕션 사용에는 Lore Hex Corp의 상용 라이선스가 필요합니다: [email protected]. 각 버전은 공개 후 4년이 지나면 Apache License 2.0으로 전환됩니다. 2026년 7월 3일 이전에 공개된 코드는 Apache-2.0으로 유지됩니다.

보안 기본값

카테고리