Relay’in resmi yanıtı döndürdüğünü doğrulayın
Kanıt taşıyan bir API yanıtını aşağıdaki doğrulayıcıya yapıştırın. Doğrulayıcı imzayı tarayıcınızda kontrol eder; yanıtın hangi resmi upstream host’undan geldiğini ve relay’in onu değiştirip değiştirmediğini söyler. Verileriniz bilgisayarınızdan çıkmaz.
- Tarayıcınızda kalır
- Açık kaynak doğrulayıcı
- Ücretsiz, kayıt gerekmez
Bir yanıtı üç adımda doğrulayın
- 1
Anahtarınız için doğrulamayı açın
API sayfasında anahtar için “Resmi doğrulama” seçeneğini açın. Yalnızca olduğu gibi iletilen Claude Messages ve GPT Responses yanıtları kanıt taşır.
- 2
Yanıtın tamamını kaydedin
Streaming bir istek gönderin ve yanıt baytlarını curl -o ile olduğu gibi bir dosyaya yazın; dosya event: tee.proof ile bitmelidir. Streaming olmayan isteklerde x-wokey-tee-proof-mode: multipart başlığını ekleyin ve multipart yanıtın tamamını kaydedin. Windows’ta PowerShell’in > yönlendirmesi veya Not Defteri’nde yeniden kaydetme yerine curl.exe -o kullanın; bunlar satır sonlarını veya kodlamayı değiştirir.
- 3
Doğrulayıcıya yapıştırın
Yanıtın tamamını aşağıdaki doğrulayıcıya yapıştırın veya sürükleyin ve kontrolü başlatın. Kontrol bu sayfada, tarayıcınızda çalışır ve hiçbir ağ isteği göndermez.
curl -sN https://api.wokey.ai/v1/messages \
-H "x-api-key: YOUR_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"model":"claude-sonnet-5","max_tokens":256,"stream":true,"messages":[{"role":"user","content":"Hello"}]}' \
-o captured-responseYukarıdaki doğrulayıcı doğrudan açık kaynak deposundan GitHub Pages üzerinden yayımlanır ve Wokey sunucularından hiç geçmez; dolayısıyla Wokey onu her zaman “geçti” diyen bir sürümle değiştiremez. Sayfayı kaydedip çevrimdışı da açabilirsiniz.
Doğrulayıcı sizden PCR0 değerini, yani enclave imajının ölçümünü karşılaştırmanızı ister. Yanıtla birlikte gelen değeri değil, açık kaynak deposunda yayımlanan ve herkesin kaynak koddan yeniden üretebildiği değeri kullanın.
Sonuç nasıl okunur
- Tüm kontroller geçti
- Attestation zinciri AWS Nitro köküne ulaşıyor, PCR0 yayımlanan değerle eşleşiyor, imza geçerli ve yanıt baytları imzalanan hash ile örtüşüyor. Gösterilen upstream host’u (örneğin api.anthropic.com) yanıtın geldiği yerdir ve relay onu değiştirmemiştir.
- Kanıt geçerli, yanıt gövdesi eksik
- Yalnızca tee.proof olayını yapıştırdınız. Kanıtı gerçek bir enclave imzalamış, ancak gövde olmadan hash yeniden hesaplanamaz; bu yüzden gördüğünüz içeriğin değişmediği gösterilmiş olmaz. Yanıtın tamamını yapıştırın.
- PCR0 eşleşmiyor
- Attestation gerçek, ancak enclave denetlenmiş imajı çalıştırmıyor. Yanıtı kanıtlanmamış sayın.
- İmza veya hash kontrolü başarısız
- Kanıt ya da yanıt değiştirilmiş veya kaydetme ya da kopyalama sırasında baytlar değişmiş (örneğin bir kodlama dönüşümü). Ham yanıtı curl -o ile yeniden kaydedin; yine başarısız olursa yanıta güvenmeyin. Kaydetme aracı satır sonlarını CRLF’ye çevirmiş veya dosyayı UTF-16 olarak kaydetmişse doğrulayıcı bunu geri dönüştürür ve bildirir; sonucu yine imzalanan hash belirler.
- tee.proof yok
- Yanıt kanıtlanmamış: anahtarda doğrulama açık olmayabilir, istek bir biçim dönüşümünden geçmiş olabilir veya enclave kullanılamıyor olabilir. Kanıtlanmamış sayın.
Diğer relay’leri kontrol etme: her yöntem neyi yakalar, neyi kaçırır
Upstream imzası olmadan yalnızca dolaylı kontroller yapılabilir. Bunlar bariz sorunları ortaya çıkarır; ancak en iyi sonuç “şüpheli bir şey bulunmadı” olur, asla “resmi olduğu doğrulandı” değil. Yaygın yöntemler ve sınırları aşağıda.
| Yöntem | Nasıl yapılır | Yakalar | Kaçırır |
|---|---|---|---|
| Token sayısı | Nasıl yapılır: Aynı sabit prompt’u aynı modele hem resmi API’den hem relay’den gönderin ve usage içindeki input_tokens değerlerini karşılaştırın. | Yakalar: Başka bir sağlayıcının modeli: tokenizer’lar sağlayıcıdan sağlayıcıya değişir; dolayısıyla sayılar belirgin biçimde tutmaz. | Kaçırır: Aynı sağlayıcının modelleri çoğu zaman aynı tokenizer’ı paylaşır; bu yüzden aynı aileden daha ucuz bir model fark edilmez. Ayrıca resmi API’den bir referans değere ihtiyacınız olur. |
| Prompt caching | Nasıl yapılır: Modelin önbelleğe alınabilir asgari uzunluğundan uzun olan aynı öneki iki kez gönderin. İkinci yanıtın cache_read_input_tokens bildirdiğini ve önbellek okuma fiyatından faturalandığını kontrol edin. | Yakalar: Resmi upstream olmayan bir backend veya önbelleği bozup yine de tam fiyat faturalayan bir relay. | Kaçırır: Önbellek isabeti yalnızca backend’in önbelleği desteklediğini gösterir, hangi model olduğunu değil. |
| Uzun bağlam | Nasıl yapılır: Belirtilen bağlam sınırına yakın uzunlukta, ortasına tek bir kilit bilgi gizlenmiş bir metin gönderin ve ardından o bilgiyi sorun. | Yakalar: Gerçek modelmiş gibi sunulan daha küçük bağlamlı bir model veya geçmişi sessizce kırpan bir relay. | Kaçırır: Doğru yanıt model sürümünü kanıtlamaz; ayrıca en çok token harcayan kontrol budur. |
| Protokol ayrıntıları | Nasıl yapılır: Streaming olay sırasını (message_start’tan message_stop’a), mesaj id biçimini, başlıkları ve hata yapılarını resmi dokümantasyonla karşılaştırın. | Yakalar: Başka bir modelin çıktısını zorla Claude biçimine sokan kaba sarmalayıcılar. | Kaçırır: Bu alanların her birini taklit etmek kolaydır; özenli bir sarmalayıcı hepsini birebir tutturur. |
Güvenilmemesi gereken yöntemler
- Modele “sen kimsin” veya “bilgi kesim tarihin ne” diye sormak: resmi modeller bile bunu sık sık yanlış yanıtlar ve bir relay, system prompt ile herhangi bir modele Claude olduğunu söyletebilir.
- Yanıt kalitesini veya hızını hisle değerlendirmek: prompt’lar, yük ve rastlantısallık ikisini de fazlasıyla oynatır; yalnızca bir ipucu sayın.
Her relay için tek tıkla tarama neden yok
- Bir taramanın, o relay’deki API anahtarınızla istek göndermesi gerekir. Bunları sunucularımızdan geçirmek, başka bir hizmetin anahtarını bize teslim etmeniz demek olur; biz de bunu tutmak istemiyoruz.
- Relay’i doğrudan tarayıcıdan çağırmak başarısız olur, çünkü çoğu relay cross-origin isteklere izin vermez.
- Yukarıdaki kontroller yalnızca “şüpheli” veya “bir şey bulunmadı” diyebilir. Bunları bir puan olarak paketlemek otoriter görünür ve yanıltır.
Relay için öz denetim listesi
Bir relay seçmeden önce veya kullandığınızdan şüphelendiğinizde şu sırayla kontrol edin:
- Yanıt, çevrimdışı doğrulayabileceğiniz bir upstream kanıtı taşıyor mu? Taşıyorsa imzalanan upstream host’u resmi mi, örneğin Claude için api.anthropic.com mu?
- Sabit bir prompt için input_tokens resmi API ile eşleşiyor mu?
- Uzun bir önek tekrarlandıktan sonra yanıt önbellek okuması bildiriyor mu ve önbellek fiyatından mı faturalanıyor?
- Belirtilen sınıra yakın bağlam kırpılmadan işleniyor mu?
- Relay, upstream’inin nereden geldiğini ve istek içeriğini kaydedip saklamadığını açıkça belirtiyor mu?
- Bir relay doğrulanamıyorsa ona gizli anahtarlar, müşteri verileri veya başka hassas içerik göndermeyin.
Kanıt neyi gösterir, neyi göstermez
Gösterir
- Yanıtın hangi resmi upstream host’undan geldiğini.
- Yanıt baytlarının, model alanı dahil, upstream’in döndürdüğüyle birebir aynı olduğunu; relay hiçbir şeyi değiştirmemiştir.
- Enclave’in, herkese açık kaynak koddan derlenmiş bir imaj çalıştırdığını (PCR0 yeniden üretilebilir).
Göstermez
- Gizlilik: relay iletim sırasında düz metni yine işler.
- Kanıtsız yanıtlar; örneğin biçimi dönüştürülen istekler ve görsel üretimi.
- Bayt bayt aynı istekler arasında eski bir yanıtın yeniden oynatılması.
Sık sorulan sorular
Yapıştırdığım yanıt bir yere yükleniyor mu?
Hayır. Doğrulayıcı yalnızca ön yüzde çalışan bir sayfadır; imzaları tarayıcının yerleşik WebCrypto’su ile kontrol eder ve hiçbir ağ isteği göndermez. Bunu tarayıcınızın geliştirici araçlarındaki ağ sekmesinden teyit edebilir veya doğrulayıcıyı kaydedip çevrimdışı kullanabilirsiniz.
AI API relay’leri yasal mı?
Bu, sizin ve relay’in faaliyet gösterdiği yerin yasalarına ve upstream sağlayıcının kullanım koşullarına bağlıdır; bunlar bölgeye ve sağlayıcıya göre değişir. Bu sayfa hukuki tavsiye değildir. Kullanmadan önce, özellikle hassas veya düzenlemeye tabi verilerde, upstream koşullarını ve yerel kuralları okuyun. Bu araç teknik olarak kontrol edilebilen tek bir soruyu yanıtlar: aldığınız yanıt resmi upstream’in özgün yanıtı mı?
Bir relay’in “kalitesi düşürülmüş” bir model sunduğunu nasıl anlarım?
Relay üzerinden daha kötü hissettiren bir modelin nedeni genellikle şunlardan biridir: sessizce daha ucuz bir modele geçiş, kırpılmış konuşma geçmişi, düşürülmüş çıktı limiti veya kapatılmış thinking. Kanıtlı bir yanıt ilkini eler: imza upstream’in özgün baytlarını kapsar, dolayısıyla model alanı resmi API’den gelir. Kırpma ve parametre değişiklikleri istek tarafında olur; yanıt kanıtı bunu kapsamaz. Burada yukarıdaki uzun bağlam ve token sayısı kontrolleri yardımcı olur.
Claude mirror sitesi ile resmi site arasındaki fark ne?
Resmi ürünler claude.ai ve Anthropic API’dir. Mirror site ise üçüncü tarafa ait bir sohbet sayfasıdır; resmi API’yi, paylaşılan hesapları veya başka bir sağlayıcının modelini kullanıyor olabilir, kendi özellikleri ve gizlilik politikası vardır ve kullanıcılar genellikle hangisi olduğunu anlayamaz. API’yi Claude Code veya Cursor gibi araçlardan kullanıyorsanız konu API relay’leridir ve ölçüt aynıdır: hizmet size kendi başınıza doğrulayabileceğiniz bir upstream kanıtı verebiliyor mu?
Yanıtta tee.proof yoksa ne yapmalıyım?
Anahtar için “Resmi doğrulama” seçeneğinin açık olduğunu ve olduğu gibi ileten bir rotayı, yani Claude Messages veya GPT Responses’ı çağırdığınızı kontrol edin. Chat Completions üzerinden Claude gibi biçimi dönüştürülen istekler hiçbir zaman kanıt taşımaz. Enclave geçici olarak kullanılamıyorsa istek yedek yola düşer ve o yanıtın da kanıtı olmaz. Kanıtsız her yanıtı kanıtlanmamış sayın.
Bu araçla başka relay’leri doğrulayabilir miyim?
Doğrulayıcı yalnızca Proof-of-Observation kanıtı taşıyan yanıtları kontrol eder. Protokol açık kaynaktır ve her relay uygulayabilir; uygulamayanlar için yalnızca yukarıdaki dolaylı kontroller geçerlidir ve en iyi sonuç “şüpheli bir şey bulunmadı” olur.