05 · PII Maskeleme Kuralları
KVKK ve veri minimizasyonu gereği partner API yanıtlarında müşteri PII bilgilerini varsayılan olarak anonimleştiriyoruz. Her partner-organizasyon çifti için ayrı bir PII modu belirleniyor.
Modlar
| Mod | Açıklama | Kullanım |
|---|---|---|
| NONE | Tüm PII strip — adı, telefon, TCKN dönmez; plaka/VIN maskeli | Default. KVKK uyumlu, sözleşme gerektirmez |
| MASKED | Kısmi — adın baş harfleri, telefonun son 4, plaka maskeli | Partner sınırlı izlenebilirlik istiyorsa |
| FULL | Tam PII | Yalnız özel KVKK sözleşmesi + açık rıza ile |
Modu, sözleşme aşamasında partner-organizasyon bazında belirleyip admin panelimizden uygularız.
Field başına davranış
| Field | NONE | MASKED | FULL |
|---|---|---|---|
vehicle.plate_masked | 34 ABC *** | 34 *** 123 | 34 ABC 123 |
vehicle.vin_masked | WBA12345******1234 (chars 9–14 maskeli) | aynı | tam VIN |
customer.fullName | yok | A. Y. | Ahmet Yılmaz |
customer.phone | yok | *******4567 | 05551234567 |
customer.nationalId (TCKN) | yok | yok | tam |
owner.*, seller.*, proxy.* | yok | maskeli | tam |
summary, recommendation (free-text) | TC/telefon regex ile scrub | aynı | scrub yok |
notes (eksperin nokta yorumu) | TC/telefon regex ile scrub | aynı | scrub yok |
Daima gizlenen alanlar (mod fark etmez)
Bu alanlar hiçbir modda partner'a dönmez:
customerId,appointmentId,authorId,reviewerIdrevisionDraft(revize akışı iç state'i)publicSlug(müşteri linkidir; partner ayrı imzalı PDF endpoint'i kullanır)cancelReasonText(free-text, PII içerebilir)discountProofs[](kanıt belgeleri — müşteri yükledi)policyActivations[](müşteri sigortası bilgileri)otosicilQueries(3rd party arşiv sorguları)
Daima gizlenen foto tipleri
photos[] listesinde aşağıdakiler hiçbir modda dönmez:
REGISTRATION(ruhsat — TCKN/adres içerir)OTOSICIL_PDF(3rd party arşiv)showInReport: falseişaretli foto'lar
Kazara sızıntı koruması (defense-in-depth)
Free-text alanlarımız (summary, recommendation, eksperin note'u) regex ile taranır:
- 11 ardışık rakam →
***********(TCKN deseni) - Türk telefon formatları → MASKED'da son 4 görünür; NONE'da tamamen
***
Bu mükemmel değil; partner content'i hassas içerikse her zaman client tarafında ikinci bir filter uygulayın.
Status filtresi
Partner API'da yalnız aşağıdaki statuslar görünür:
PUBLISHED— yayınlanmış rapor (default)ARCHIVED— arşivlenmiş ama tarihsel referans (default)CANCELLED— yalnız?status=cancelledfiltresi ile (mutabakat için)
Görünmeyenler: DRAFT, IN_REVIEW, REVISION_REQUESTED, CANCEL_REQUESTED. Bunlar in-flight, henüz hukuki olarak final değil.
Sonraki: 06 · Hata kodları.