Nasıl çalışır?

YerliVeri, Cloudflare'ın küresel ağı üzerinde çalışan iki hafif servisten oluşur: toplama (ingest) ve uygulama (app). Ziyaretçinizin tarayıcısı bir kez SDK'yı indirir; sonrasında hiçbir şey indirmeden küçük, verimli paketlerle veri gönderir.

Veri akışı

Tarayıcı (SDK ~16 KB, async)
   │  olaylar akıllıca yerelde paketlenir (öncelik kuyrukları)
   ▼
a.yerliveri.com  →  doğrulama + normalizasyon + güven skoru + hız limiti
   ▼
Kuyruk (Cloudflare Queues)  →  ziyaretçinin isteği asla ağır işle beklemez
   ▼
Tüketici işçisi
   ├─ D1: dakikada bir toplu aggregate yazımı (write-coalescing)
   ├─ R2: saatlik ham olay arşivi (jsonl.gz — yeniden işlenebilir)
   ├─ Analytics Engine: derin analiz (isteğe bağlı)
   └─ Durable Object: canlı ziyaretçi sayacı + replay tespiti
   ▼
dashboard.yerliveri.com (panel) ve api.yerliveri.com (REST + MCP)

Bu mimarinin sonucu: panonuzdaki tüm görünümler ~60 saniye içinde güncellenir, gerçek zamanlı görünüm ise anlıktır. Veri hacminden bağımsız olarak veritabanı yazım maliyeti sabit kalır — bu da platformu küçük siteler için bile ekonomik tutar.

Tarayıcıda ne olur?

  • SDK, her olay için tek tek istek atmaz: olaylar öncelik kuyruklarında toplanır (hatalar ~150 ms, sayfa görüntüleme ~1,5 sn, etkileşimler ~5 sn, fare yolları ~2 sn) ve tek istekte gönderilir.
  • Fare hareketleri örneklenir ve delta kodlanır; kaydırma %10'lık adımlarla birleştirilir.
  • Gönderim sendBeacon ile yapılır — sayfa kapanırken bile veri kaybı olmaz; başarısız paketler bir sonraki sayfa yükünde tekrar denenir.
  • SDK ~16 KB'dır, async yüklenir ve render'ı engellemez.

Ne toplanır, ne toplanmaz?

ToplanırAsla toplanmaz
Sayfa URL'i, yolu, başlığı; yönlendiren; UTM parametreleriForm değerleri (e-posta, şifre, kart — asla)
Tıklama koordinatı + öğe seçicisi (tag/id/class/aria)HTML içeriği veya ekran görüntüsü
Görünüm alanı, dil, saat dilimi, ekran oranıHam IP adresi (yalnızca HMAC özeti işlenir, sonra atılır)
Web Vitals, navigasyon zamanlamaları, JS hatalarıÜçüncü taraf kimlik takibi / çerezler
Örneklenmiş fare yolu (delta kodlu)Parmak izi / cihaz kimliği eşleştirme

Güven skoru: sahte veri panonuzu zehirleyemez

Her gelen paket; doğrulanmış alan adı, Origin/Referer eşleşmesi, zaman damgası tazeliği (±10 dk), oturum sıra numarası, tarayıcı imzası ve kimlik alanlarına göre 0–100 arası puanlanır:

PuanSeviyeNe olur?
70–100güvenilirPanellere ve tüm raporlara yansır
40–69şüpheliKabul edilir ama işaretlenir; panellerde sayılır, güvenlik görünümünde izlenir
0–39reddedildiAnalitiğe hiç girmez; yalnızca güvenlik arşivine yazılır

Alan adınızı panelde doğrulamanız (DNS TXT) skoru yükseltir ve başkalarının sizin adınıza veri göndermesini engeller. Oturum sıra numaraları proje başına Durable Object'te izlenir; tekrar oynanan (replay) olaylar otomatik işaretlenir.

Hız limitleri ve kötüye kullanım

  • Toplama: IP başına 240 istek/dk; anonim (doğrulanmamış) proje başına 60/dk; doğrulanmış proje başına 3000/dk.
  • Giriş/kayıt uçları: IP başına 10 deneme/dk (kaba kuvvet koruması).
  • API: ilke başına 300 istek/dk. Aşılarda 429 + Retry-After.

Gizlilik modeli

Çerez kullanılmaz. Ziyaretçi kimliği, tarayıcıda tutulan rastgele bir tanımlayıcıdır (localStorage); cihazlar arası eşleştirme yapılmaz. Ham IP, güvenlik işlemleri için anlık HMAC özetine çevrilir ve asla veritabanına yazılmaz. Alan adı doğrulaması yapılmamış sitelerde IP özeti bile tutulmaz. KVKK ve GDPR'nin veri minimizasyonu ilkelerine göre tasarlanmıştır; yine de ziyaretçilerinizi aydınlatma yükümlülüğünüz site sahibi olarak sizdedir — gizlilik politikamız ve siteniz için örnek metin oradadır.

Altyapı

Her şey Cloudflare üzerinde: Workers (hesaplama), D1 (kontrol düzlemi + aggregate), R2 (ham arşiv), Analytics Engine (derin sorgu), Queues (tamponlama), Durable Objects (canlı durum), rate limit bağları (kötüye kullanım). Veriler ve servisler Türkiye'ye en yakın kenar konumdan servis edilir. Kullanılabilirlik ve bileşen durumu: /v1/status.