Tanık Dokümantasyon

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

AlanAnlamı
vŞema sürümü
part, seqAylı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
tsUTC, milisaniye hassasiyetinde
request_idİsteğin kimliği; çağırana da verilir
run_idx-run-id başlığından; yoksa null. Çok adımlı bir çalıştırmanın isteklerini bağlar
actorAnahtar kimliği ve varsa x-client-ref
endpointchat, responses, embeddings, messages
stream, bufferedCevap akışlı mıydı, tamponlu mod açık mıydı
targetHedef 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
decisionsHer adımın kararı: step, action (allow, mask, block, flag, hold, skipped), varsa reason, rule_id, mode, categories
policy_versionO anda geçerli politika paketi; anahtar üstyazımı varsa +key eki
outcomecompleted, blocked, error, stream_aborted, held
usageSağlayıcının bildirdiği token sayıları; bildirmediyse alan yok
latency_msTanık'ın harcadığı süre ve sağlayıcıdan ilk bayta kadar geçen süre
content_fingerprintParmak izi anahtarı tanımlıysa istek ve cevabın HMAC özetleri
prev_hash, hashZincir bağı ve bu kaydın özeti

#Değişmezler

#Sürüm geçmişi

SürümDeğişiklik
v1İlk dondurma
v2target 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
v3run_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.