KVKK uyumlu chatbot mimarisi — 2026 sahada ne yapıyoruz
TR veri yerleşim, açık rıza akışı, veri silme talebi endpoint'i, 6 ay PII redaction + 2 yıl hard delete. LeadsUp'ın KVKK uyumu için pratik mimari.
LeadsUp Team
Compliance + Engineering
Neden ayrı bir KVKK yazısı?
Çoğu chatbot platformu "GDPR ready" der ama Türkiye'deki KVKK (6698 sayılı kanun) özel yükümlülükler içerir: veri yerleşim (Türkiye veya AB), açık rıza, aydınlatma metni, veri silme talebi 30 gün içinde, veri ihlal bildirimi 72 saat içinde Kurul'a.
LeadsUp KVKK'ya 2024-Q3'te uyumlandı. Aşağıda mimari karar kayıtları + pratik notlar.
1. Veri yerleşim
Karar: Tüm tenant verisi Frankfurt (Hetzner CX22) veya İstanbul (alternatif sağlayıcı). Backup'lar aynı bölgede. Cross-region replication yok (data localization).
Pratik: Postgres single-region, S3-uyumlu Hetzner Object Storage, Redis aynı VPC. Sentry tarafında veri scrubbing zorunlu — PII Sentry'ye gönderilmez.
2. Açık rıza akışı
İlk gelen mesajda otomatik aydınlatma mesajı atılır:
Merhaba! Ben {{bot_name}}, {{firma_adi}} yapay zekâ asistanı.
Bu sohbetteki mesajlarınız, sizinle iletişim kurabilmemiz için
saklanır (6698 sayılı KVKK çerçevesinde). Detaylı bilgi:
{{firma_kvkk_url}}
Devam etmek için "Evet" yazın.
Bu mesajdan sonra kullanıcı "Evet" yazana kadar bot veri toplamaz (sadece kayıt: audit_logs.event_type = 'kvkk_consent_pending'). Onay alındıktan sonra users.kvkk_consent_at = NOW() set edilir.
Önemli: WhatsApp / Instagram'da konuşmaya kullanıcı başladığı için (in-bound), "rıza" prosedürü teknik olarak gerekmiyor diye savunan firmalar var. Biz conservatively rıza alıyoruz — Kurul'un yorumu net değil, riske girmiyoruz.
3. Veri silme talebi
KVKK md. 11: kişi 30 gün içinde verisinin silinmesini isteyebilir.
LeadsUp'ta 3 yöntem:
a. Kullanıcı kendisi siler (self-service)
Kullanıcı bota yazar: "verilerimi silin"
Bot tespit eder (regex + intent) → transfer_to_agent + audit_logs kayıt
Agent panelden "Veri silme onayı" tıklar
Worker async siler: messages + users + audit retention 30g'ye düşer
b. Email talebi
kvkk@{{tenant_domain}} adresine gelen email otomatik deletion_requests tablosuna düşer. Tenant admin email bildirimi alır.
c. Manual support
Müşteri firma destek hattına yazarsa, agent panelden manuel silme butonunu tıklar.
Süre: 30 gün maksimum. Çoğu vakada anlık (worker 5 dakikada işler).
4. PII redaction (6 ay sonra)
Audit log'lar 2 yıl saklanır (KVKK soruşturmaları için), ama 6 ay sonra içlerindeki PII (telefon, e-posta, isim) hash'lenir. audit_logs.payload JSONB içindeki:
UPDATE audit_logs
SET payload = jsonb_set(
payload,
'{phone}',
to_jsonb(sha256(payload->>'phone')::text)
)
WHERE created_at < NOW() - INTERVAL '180 days'
AND payload ? 'phone';
Cron her gün çalışır.
5. 2 yıl sonra hard delete
audit_logs.created_at < NOW() - INTERVAL '2 years' → DELETE. Sadece analiytics olmayan event'ler kalır (anonim aggregate metrikler).
6. Veri ihlal müdahale (72 saat)
KVKK md. 12: ihlal durumunda 72 saat içinde Kurul'a bildirim.
LeadsUp'ta ihlal tespiti:
- Sentry kritik alert kategori (ör. RLS bypass, DB connection leak)
- CodeQL + Trivy weekly security scan (PR'larda blocking)
- Failed login monitoring — 10+ aynı IP'den failed login → Slack alert
- API key abuse — 1000+ req/dakika tek tenant → throttle + Slack
Tespit edildikten sonra incident_response.md runbook çalışır: scope tespiti, etkilenen tenant listesi, stakeholder email template, Kurul bildirimi PDF formu (önceden hazır).
7. KVKK uyumlu sub-processor listesi
LeadsUp 3rd-party'leri:
| Sub-processor | Veri yerleşim | KVKK uyumu |
|---|---|---|
| Anthropic Claude | AB / ABD | DPA imzalı, EU Standard Contractual Clauses (SCC) |
| OpenAI Whisper | ABD | DPA imzalı, SCC |
| Stripe | İrlanda | EEA DPA |
| Sentry | AB | DPA imzalı |
| Hetzner | Almanya | EEA |
| Resend | ABD | DPA + SCC |
ABD provider (Anthropic, OpenAI, Stripe, Resend) için SCC zorunlu. BYOK seçen tenant'ın LLM API key'i kendi hesabında — bizim sub-processor değil.
8. Tenant DPA template
Her LeadsUp müşterisine Data Processing Agreement (DPA) sağlanır:
- Tenant = Veri Sorumlusu
- LeadsUp = Veri İşleyen
- Süre = abonelik süresi + 30 gün retention
- Audit hakkı = yılda 1 kez, 30 gün önceden bildirim
- Sub-processor değişimi = 30 gün önceden bildirim, opt-out hakkı
/legal/dpa adresinde signed PDF olarak indirilebilir.
9. Sandbox'ta test (Meta'sız 5 dakika)
KVKK uyumu sandbox'ta da çalışır:
1. Portal'da Sandbox sekmesi
2. "Aydınlatma akışını test et" toggle
3. Test mesajı gönder → bot KVKK metnini önce atar
4. Kullanıcı simülasyonu "Evet" yazar → sohbet başlar
Production'a geçmeden önce tenant kendi KVKK metnini girer (tenants.kvkk_notice_text). Default Türkçe template hazır.
10. Hatalar — sık yapılan
- Aydınlatma metnini Meta template'i yapmak — onaylanmıyor (marketing kategorisi). Free-form mesaj kullan, ilk in-bound geldiğinde otomatik bot atar.
- Veri silme talebine 30 gün üzeri yanıt — Kurul cezası riski (max 5M ₺). Worker SLA monitoring + Slack alert.
- Backup'larda silme yapmamak — Daily backup retention 7 gün; deletion request öncesi 7 gün backup'ları da temizlenir.
- 3rd-party'lere PII göndermek — Anthropic / OpenAI'ya telefon / e-posta içermeyen sanitize edilmiş mesaj atılır (
piiRedact()fonksiyonu).
LeadsUp özet
- Türkiye veri yerleşim: Frankfurt + İstanbul opsiyon
- Otomatik aydınlatma: İlk mesajda atar
- Self-service silme: Bot tespit + agent onay, max 30g
- PII redaction: 6 ay
- Hard delete: 2 yıl
- DPA: signed, downloadable
- SCC: Tüm ABD sub-processor'lar için
KVKK uyumu detayı sayfasında.
Sorularınız için: kvkk@leadsup.digital
İlgili yazılar
WhatsApp Business API 2026 Türkiye rehberi
WhatsApp Business API başvuru, Meta Business Manager kurulumu, BSP seçimi, template onayı ve 24 saat penceresi — Türk işletmeleri için adım adım.
OkuTürkiye'de WhatsApp pazarlama compliance — 2026 saha rehberi
ETK (Elektronik Ticaret Kanunu) onay, IYS kayıt, KVKK aydınlatma, Meta opt-in kuralları. WhatsApp broadcast yaparken bilmeniz gereken 7 kanun + pratik notlar.
OkuBYOK chatbot — API maliyetini sıfırlayın, kontrolü size devredin
Bring Your Own Key (BYOK) ile Anthropic/OpenAI/Google API faturanız doğrudan size kesilir. Mark-up yok, kredi paketleri %75 indirimli. Maliyet kontrolü + KVKK uyumu artar.
Oku