Kent Envanter Çerez Politikası
Yürürlük Tarihi: 19 Nisan 2026 Son Güncelleme: 19 Nisan 2026 Versiyon: 1.0 Veri Sorumlusu: Alkazar Mühendislik ve Danışmanlık Ltd. Şti. — "Kent Envanter" markası altında
Bu Çerez Politikası, 6698 sayılı Kişisel Verilerin Korunması Kanunu (KVKK), Kişisel Verileri Koruma Kurulu'nun 20.06.2022 tarihli ve 2022/638 sayılı "Çerez Uygulamaları Hakkında Rehber" kararı ve ilgili olduğu ölçüde Avrupa Birliği Genel Veri Koruma Tüzüğü (GDPR, 2016/679) ile ePrivacy Direktifi (2002/58/EC) kapsamında hazırlanmıştır.
1. Çerez Nedir?
Çerez (cookie), ziyaret ettiğiniz web sitelerinin tarayıcınız aracılığıyla cihazınıza (bilgisayar, tablet, telefon) yerleştirdiği küçük metin dosyalarıdır. Çerezler, oturumunuzun sürdürülmesi, tercihlerinizin hatırlanması, platform performansının ölçülmesi gibi işlevleri yerine getirir.
Çerezler işlevlerine ve sürelerine göre sınıflandırılabilir:
- Oturum çerezleri (session cookies): Yalnızca tarayıcı oturumunuz süresince geçerlidir; tarayıcı kapatıldığında silinir.
- Kalıcı çerezler (persistent cookies): Belirli bir son kullanma tarihine kadar cihazınızda saklanır.
- Birinci taraf çerezler: Doğrudan Kent Envanter tarafından yerleştirilir.
- Üçüncü taraf çerezler: Entegre çalıştığımız servis sağlayıcılar (örn. Supabase, Vercel) tarafından yerleştirilir.
Çerezlerin yanı sıra teknik olarak benzer işlev gören localStorage, sessionStorage, IndexedDB gibi tarayıcı depolama mekanizmaları da KVKK Kurul Rehberi kapsamında "çerez benzeri izleyiciler" olarak kabul edilir. Bu politika bu tür mekanizmaları da kapsar.
2. Çerezleri Hangi Amaçlarla Kullanıyoruz?
Kent Envanter'de çerezleri aşağıdaki dört kategoride kullanıyoruz. Kurul Rehberi'nin temel sınıflandırması ve GDPR Madde 6 hukuki dayanakları şu şekildedir:
2.1 Zorunlu (Kesinlikle Gerekli / Strictly Necessary) Çerezler
Platformun temel işlevlerinin (oturum açma, güvenlik, tercih saklama) çalışması için zorunlu olan çerezlerdir. KVKK Kurul Rehberi uyarınca bu çerezler için açık rıza alınması gerekmez; hukuki dayanağımız KVKK m.5/2-f "meşru menfaat" ve sözleşmenin kurulması ile ifasıdır (GDPR m.6/1-b ve m.6/1-f).
2.2 İstatistik (Analytics / Performans) Çerezleri
Ziyaretçi sayısı, sayfa görüntülenme süresi, hata oranları gibi anonim/takma adlı metrikleri ölçmek amacıyla kullanılır. Bu çerezler için açık rızanız gerekir (KVKK m.5/1, GDPR m.6/1-a). Banner üzerinden "Hepsini Kabul Et" ya da "Ayarlar" menüsünden onay vermediğiniz sürece yerleştirilmezler.
2.3 Tercih (Preference) Çerezleri
Dil, tema, sidebar durumu gibi tercihlerinizi hatırlamak için kullanılır. Kent Envanter'de bu kategoride çerez benzeri tarayıcı depolama (localStorage) kullanılmaktadır ve işlevselliği doğrudan etkilediğinden zorunlu çerezler kategorisinde değerlendirilmektedir.
2.4 Pazarlama / Hedefleme Çerezleri
Reklam, yeniden hedefleme ve kişiselleştirilmiş içerik amacıyla kullanılan çerezlerdir. Kent Envanter platformunda bu kategoride çerez KULLANILMAMAKTADIR. İleride eklenmesi halinde ayrı rıza alınacaktır.
3. Kullandığımız Çerezlerin Detay Tablosu
3.1 Zorunlu Çerezler / Tarayıcı Depolama
| İsim | Türü | Amaç | Süre | Kaynak |
|---|---|---|---|---|
sb-access-token | HTTP Cookie | Supabase kimlik doğrulama oturum anahtarı | 1 saat (JWT) | Birinci taraf / Supabase |
sb-refresh-token | HTTP Cookie | Oturumun sessiz yenilenmesi | 30 gün | Birinci taraf / Supabase |
kentenv:sidebar:v2:expanded | localStorage | Sidebar açık alt kategorilerinin hatırlanması | Kalıcı | Birinci taraf |
kentenv:sidebar:v2:collapsed | localStorage | Sidebar daraltılmış bölümlerinin hatırlanması | Kalıcı | Birinci taraf |
kentenv:sidebar:v2:pinned | localStorage | Kullanıcının sabitlediği menü öğeleri | Kalıcı | Birinci taraf |
first_login_demo_choice | localStorage | İlk girişte demo veri kararının hatırlanması | Kalıcı | Birinci taraf |
aktifBelediyeId | localStorage | Çoklu belediye yetkisi olan kullanıcıların aktif belediye seçimi | Kalıcı | Birinci taraf |
cookie_consent | localStorage | Çerez onay tercihinizin kaydı | 12 ay | Birinci taraf |
3.2 İstatistik Çerezleri (Açık Rıza Gerektirir)
| İsim | Türü | Amaç | Süre | Kaynak |
|---|---|---|---|---|
_vercel_insights_* | HTTP Cookie / localStorage | Sayfa görüntüleme ve performans ölçümü (Web Vitals) | Oturum / 24 saat | Üçüncü taraf (Vercel Inc.) |
sentry-* | HTTP Cookie / localStorage | Hata ve oturum izleme (aktif edildiğinde) | 30 gün | Üçüncü taraf (Functional Software Inc. / Sentry) |
Not: Sentry Session Replay şu anda aktif değildir. Aktif edilmesi halinde IP maskeleme ve hassas alan maskesi varsayılan olarak uygulanacak, bu politika güncellenecektir.
3.3 Pazarlama Çerezleri
Şu anda yoktur.
4. Çerezleri Nasıl Yönetebilirsiniz?
4.1 Kent Envanter Üzerinden
Çerez tercihlerinizi istediğiniz zaman üç yoldan değiştirebilirsiniz:
- Sayfanın alt kısmındaki Çerez Onay Banner'ı (ilk ziyarette otomatik görünür).
- Her sayfanın altbilgisindeki "Çerez Ayarları" linki.
- Hesap ayarlarınız içindeki Gizlilik bölümü.
Tercihinizi değiştirdiğinizde, rıza gerektiren çerezler derhal devre dışı bırakılır ve olanak dahilinde silinir.
4.2 Tarayıcı Ayarları Üzerinden
Tüm modern tarayıcılar çerezleri reddetme, silme ve belirli siteler için bloklama seçenekleri sunar:
- Google Chrome: Ayarlar → Gizlilik ve güvenlik → Çerezler ve diğer site verileri
- Mozilla Firefox: Ayarlar → Gizlilik ve Güvenlik → Çerezler ve Site Verileri
- Safari: Tercihler → Gizlilik → Çerezleri ve site verilerini yönet
- Microsoft Edge: Ayarlar → Çerezler ve site izinleri
Uyarı: Zorunlu çerezleri engellemeniz halinde giriş yapma, oturum sürdürme gibi temel işlevler çalışmayabilir.
4.3 Üçüncü Taraf Opt-Out Linkleri
- Vercel: https://vercel.com/legal/privacy-policy
- Sentry: https://sentry.io/privacy/
5. Üçüncü Taraf Hizmet Sağlayıcılar
Platformumuzda kimlik doğrulama, veritabanı, uygulama barındırma ve analitik gibi teknik altyapı hizmetleri için çeşitli üçüncü taraf hizmet sağlayıcılar kullanılmaktadır. Bu sağlayıcılarla paylaşılan veriler KVKK m.9 ve GDPR Bölüm V kapsamında değerlendirilmekte olup, standart sözleşme hükümleri ve alınmış ek güvenlik önlemleri çerçevesinde yürütülmektedir. Verilerin büyük çoğunluğu Avrupa Birliği (Frankfurt/Almanya) üzerinde barındırılmaktadır.
Söz konusu üçüncü taraf sağlayıcılar hakkında detaylı bilgi için lütfen destek@urclimate.com adresi üzerinden talepte bulunun.
6. Hukuki Dayanak ve Haklarınız
6.1 Hukuki Dayanak
- Zorunlu çerezler: KVKK m.5/2-c (sözleşmenin kurulması/ifası) ve m.5/2-f (meşru menfaat); GDPR m.6/1-b ve m.6/1-f.
- İstatistik / Pazarlama çerezleri: KVKK m.5/1 (açık rıza); GDPR m.6/1-a.
6.2 KVKK m.11 Kapsamındaki Haklarınız
Kişisel verilerinizle ilgili olarak:
- İşlenip işlenmediğini öğrenme,
- İşlenmişse bilgi talep etme,
- İşlenme amacını ve bunların amacına uygun kullanılıp kullanılmadığını öğrenme,
- Yurt içinde / yurt dışında aktarıldığı kişileri bilme,
- Eksik/yanlış işlenmişse düzeltilmesini isteme,
- KVKK m.7 çerçevesinde silinmesini veya yok edilmesini isteme,
- İtiraz etme ve tazminat hakkına sahipsiniz.
6.3 Rızanın Geri Alınması
Verdiğiniz çerez rızasını istediğiniz zaman, verdiğiniz kolaylıkla geri alabilirsiniz. Geri alma işlemi geleceğe etkilidir; geri almadan önce gerçekleşmiş işlemlerin hukuka uygunluğunu etkilemez.
7. Politikada Değişiklik
Bu Politika ihtiyaç duyuldukça güncellenebilir. Önemli değişiklikler (yeni çerez kategorisi, yeni üçüncü taraf eklenmesi vb.) platform içi bildirim ve/veya e-posta yoluyla duyurulur. Güncel versiyon her zaman kentenvanter.com/cerez-politikasi adresinde yayımlanır. Önemli değişikliklerden sonra çerez onayınız yeniden talep edilir.
8. İletişim
Çerez uygulamalarımıza ilişkin soru, talep ve başvurularınız için:
- E-posta: kvkk@kentenvanter.com
- Veri Sorumlusu İletişim Kişisi: (belirlenecek)
- KVKK Veri Sorumluları Sicil Bilgi Sistemi (VERBİS) Kaydı: (belirlenecek)
KVKK m.13 kapsamındaki başvurularınız 30 gün içinde sonuçlandırılır. Cevaptan memnun kalmadığınızda Kişisel Verileri Koruma Kurulu'na (kvkk.gov.tr) şikayet hakkınız saklıdır.
Cookie Consent Banner — Teknik Spesifikasyon
Aşağıdaki bölüm geliştirici ekibinin src/components/CookieConsent.tsx bileşenini inşa etmesi için hazırlanmıştır. Politika metninden bağımsız, teknik ek niteliğindedir.
1. Banner UI / UX
1.1 Konum ve Görünüm
- Sayfanın alt kısmına sabitlenmiş çubuk (fixed bottom,
z-50). - Tam genişlik; masaüstünde maksimum 1200px ortalı, mobilde full-width.
- Arka plan:
bg-white dark:bg-zinc-900, üstten ince bir border (border-t border-zinc-200). - Gölge:
shadow-[0_-2px_12px_rgba(0,0,0,0.08)]. - Metin rengi WCAG AA kontrast oranlarına uygun (4.5:1 minimum).
1.2 İçerik
Banner metni (TR varsayılan):
"Sitemizde zorunlu çerezler yanında, deneyiminizi iyileştirmek için istatistik çerezleri de kullanıyoruz. Detaylı bilgi için Çerez Politikası sayfasını inceleyebilirsiniz."
1.3 Butonlar
KVKK ve GDPR eşit-öncelik (equal prominence) ilkesine uygun olarak üç buton aynı boyut, aynı padding, aynı görsel ağırlıkta tasarlanmalıdır. "Hepsini Kabul Et" butonunun "Sadece Zorunlu"ya göre daha belirgin olması KVKK Rehberi'ne aykırıdır.
- "Sadece Zorunlu" →
cookie_consent = { functional: true, analytics: false, marketing: false } - "Hepsini Kabul Et" →
cookie_consent = { functional: true, analytics: true, marketing: false } - "Ayarlar" → Detaylı modal açar.
Tüm butonlar klavye ile erişilebilir (tab odaklanması, enter çalıştırır), aria-label tanımlı.
2. "Ayarlar" Modal Yapısı
Kategori bazlı toggle'lar:
| Kategori | Toggle | Varsayılan | Etiket |
|---|---|---|---|
| Zorunlu çerezler | — (disabled, always on) | ON | "Platformun çalışması için gerekli — devre dışı bırakılamaz." |
| İstatistik çerezleri | Anahtar | OFF | "Vercel Analytics — sayfa performans ölçümü" |
| Pazarlama çerezleri | Anahtar (disabled) | OFF | "Şu anda kullanılmamaktadır." |
Modal altında iki buton:
- "Tercihlerimi Kaydet" (primary)
- "Vazgeç" (secondary)
3. Depolama ve Durum Yönetimi
3.1 localStorage Anahtarı
const CONSENT_KEY = 'cookie_consent';
type ConsentValue = {
version: 1;
timestamp: string; // ISO-8601
functional: true; // her zaman true
analytics: boolean;
marketing: boolean; // şu an her zaman false
};
3.2 Davranış Kuralları
- İlk ziyaret:
localStorage.getItem('cookie_consent')null ise banner gösterilir. - Karar verildikten sonra: Banner gizlenir; tercih 12 ay sonra yeniden sorulur (timestamp kontrolü).
- Auth sayfalarında gösterim:
/giris,/kayitdahil tüm public sayfalarda görünür. - Footer "Çerez Ayarları" linki: Modal'ı doğrudan açar (banner değil).
- Event emit: Tercih değiştiğinde
window.dispatchEvent(new CustomEvent('cookie-consent-changed', {detail}))tetiklenir; analytics modülü bu eventi dinleyip kendi init'ini yapar veya durdurur.
3.3 Reddedildiğinde Davranış
analytics: false ise:
- Vercel Analytics script yüklenmez (
<Analytics />bileşeni koşullu render edilir). _vercel_insights_*gibi mevcut çerezler temizlenir (document.cookieexpire +localStorage.removeItem).
4. Kütüphane Seçimi
| Seçenek | Artı | Eksi |
|---|---|---|
| A. Self-implemented | Tam kontrol, ~300 satır, tasarım diline uyum, ek bağımlılık yok | Bakım maliyeti, WCAG testi kendimize ait |
B. vanilla-cookieconsent | Açık kaynak, WCAG AA, i18n hazır | Ek bağımlılık, default stil override gerekir |
| C. Cookiebot | Hukuk ekibinin sevdiği raporlama | Ayda €9+, yükleme süresi, fazla karmaşık |
Tavsiye: Seçenek A (self-implemented). Ekibin React/Tailwind hakimiyeti yeterli, bağımlılık yüzeyi küçük.
4.1 Minimal İskelet
'use client';
import { useEffect, useState } from 'react';
type Consent = {
version: 1;
timestamp: string;
functional: true;
analytics: boolean;
marketing: false;
};
const KEY = 'cookie_consent';
export function CookieConsent() {
const [open, setOpen] = useState(false);
const [settingsOpen, setSettingsOpen] = useState(false);
useEffect(() => {
const raw = localStorage.getItem(KEY);
if (!raw) setOpen(true);
}, []);
const save = (c: Partial<Consent>) => {
const value: Consent = {
version: 1,
timestamp: new Date().toISOString(),
functional: true,
analytics: false,
marketing: false,
...c,
};
localStorage.setItem(KEY, JSON.stringify(value));
window.dispatchEvent(new CustomEvent('cookie-consent-changed', { detail: value }));
setOpen(false);
setSettingsOpen(false);
};
if (!open && !settingsOpen) return null;
// ... banner + modal JSX ...
}
5. GDPR vs KVKK Farklılıkları
| Konu | KVKK (TR) | GDPR (AB) |
|---|---|---|
| Rıza kavramı | "Açık rıza" — m.3/1-a | "Explicit consent" — m.4(11), m.7 |
| Dayanak | 6698 / Kurul 2022/638 Rehberi | 2016/679 + ePrivacy 2002/58 |
| Opt-in zorunluluğu | Evet (zorunlu çerez hariç) | Evet |
| Eşit-prominence ilkesi | Rehber'de "önceden işaretli kutu olmamalı" | EDPB 05/2020'de net |
| Rızanın geri alınması | "Verdiği kolaylıkla" — m.4 | "As easy as to give" — m.7(3) |
| Yaptırım | 100.000 TL - 5 milyon TL idari para cezası | Yıllık global cironun %4'üne kadar |
| Yetkili otorite | KVKK Kurulu | Ulusal DPA'lar + EDPB |
Pratik sonuç: Her iki mevzuat da opt-in modelini, eşit görsel ağırlıklı butonları ve rıza kaydının saklanmasını zorunlu kılar. "Hepsini Kabul Et" ile "Sadece Zorunlu" butonları aynı boyut, renk kontrastı ve tıklama hedefinde olmalıdır.
Değişiklik Günlüğü
| Versiyon | Tarih | Değişiklik |
|---|---|---|
| 1.0 | 19.04.2026 | İlk yayımlama |