Referans
#Kayıt şeması
Her istek için yazılan denetim kaydı. Şema dondurulmuştur: değişiklik sürüm numarasını artırır, eski kayıtlar hiçbir zaman yeniden yazılmaz ve her okuyucu bütün sürümleri kabul eder. Bugünkü sürüm v3.
{
"v": 3,
"tenant_id": "default",
"part": "2026-09",
"seq": 48213,
"ts": "2026-09-24T09:14:07.312Z",
"request_id": "01K5Q...",
"run_id": null,
"actor": { "api_key_id": "key_01...", "client_ref": "user-8821" },
"endpoint": "chat",
"stream": false,
"buffered": false,
"target": { "name": "anthropic-eu", "region": "eu-frankfurt", "declared": false },
"model": { "requested": "claude-sonnet-4-5", "served": "claude-sonnet-4-5-20250929" },
"decisions": [
{ "step": "auth", "action": "allow" },
{ "step": "budget", "action": "allow", "reason": "under_budget" },
{ "step": "pii_in", "action": "mask", "mode": "deep", "categories": { "tc_kimlik": 1, "name": 2 } },
{ "step": "injection", "action": "allow", "mode": "deep" },
{ "step": "routing", "action": "allow" },
{ "step": "region_rule", "action": "allow", "categories": { "tc_kimlik": 1, "name": 2 } },
{ "step": "pii_out", "action": "allow", "mode": "deep", "reason": "no_pii_detected" }
],
"policy_version": "kvkk-baseline@9",
"outcome": "completed",
"usage": { "in_tokens": 412, "out_tokens": 186 },
"latency_ms": { "gateway": 31.4, "upstream": 1840.2 },
"content_fingerprint": { "request": "3fb8…", "response": "9c41…", "key_version": "k1" },
"prev_hash": "…",
"hash": "…"
}
#Alanlar
| Alan | Anlamı |
|---|---|
v | Şema sürümü |
part, seq | Aylık bölüm ve bölüm içindeki sıra numarası. Zincir bölüm içinde kapalıdır; aylar çapayla bağlanır |
ts | UTC, milisaniye hassasiyetinde |
request_id | İsteğin kimliği; çağırana da verilir |
run_id | x-run-id başlığından; yoksa null. Çok adımlı bir çalıştırmanın isteklerini bağlar |
actor | Anahtar kimliği ve varsa x-client-ref |
endpoint | chat, responses, embeddings, messages |
stream, buffered | Cevap akışlı mıydı, tamponlu mod açık mıydı |
target | Hedef ve bölge; declared bölgenin beyan olduğunu söyler. İstek hiçbir yere gitmediyse null |
model | İstenen model; sağlayıcı bildirdiyse sunulan model |
decisions | Her adımın kararı: step, action (allow, mask, block, flag, hold, skipped), varsa reason, rule_id, mode, categories |
policy_version | O anda geçerli politika paketi; anahtar üstyazımı varsa +key eki |
outcome | completed, blocked, error, stream_aborted, held |
usage | Sağlayıcının bildirdiği token sayıları; bildirmediyse alan yok |
latency_ms | Tanık'ın harcadığı süre ve sağlayıcıdan ilk bayta kadar geçen süre |
content_fingerprint | Parmak izi anahtarı tanımlıysa istek ve cevabın HMAC özetleri |
prev_hash, hash | Zincir bağı ve bu kaydın özeti |
#Değişmezler
- İçerik yok. Kayıtta istek ya da cevap metninden tek bir kelime bulunmaz.
categoriesanahtarları kapalı bir listeden gelir; serbest metin bu alana yazılamaz. targetyalnız istek hiçbir yere gitmediysenull. Reddedilen, hata alan ya da bekletilen bir istek hedef adı taşıyamaz; iletilen bir istek hedefsiz olamaz. Şema bunu iki yönlü olarak denetler.- Her istek tam bir kayıt. İletilen, reddedilen ya da başarısız olan; ağ geçidine ulaşan her istek için bir kayıt yazılır. Hiçbir yolda kayıt atlanmaz.
- Bilinmeyen alan hatadır. Şema katıdır; fazladan bir alan taşıyan belge kabul edilmez.
#Sürüm geçmişi
| Sürüm | Değişiklik |
|---|---|
| v1 | İlk dondurma |
| v2 | target boş olabilir hâle geldi: reddedilen isteğin kaydı için gerekliydi. Önceden sıkı moddaki bir red hiç kayıt bırakmıyordu; bu, bağımsız denetimde bulundu ve düzeltildi |
| v3 | run_id eklendi; held sonucu eklendi |
Eski sürümdeki kayıtlar aynı bölümde yan yana durur ve tek zincir olarak doğrulanır.