KVKK aydınlatma metni, web sitesi sahiplerinin en sık karıştırdığı belgedir. Bir siteyi incelediğimde çoğu zaman şunu görüyorum: iletişim formunun altında "KVKK metnini okudum, onaylıyorum" yazan tek bir kutucuk, kutucuk zaten işaretli gelmiş, tıklandığında açılan sayfada ise hem aydınlatma hem açık rıza hem çerez politikası aynı belgeye sıkıştırılmış. Bu kurgu üç ayrı yükümlülüğü tek bir kutucukla geçiştirmeye çalışır ve hiçbirini karşılamaz.
Bu yazıda aydınlatma metnini gerçekten işe yarayacak şekilde kuruyoruz: aydınlatma yükümlülüğü ile açık rızanın farkı, metinde bulunması zorunlu altı bilgi, veri sorumlusunun kim olduğu, metnin sitedeki hangi formda nerede gösterileceği ve onay kutucuğunun teknik olarak nasıl kodlanacağı. Şablon dağıtan çok, ama hangi metnin hangi ekranda, hangi sırada çıkacağını anlatan yok; asıl fark orada. Bir de sık atlanan bir konu var: metni yayınlamak yetmez, sürümünü ve kullanıcının hangi sürümü gördüğünü kaydetmeniz gerekir.
Aydınlatma Metni ile Açık Rıza Metni Arasındaki Fark#
Aydınlatma metni bir bilgilendirmedir, açık rıza metni ise bir izindir; birincisi her durumda zorunlu, ikincisi yalnızca başka hukuki sebep yoksa gereklidir. Bu tek cümle karışıklığın çoğunu çözer ama sonuçları önemlidir.
Aydınlatma yükümlülüğü koşulsuzdur. Kişisel veriyi hangi hukuki sebeple işlerseniz işleyin — sözleşme kurulması, hukuki yükümlülük, meşru menfaat, açık rıza — kişiyi bilgilendirmek zorundasınız. Yani bir müşteri sipariş verdiğinde adresini işlemek için rızasına ihtiyacınız yoktur (sözleşmenin ifası için gereklidir), ama ona bu veriyi kimin, neden, ne kadar süreyle işlediğini anlatmak zorundasınız.
Açık rıza ise son çaredir. Veriyi işlemek için başka bir hukuki sebebiniz varsa rıza istemeyin; istemeniz durumu kötüleştirir, çünkü rıza her an geri alınabilir ve geri alındığında işlemeyi durdurmanız gerekir. Sipariş verisi için rıza alıp müşteri rızasını geri çekerse, faturayı saklamak zorunda olduğunuz hâlde elinizde çelişkili bir durum kalır.
| Aydınlatma metni | Açık rıza metni | |
|---|---|---|
| Amacı | Bilgilendirmek | İzin almak |
| Zorunlu mu | Her zaman | Yalnızca başka hukuki sebep yoksa |
| Onay kutucuğu | Gerekmez (okundu bilgisi yeterli) | Gerekir, boş gelmeli |
| Geri alınabilir mi | Konu değil | Evet, her an |
| Sırası | Önce | Sonra |
| Örnek | "Verileriniz sipariş teslimi için işlenir" | "Kampanya e-postası göndermemize izin veriyorum" |
Sıra kritiktir: aydınlatma her zaman rızadan önce gelir. Kişi neyin, neden işlendiğini bilmeden verdiği izin bilinçli bir izin sayılmaz. Formunuzda önce aydınlatma bağlantısı, sonra rıza kutucuğu bulunmalıdır.
Aydınlatma Metninde Zorunlu Olan Bilgiler#
Bir aydınlatma metninde şu altı başlık eksiksiz bulunmak zorundadır; birinin eksikliği metni geçersiz kılar:
- Veri sorumlusunun ve varsa temsilcisinin kimliği. Ticaret unvanı, adres, vergi numarası veya MERSİS numarası, iletişim kanalı. "Firmamız" gibi belirsiz ifade yeterli değildir.
- Kişisel verilerin hangi amaçla işleneceği. "Hizmetlerimizi sunmak için" gibi genel cümle değil; her veri kategorisi için somut amaç. "Sipariş teslimi", "fatura düzenleme", "destek talebi çözümü" gibi.
- İşlenen verilerin kimlere ve hangi amaçla aktarılabileceği. Kargo firması, ödeme kuruluşu, muhasebe yazılımı, e-posta gönderim servisi, hosting sağlayıcısı — hepsi alıcı grubudur. Yurt dışına aktarım varsa özellikle belirtilmelidir.
- Verilerin toplanma yöntemi ve hukuki sebebi. "Web sitesi üzerindeki iletişim formu aracılığıyla elektronik ortamda, sözleşmenin kurulması hukuki sebebine dayanarak" gibi. Yöntem ve sebep birlikte yazılır.
- İlgili kişinin hakları. Bilgi talep etme, düzeltme, silme, işlemeye itiraz, zararın giderilmesini talep etme gibi kanunda sayılan haklar tek tek listelenmelidir.
- Başvuru kanalı. Bu haklarını nasıl kullanacağı: hangi e-posta adresine, hangi KEP adresine, hangi posta adresine, hangi belgelerle başvurulacağı.
Bunlara ek olarak metne mutlaka koymanız gereken ve şablonlarda çoğu zaman bulunmayan iki alan var: saklama süresi (her veri kategorisi için ne kadar süreyle tutulduğu) ve metnin sürüm tarihi. İkincisi ileride "hangi metni gördü" sorusunun tek cevabıdır.
Veri Sorumlusu Kim Sayılır#
Veri sorumlusu, kişisel verinin işlenme amacını ve yöntemini belirleyen taraftır; web sitesi senaryosunda bu neredeyse her zaman site sahibi işletmedir. Bu ayrım sanıldığından önemlidir çünkü sorumluluk hosting sağlayıcısına, ajansa veya yazılım firmasına devredilemez.
Hosting sağlayıcısı, e-posta gönderim servisi, ödeme kuruluşu ve muhasebe yazılımı sizin talimatınızla veri işleyen taraflardır — yani veri işleyendir. Sunucudaki verinin kaderini onlar değil siz belirlersiniz; onlar altyapıyı sunar. Bu yüzden aydınlatma metninde veri sorumlusu olarak kendi ticaret unvanınızı yazarsınız, hosting firmanızın adını değil. Ancak veri işleyenlerle aranızda yazılı bir ilişki bulunması ve bunların alıcı grubu olarak metninizde geçmesi gerekir.
Şahıs firması, adi ortaklık veya hobi amaçlı bir blog fark etmez: kişisel veri topluyorsanız veri sorumlususunuz. "Ben küçük bir işletmeyim, bana uygulanmaz" düşüncesi yanlıştır. Kapsam dışında kalan tek durum, verilerin tamamen kişisel veya aile içi faaliyet kapsamında işlenmesidir ki bir ticari web sitesi bunun dışındadır. Kayıt yükümlülüğü ise ayrı bir konudur ve eşiklere bağlıdır; ayrıntısı için VERBİS kaydı nedir yazısına bakın.
Aydınlatma Metnini Adım Adım Hazırlama#
Metni yazmaya baştan başlamayın; önce neyi işlediğinizi çıkarın. Sıralama şu:
- Veri envanterini çıkarın. Sitede kişisel veri toplayan her noktayı listeleyin: iletişim formu, üyelik kaydı, sipariş adımı, e-bülten kutusu, yorum alanı, canlı destek, iş başvuru formu, sunucu erişim logları, çerezler.
- Her nokta için veri kategorisini yazın. İletişim formu: ad-soyad, e-posta, mesaj içeriği. Sipariş: ad-soyad, adres, telefon, fatura bilgisi, sipariş geçmişi. Sunucu logu: IP adresi, tarayıcı bilgisi, erişim zamanı.
- Her kategori için amacı yazın. Amaç "pazarlama" gibi geniş değil, "sipariş durumu bildirimi göndermek" gibi dar olmalı.
- Her amaç için hukuki sebebi belirleyin. Sözleşmenin ifası, hukuki yükümlülük, meşru menfaat veya açık rıza. Bu adım metni sadeleştirir: rıza gerektiren kalemler ayrı bir listeye düşer.
- Alıcı gruplarını yazın. Kargo, ödeme kuruluşu, e-posta servisi, barındırma sağlayıcısı, muhasebeci, resmi kurumlar.
- Saklama sürelerini belirleyin. Fatura verisi için mevzuattaki saklama süresi, form mesajları için makul bir süre, sunucu logları için teknik ihtiyaç süresi.
- Metni yazın. Yukarıdaki tablo cümlelere dönüşür. Kısa cümle kurun; anlaşılmayan metin aydınlatma sayılmaz.
- Sürüm numarası ve yürürlük tarihi ekleyin. Metnin en altına "Sürüm 2 — yürürlük tarihi ..." satırı koyun.
Bu envanteri çıkarmak sıkıcı görünür ama sadece metin için değil; çerez politikanız, saklama-imha politikanız ve gerekiyorsa sicil kaydınız aynı tablodan üretilir. Bir kez düzgün yaptığınızda diğer belgeler kendiliğinden çıkar. Çerez tarafını ayrı ele almak için çerez politikası nasıl hazırlanır yazısı işinizi kolaylaştırır.
Sitenin Hangi Formunda Hangi Metin Gösterilir#
Aydınlatma metnini hazırlamak işin yarısı; asıl iş onu doğru ekranda göstermektir. Aşağıdaki tablo, tipik bir Türk web sitesindeki her veri toplama noktasında hangi metnin nasıl görüneceğini gösteriyor.
| Nokta | Aydınlatma | Açık rıza | Nasıl gösterilir |
|---|---|---|---|
| İletişim formu | Zorunlu | Gerekmez (talebe cevap meşru menfaat) | Gönder butonunun üstünde metne bağlantı + "okudum" ifadesi |
| Üyelik kaydı | Zorunlu | Yalnızca pazarlama için ayrı kutucuk | Aydınlatma bağlantısı + varsa boş rıza kutucuğu |
| Sipariş / ödeme adımı | Zorunlu | Gerekmez (sözleşmenin ifası) | Özet adımında bağlantı; mesafeli satış sözleşmesinden ayrı |
| E-bülten kutusu | Zorunlu | Zorunlu | Boş kutucuk + İYS onay metni ayrı satırda |
| Yorum / değerlendirme | Zorunlu | Ad görünürlüğü için | Form altında kısa bilgilendirme + tam metne bağlantı |
| Canlı destek | Zorunlu | Gerekmez | Sohbet açılışında tek satır bildirim + bağlantı |
| İş başvuru formu | Zorunlu (ayrı metin) | Özgeçmiş havuzunda tutmak için | Ayrı bir çalışan adayı aydınlatma metni |
| Çerezler | Zorunlu (çerez politikası) | Zorunlu olmayan çerezler için | Onay bandı üzerinden |
Tablodan çıkan üç pratik kural: Birincisi, aydınlatma her satırda var; rıza yalnızca bazılarında. İkincisi, aydınlatma için onay kutucuğu koymak gerekmez — kutucuk rıza içindir, bilgilendirme için bağlantı ve kısa bir cümle yeterlidir. Üçüncüsü, farklı amaçlar farklı kutucuk ister; "aydınlatma metnini ve ticari ileti iznini kabul ediyorum" şeklinde tek kutucukta birleştirmek rızayı geçersiz kılar. Ticari ileti izninin ayrıca kayıt altına alınması gerektiğini de unutmayın; ayrıntısı İYS kaydı ve ticari elektronik ileti yazısında.
Metinlerin nerede yayınlanacağı da sorulur: her metin kendi kalıcı URL'sinde dursun (/aydinlatma-metni, /cerez-politikasi, /gizlilik), footer'dan erişilebilsin ve formlardan yeni sekmede açılsın. Formu terk ettirip metne yönlendirmek dönüşümü de düşürür, kullanıcı deneyimini de bozar. Zorunlu metinlerin tam listesi için web sitesi zorunlu yasal metinler yazısına göz atın.
Onay Kutucuğu Nasıl Kodlanır#
Onay kutucuğunun kodu, hukuki geçerliliğin doğrudan parçasıdır; checked niteliği bırakılmış tek bir satır bütün rızayı geçersiz kılabilir. Doğru form şu yapıdadır:
<form method="post" action="/iletisim">
<input type="text" name="ad" required>
<input type="email" name="eposta" required>
<textarea name="mesaj" required></textarea>
<!-- 1) AYDINLATMA: kutucuk yok, sadece bilgilendirme ve bağlantı -->
<p class="kvkk-bilgi">
Formu göndererek verilerinizin
<a href="/aydinlatma-metni" target="_blank" rel="noopener">aydınlatma metninde</a>
açıklanan şekilde işleneceğini bilgilendirme amacıyla belirtiriz.
</p>
<!-- 2) AÇIK RIZA: ayrı, boş, isteğe bağlı kutucuk -->
<label class="kvkk-riza">
<input type="checkbox" name="ticari_izin" value="1">
Kampanya ve duyurulardan e-posta ile haberdar olmak istiyorum.
<a href="/acik-riza-metni" target="_blank" rel="noopener">Açık rıza metni</a>
</label>
<input type="hidden" name="metin_surumu" value="3">
<button type="submit">Gönder</button>
</form>
Dikkat edilecek noktalar: rıza kutucuğunda checked yok ve required de yok. required koyarsanız kullanıcı formu göndermek için izin vermek zorunda kalır; bu, rızanın özgür iradeyle verilmesi şartını ihlal eder ve hizmeti rıza şartına bağlamış olursunuz. Aydınlatma satırında kutucuk hiç yoktur çünkü bilgilendirmeyi onaylatmak diye bir kavram yoktur.
metin_surumu gizli alanı, kullanıcının hangi sürümü gördüğünü sunucuya taşır. Sunucu tarafında bu değeri kaydedin:
<?php
$stmt = $pdo->prepare(
'INSERT INTO kvkk_onaylari
(eposta, ticari_izin, metin_surumu, kaynak_form, ip_ozeti, olusturuldu)
VALUES (?,?,?,?,?,NOW())'
);
$stmt->execute( [
$_POST['eposta'],
isset( $_POST['ticari_izin'] ) ? 1 : 0,
(int) ( $_POST['metin_surumu'] ?? 0 ),
'iletisim',
hash( 'sha256', ( $_SERVER['REMOTE_ADDR'] ?? '' ) . TUZ ),
] );
WordPress ve Contact Form 7 kullanıyorsanız aynı mantık kısa kodla kurulur; onay kutusunu acceptance alanı olarak eklerken default:on seçeneğini kullanmayın, çünkü bu tam olarak ön işaretli kutucuk demektir. Form eklentisinin ayrıntıları için Contact Form 7 kullanımı yazısına bakabilirsiniz.
Metnin Sürüm Takibi ve Güncellenmesi#
Aydınlatma metni değiştiğinde eski kaydınız o değişikliği kanıtlamaz; bu yüzden metni sürümlemek zorundasınız. Uygulamada işleyen en basit yapı şudur: metnin her yayınlanan hâlini veritabanında saklayın, sürüm numarası verin, formlara o numarayı gömün.
CREATE TABLE kvkk_metinleri (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
tur ENUM('aydinlatma','acik_riza','cerez') NOT NULL,
surum SMALLINT NOT NULL,
icerik MEDIUMTEXT NOT NULL,
yururluk DATE NOT NULL,
UNIQUE KEY (tur, surum)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Metni değiştirmeniz gereken tipik durumlar: yeni bir veri kategorisi toplamaya başlamak (örneğin doğum tarihi eklemek), yeni bir alıcı grubu eklemek (yeni kargo firması, yeni e-posta servisi), aktarımın yurt dışına çıkması, saklama süresinin değişmesi veya iletişim bilgilerinizin değişmesi. Bu değişikliklerden herhangi biri olduğunda sürüm numarasını artırın ve yürürlük tarihini güncelleyin.
Önemli bir nokta: eski metni silmeyin. Bir başvuru geldiğinde "kişi kayıt olduğunda hangi metni gördü" sorusunu ancak eski sürümü saklıyorsanız cevaplayabilirsiniz. Aynı gerekçeyle metinleri statik HTML olarak değil, sürümlü bir kayıtta tutmak daha güvenlidir. Yedekleme politikanızda bu tablonun da bulunduğundan emin olun; kayıtların kaybolması ispat yükünü doğrudan etkiler.
Sık Yapılan Hatalar#
Yıllardır aynı beş hatayı görüyorum ve beşi de kolayca düzeltilebiliyor:
- Tek metin, tek kutucuk. Aydınlatma, açık rıza ve çerez politikası tek belgede birleştirilip tek kutucuğa bağlanıyor. Üçü ayrı belge, ayrı gösterim, ayrı kayıt ister.
- Ön işaretli kutucuk. Formu hızlandırmak için kutucuk
checkedbırakılıyor. Bu, verilmemiş bir rızayı verilmiş göstermektir. - Rızayı zorunlu alan yapmak. Kutucuk işaretlenmeden form gönderilemiyor. Hizmeti rıza şartına bağlamak rızayı geçersiz kılar.
- Şablonun boş alanlarını doldurmamak. İnternetten alınan metinde "[ŞİRKET ADI]" ya da başka bir firmanın unvanı kalıyor. Metnin ilk paragrafını okumak bunu yakalar.
- Aktarım listesinin eksik olması. Kargo ve ödeme kuruluşu yazılıyor ama e-posta gönderim servisi, canlı destek sağlayıcısı, analitik aracı ve barındırma tarafı unutuluyor. Verinin fiziksel olarak nerede durduğunu düşünün; listeyi orası tamamlar.
Genel bir kontrol listesiyle sitenizin durumunu görmek isterseniz KVKK web sitesi uyumu yazısı adım adım gidiyor.
Sıkça Sorulan Sorular#
Aydınlatma metni ile gizlilik politikası aynı şey mi#
Aynı şey değildir ama içerik olarak büyük ölçüde örtüşebilirler. Gizlilik politikası uluslararası uygulamadan gelen genel bir belgedir; aydınlatma metni ise KVKK'nın saydığı zorunlu bilgileri içermek durumundadır. Gizlilik politikanız bu altı zorunlu unsuru eksiksiz taşıyorsa ayrı bir belge çıkarmanız şart değildir, ancak metnin adını ve içeriğini kanunun aradığı çerçeveye oturtmanız gerekir. Uygulamada birçok site iki başlığı tek sayfada birleştirip "Gizlilik Politikası ve Aydınlatma Metni" olarak yayınlıyor.
Aydınlatma metni için onay kutucuğu koymak gerekir mi#
Gerekmez, çünkü aydınlatma bir izin değil bilgilendirmedir. Kullanıcıya metni erişilebilir kılmanız ve veri toplama anında kolayca görebileceği şekilde sunmanız yeterlidir. Onay kutucuğu yalnızca açık rıza gerektiren durumlarda kullanılır. Aydınlatmaya kutucuk koymak teknik olarak yasak değildir ama gereksizdir ve kullanıcının rıza kutucuğuyla karıştırmasına yol açar.
Sitemde sadece iletişim formu var, yine de metin hazırlamalı mıyım#
Evet, hazırlamalısınız. İletişim formu ad, e-posta ve mesaj içeriği topluyor; bunların hepsi kişisel veridir ve toplandığı anda aydınlatma yükümlülüğü doğar. Formun küçük olması yükümlülüğü ortadan kaldırmaz. Bu senaryoda metniniz kısa olabilir: veri sorumlusunun kimliği, formun amacı, verinin ne kadar saklanacağı, kime aktarıldığı ve ilgili kişinin hakları yeterlidir.
Yurt dışındaki bir sunucuda barındırıyorsam ne değişir#
Yurt dışına aktarım yaptığınız için bunu aydınlatma metninde açıkça belirtmeniz ve mevzuatın aktarım için aradığı şartları sağlamanız gerekir. Sunucunun bulunduğu ülke, aktarımın hangi mekanizmayla yapıldığı ve verinin hangi kategorilerinin aktarıldığı metinde yer almalıdır. Bu şartları yönetmek istemiyorsanız en pratik çözüm barındırmayı Türkiye'de tutmaktır; o zaman aktarım kalemi metninizden tamamen düşer. Yurt dışı ile yurt içi barındırma arasındaki farkları değerlendirmek için yurt içi mi yurt dışı hosting mi yazısına bakabilirsiniz.
Aydınlatma metnini ne sıklıkla güncellemeliyim#
Takvime bağlı bir süre yoktur; işleme faaliyetiniz değiştiğinde güncellersiniz. Yeni bir veri kategorisi toplamaya başlamak, yeni bir alıcı grubu eklemek, saklama süresini değiştirmek veya iletişim bilgilerinizi değiştirmek güncelleme sebebidir. Buna ek olarak yılda bir kez metni okuyup gerçekle uyuşuyor mu diye kontrol etmek iyi bir alışkanlıktır. Her güncellemede sürüm numarasını artırın ve eski sürümü arşivde tutun.
Hazır şablon kullanmak sakıncalı mı#
Şablonu başlangıç noktası olarak kullanmak sakıncalı değildir; olduğu gibi yayınlamak sakıncalıdır. Şablonlar genel amaçlar ve genel alıcı grupları içerir, sizin gerçek veri akışınızı tarif etmez. Metniniz gerçekte yaptığınız işlemeyle uyuşmuyorsa, metnin varlığı sizi korumaz; aksine denetimde tutarsızlık olarak görünür. Şablonu alın, veri envanterinize göre her satırı yeniden yazın, gerekmeyen kalemleri silin.
Aydınlatma metni İngilizce de yayınlanmak zorunda mı#
Zorunlu değildir ama ilgili kişinin anlayabileceği dilde olması gerekir. Türkiye'deki kullanıcılara hizmet veriyorsanız Türkçe metin esastır. Siteniz yabancı ziyaretçi de alıyorsa ve o kullanıcılardan veri topluyorsanız, İngilizce bir çeviri sunmak hem uyum hem kullanıcı deneyimi açısından doğru olur. Çeviri sunuyorsanız iki metnin içeriğinin bire bir aynı olduğundan emin olun; iki dilde farklı taahhütler vermek en kötü senaryodur.
Kapanış#
KVKK aydınlatma metni, internetten indirilip footer'a asılan bir belge değil; sitenizde kişisel verinin nasıl aktığını tarif eden bir haritadır. Doğru sırayı kurduğunuzda geri kalanı kendiliğinden yerine oturur: önce veri envanterini çıkarın, her kalem için amaç ve hukuki sebebi yazın, metni bu tablodan üretin, aydınlatmayı rızadan önce gösterin, rıza kutucuklarını boş ve isteğe bağlı bırakın, gördükleri sürümü kayıt altına alın. Aydınlatma ile açık rızayı ayırmak ve tek kutucukta birleştirmemek, denetimde en çok fark yaratan iki karardır.
Bu yapıyı sitenize kurmak için teknik desteğe ihtiyacınız varsa, web tasarım hizmetimiz kurumsal site projelerinde form akışlarını, metin sayfalarını ve onay kayıtlarını birlikte kurguluyor. Özel bir üyelik veya sipariş altyapınız varsa sürüm takibi ve rıza kaydı tarafını özel yazılım ekibimiz mevcut sisteminize ekleyebilir. Başvuru kanalı için kurumsal bir adres kullanmak isterseniz kurumsal e-posta paketleri kendi alan adınızla adres açmanızı sağlar; verilerin Türkiye'de kalmasını istiyorsanız kurumsal hosting paketleri yurt içi barındırma sunar.