feat(kvkk): çerez politikası, ölçümü kapatma ve ilk ziyaret bilgi bandı
All checks were successful
Deploy / deploy (push) Successful in 6m27s
All checks were successful
Deploy / deploy (push) Successful in 6m27s
- /cerez-politikasi: çerez aydınlatma metni (ad, amaç, süre, taraf), Rybbit ölçümünün kapsamı ve hukuki dayanağı (KVKK md. 5/2-f, Çerez Rehberi Temmuz 2025 §5.9) - OlcumTercihi: Rybbit'i tarayıcıda kapatan düğme (disable-rybbit) - CerezBilgi: ilk ziyarette bir kez görünen bilgilendirme (onay penceresi değil; rıza gerektiren çerez yok) - gizlilik: analitik bölümü kodla eşitlendi (e-posta/ad gönderilmiyor) - alt bilgi ve sitemap'e sayfa eklendi - docs: hukuki analiz ve meşru menfaat denge testi Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
133
docs/ekip-raporlari/2026-10-05/cerez-uyum.md
Normal file
133
docs/ekip-raporlari/2026-10-05/cerez-uyum.md
Normal file
@@ -0,0 +1,133 @@
|
||||
# Çerez ve analitik uyumu (5 Ekim 2026)
|
||||
|
||||
Soru: Rybbit ile ölçüm yapıyoruz, çerez izni istemiyoruz. Yasal mı, ne eksik?
|
||||
|
||||
**Sonuç:** Onay penceresi (kabul/ret) gerekmiyor. Ama aydınlatma eksikti ve Rybbit
|
||||
panelinde üç ayar politikanın söylediğiyle uyuşmalı. Kod tarafı yapıldı; panel
|
||||
tarafı Bilal'de (en altta).
|
||||
|
||||
> Bu bir avukat görüşü değildir. Kaynak metinler okunarak hazırlandı; yayından önce
|
||||
> bir KVKK avukatına 30 dakikalık okuma yaptırmak makul.
|
||||
|
||||
## 1. Hukuki çerçeve
|
||||
|
||||
| Kaynak | Bize etkisi |
|
||||
|---|---|
|
||||
| **5809 sayılı Elektronik Haberleşme Kanunu md. 51/3** (cihaza bilgi yazma → açık rıza) | **Uygulanmaz.** Yalnız BTK yetkili "işletmeciler" için. Rehber bunu açıkça söylüyor (§3): site operatörleri kapsam dışı. Türkiye'de AB'deki ePrivacy md. 5/3'ün genel karşılığı yok. |
|
||||
| **KVKK (6698) md. 4, 5, 10, 11, 12** | **Uygulanır.** Çerez ya da ölçümle kişisel veri işleniyorsa hukuki sebep (md. 5) ve aydınlatma (md. 10) gerekir. |
|
||||
| **KVKK Çerez Uygulamaları Hakkında Rehber, Temmuz 2025 (Yayın No 69)** | Asıl referans. Bağlayıcı değil ama Kurul kararları bunu izliyor. |
|
||||
| **Kurul kararı 2020/173** ve 2022'deki 300 bin TL'lik çerez cezası | İkisi de rızasız **reklam/üçüncü taraf analitik** çerezi + aydınlatma yokluğu. Bizim durumumuz değil. |
|
||||
| **GDPR / ePrivacy** | Site Türkçe, Türkiye'deki YKS adaylarına yönelik; AB'ye hizmet sunma ya da AB'dekileri izleme yok → GDPR md. 3/2 kapsamında değiliz. AB'ye açılırsak `rybbit-user-id` yazımı ePrivacy'de rıza ister; o gün yeniden bakılır. |
|
||||
|
||||
### Rehberin bizi ilgilendiren üç hükmü
|
||||
|
||||
1. **§5.9 — Birinci taraf analitik çerezler "Kriter B" (rıza gerekmeyen) sayılır.**
|
||||
2022 sürümünde analitik rıza istiyordu; Temmuz 2025 güncellemesi bunu değiştirdi.
|
||||
Şartları: yalnız kitle ölçümü, veri ölçülü olmalı ve IP maskelenmeli, **yalnız
|
||||
anonim istatistik** üretilmeli, siteler arası takip olmamalı, süre makul olmalı,
|
||||
veri üçüncü tarafa gitmemeli.
|
||||
2. **§1.2 — local storage, parmak izi, piksel için rehber yönlendirme yapmıyor.**
|
||||
Yani "çerezsiz" olmak bizi kapsam dışına çıkarmaz ama rıza da doğurmaz; genel
|
||||
KVKK md. 5 değerlendirmesi yapılır (aşağıdaki denge testi).
|
||||
3. **§9 — Aydınlatma, hukuki sebepten bağımsız olarak siteye girişte yapılmalı**
|
||||
("pop-up gibi bir bilgilendirme yoksa aydınlatma yükümlülüğüne aykırılık gündeme
|
||||
gelebilir") ve çerezin adı, amacı, süresi, birinci/üçüncü taraf oluşu yazılmalı.
|
||||
Gizlilik metninin içine gömülü tek paragraf yeterli sayılmıyor.
|
||||
|
||||
## 2. Sitede gerçekte ne var (koddan ve canlı betikten doğrulandı)
|
||||
|
||||
- **Çerezler (hepsi birinci taraf, zorunlu):** better-auth oturum çerezleri,
|
||||
`kolaytercih.profil`, `kolaytercih.liste-sayi`. Reklam/üçüncü taraf çerez yok.
|
||||
- **Rybbit:** kendi sunucumuzda, sunucu Türkiye'de (178.211.130.206, Pentech/Bursa)
|
||||
→ yurt dışı aktarım yok. Çerez yazmıyor. Ama canlı betik (`/api/script.js`)
|
||||
incelendiğinde:
|
||||
- Her ziyaretçide localStorage'a `rybbit-visitor-id` yazıyor (yalnız feature flag
|
||||
açıkken gönderilir; bizde kapalı → gönderilmiyor).
|
||||
- Girişte localStorage'a `rybbit-user-id` yazıyor ve her olaya ekliyor.
|
||||
- Anonim ziyaretçiyi IP + tarayıcı bilgisinin özetiyle tanıyor.
|
||||
- Panel ayarı (herkese açık `tracking-config` ucundan okundu): `trackCopy: true`,
|
||||
`trackFormInteractions: true`, `trackButtonClicks: true`, `trackUrlParams: true`,
|
||||
`trackErrors: true`, `webVitals: true`, `sessionReplay: false`.
|
||||
- **Bulgu A — kopyalama izleme açık.** Kullanıcının kopyaladığı metnin ilk 500
|
||||
karakteri Rybbit'e gidiyor. Danışman cevabını ya da kendi mesajını kopyalayan
|
||||
öğrencinin metni analitiğe düşer. "Kitle ölçümü" sınırını aşar; **kapatılmalı.**
|
||||
- **Bulgu B — gizlilik metni eskimişti.** "E-posta adresin ve adın analitiğe
|
||||
kaydedilir" diyordu; kod 21 Eylül'den beri (c055e82) yalnız kimlik numarası
|
||||
gönderiyor. Metin düzeltildi. Rybbit'te o tarihten önce yazılmış e-posta/ad
|
||||
kayıtları duruyorsa silinmeli.
|
||||
- **Bulgu C — form izleme zararsız.** Yalnız alan adı/türü gidiyor, değer gitmiyor.
|
||||
- Ham sıralama: sayfa adreslerinde artık `?sira=` taşınmıyor (yalnız `/api/…`
|
||||
çağrılarında; Rybbit bunları görmez), `/sonuc` maskeli. Eski satırlar panelde
|
||||
duruyor olabilir (BACKLOG #31).
|
||||
|
||||
## 3. Meşru menfaat denge testi (KVKK md. 5/2-f)
|
||||
|
||||
Rehber §4 bu testi yapmayı tavsiye ediyor; kayıt olarak burada dursun.
|
||||
|
||||
- **Menfaat:** sitenin hangi sayfalarının kullanıldığını, sihirbazın nerede
|
||||
bırakıldığını ve hataları görmek. Gerçek, güncel, hukuka uygun.
|
||||
- **Zorunluluk:** bu bilgi ölçüm olmadan elde edilemiyor; daha az veriyle çalışan
|
||||
bir yol seçildi (çerez yok, IP saklanmıyor, sıralama bantlı, hassas adresler
|
||||
maskeli, ekran kaydı kapalı, veri kendi sunucumuzda).
|
||||
- **Kişiye etkisi:** düşük. Siteler arası takip yok, reklam yok, profil
|
||||
çıkarılmıyor, üçüncü tarafa aktarım yok. Makul beklenti içinde.
|
||||
- **Güvenceler:** ayrı çerez politikası, ilk ziyarette bilgilendirme, tek tıkla
|
||||
kapatma (itiraz hakkı), e-posta/ad analitikte yok.
|
||||
- **Zayıf nokta:** girişli kullanıcının ziyareti hesap kimliğiyle eşleşiyor. Bu
|
||||
"anonim istatistik" değil, takma adlı veri; §5.9'un en dar okumasının dışında.
|
||||
Savunması: yalnız hesabı olan kullanıcıda, yalnız kendi sitemizde, açıkça
|
||||
bildirilmiş, kapatılabilir. **Kalan risk: düşük-orta.** Sıfıra indirmek istersek
|
||||
`RybbitIdentify` kaldırılır; bedeli "sihirbaz → giriş → ödeme" hunisinin kişi
|
||||
bazında birleşmemesi.
|
||||
- **18 yaş altı:** kitlenin bir kısmı 17 yaşında. Ölçüm pazarlama için
|
||||
kullanılmadığından ek rıza doğmuyor; metin sade dille yazıldı (Rehber §9).
|
||||
|
||||
## 4. Yapılanlar (kod)
|
||||
|
||||
- `src/app/cerez-politikasi/page.tsx` — çerez politikası + çerez aydınlatma metni
|
||||
(ad, amaç, süre, taraf; ölçümün ne topladığı; hukuki dayanak; yönetim).
|
||||
- `src/components/olcum-tercihi.tsx` — "Ölçümü kapat" düğmesi (Rybbit'in kendi
|
||||
`disable-rybbit` kapısı; kimlik kayıtlarını da siler).
|
||||
- `src/components/cerez-bilgi.tsx` + `layout.tsx` — ilk ziyarette bir kez görünen
|
||||
bilgi bandı. Kabul/ret yok, çünkü sorulan rıza yok.
|
||||
- `src/app/gizlilik/page.tsx` — "Çerezler ve analitik" bölümü gerçeğe göre düzeltildi.
|
||||
- Alt bilgiye ve `sitemap.ts`'e sayfa eklendi.
|
||||
|
||||
## 5. Bilal'in yapacakları
|
||||
|
||||
**Yayından önce (politika bunları doğru varsayıyor):**
|
||||
|
||||
1. Rybbit paneli → site ayarları → **kopyalama izlemeyi (Copy) kapat.** Doğrulama:
|
||||
`curl -s https://rybbit.kolaytercih.com/api/site/tracking-config/f2cb042c657e`
|
||||
çıktısında `"trackCopy":false` görünmeli.
|
||||
2. Aynı ekranda **IP adresi saklama (Track IP Address) kapalı** mı bak (varsayılan
|
||||
kapalı). Açıksa kapat.
|
||||
3. **Oturum kaydı (Session Replay) kapalı kalsın.** Açılacaksa önce politika ve
|
||||
denge testi güncellenir.
|
||||
|
||||
**Yakın zamanda:**
|
||||
|
||||
4. Rybbit kullanıcılar ekranında 21 Eylül öncesinden kalan **e-posta/ad** kayıtları
|
||||
varsa sil.
|
||||
5. "User ID Salting" ayarı: açılırsa anonim ziyaretçi kimliği her gün sıfırlanır
|
||||
(en temiz hâl), bedeli girişsiz ziyaretçide "geri dönen" ölçümünün kaybı. Karar
|
||||
senin; politika iki hâlde de doğru.
|
||||
6. Ölçüm verisi için saklama süresi belirle (öneri: 24 ay) ve belirleyince
|
||||
politikaya yaz.
|
||||
7. Gizlilik sayfasındaki `[şirket unvanı ve adresi eklenecek]` hâlâ boş; çerez
|
||||
politikası veri sorumlusu için o sayfaya atıf yapıyor.
|
||||
8. Bilgi bandını telefonda bir kez gözle kontrol et (alt kenarda, `KaydetBanner`
|
||||
ile aynı yerde, onun üstünde açılır).
|
||||
|
||||
## 6. Ne zaman onay penceresi gerekir
|
||||
|
||||
Şunlardan biri eklendiği gün: Google Analytics / Meta Pixel / TikTok Pixel, reklam
|
||||
ya da yeniden hedefleme, gömülü YouTube/sosyal eklenti, Rybbit oturum kaydı, Rybbit
|
||||
bulut sürümüne geçiş (üçüncü taraf + yurt dışı). O gün "Kabul et" ile "Reddet"
|
||||
eşit görünürlükte olmalı ve rıza verilmeden betik yüklenmemeli.
|
||||
|
||||
## Kaynaklar
|
||||
|
||||
- KVKK, Çerez Uygulamaları Hakkında Rehber (Temmuz 2025): https://www.kvkk.gov.tr/Icerik/7353/Cerez-Uygulamalari-Hakkinda-Rehber
|
||||
- Erdem & Erdem, rehber güncellemesi notu (28.07.2025): https://www.erdem-erdem.av.tr/bilgi-bankasi/kisisel-verileri-koruma-kurumu-cerez-uygulamalari-hakkinda-rehberi-guncelledi
|
||||
- Rybbit site ayarları: https://rybbit.com/docs/site-settings
|
||||
Reference in New Issue
Block a user