Mobil Uygulamada KVKK, İzinler ve Veri Beyanı: Yayından Önce Neler Hazır Olmalı?
Mobil uygulamada kişisel veri konusu üç ayrı katmanda karşınıza çıkar: KVKK yükümlülükleri, cihaz izinleri ve mağazaların veri beyanı formları. Üçünün tutarlı olması gerekiyor; burada sırayla anlatıyoruz.
Mobil uygulama yayınlarken kişisel veriyle ilgili üç şeyi ayrı ayrı halletmeniz gerekir: Kişisel Verilerin Korunması Kanunu'nun (KVKK, 6698 sayılı kanun) istediği bilgilendirme ve dayanaklar, telefonun işletim sisteminden istenen izinler ve App Store ile Google Play'in zorunlu tuttuğu veri beyanı formları. Bunlar birbirinden bağımsız görünür ama tek bir gerçeği anlatmak zorundadır: uygulamanız hangi veriyi topluyor, neden topluyor ve kimlerle paylaşıyor. Üçü birbirini tutmadığında sonuç genellikle mağazadan gelen bir ret ya da yayından sonra çıkan bir şikâyet olur. Bu yazı hukuki danışmanlık değildir; teknik ekibin ve işletmenin ne hazırlaması gerektiğini anlatır, metinlerin son hali için bir avukatla çalışmanızı öneririz.
Uygulamanız hangi kişisel verileri topluyor?
Önce envanter çıkarılır: kişisel veri, bir kişiyi doğrudan ya da dolaylı olarak tanımlayabilen her bilgidir; ad ve e-postanın yanında cihaz kimliği, konum ve IP adresi de bu kapsama girer. Envanter çıkarmadan yazılan gizlilik politikası neredeyse her zaman eksik kalır, çünkü verinin büyük kısmını sizin yazdığınız kod değil, kullandığınız kütüphaneler toplar.
Envanteri iki kaynaktan çıkarın. Birincisi, kullanıcıdan bilerek istediğiniz veriler: kayıt formu, profil, sipariş, ödeme referansı. İkincisi, arka planda kendiliğinden oluşanlar: analitik olayları, çökme raporları, bildirim jetonu (push token), reklam kimliği ve üçüncü taraf SDK'ların (hazır yazılım bileşenlerinin) topladıkları.
| Veri türü | Nereden gelir? | Tipik risk |
|---|---|---|
| Ad, e-posta, telefon | Kayıt ve profil formu | Gereğinden fazla alan istemek |
| Konum | Cihaz konum izni | Arka planda süresiz erişim |
| Bildirim jetonu | Bildirim altyapısı | Kullanıcı hesabıyla eşleşince kişisel veri olur |
| Analitik olayları | Analitik SDK'sı | Kullanıcı kimliğiyle birleştirilmesi |
| Çökme raporları | Hata izleme aracı | Rapora e-posta ya da kullanıcı adı sızması |
| Fotoğraf, dosya | Kamera ve galeri izni | Sunucuda gereğinden uzun süre saklanması |
KVKK mobil uygulamada tam olarak ne istiyor?
KVKK'nın uygulamanızı ilgilendiren çekirdeği dört başlıktır ve hiçbiri mobile özgü değildir; mobilde fark, bunların ekranda nerede gösterileceğinden doğar.
- Aydınlatma metni: Veri sorumlusu olarak hangi veriyi, hangi amaçla, hangi hukuki sebeple topladığınızı ve kimlere aktardığınızı kullanıcıya bildirmeniz gerekir. Kayıt ekranında, veri toplamaya başlamadan önce görünmelidir.
- Hukuki dayanak ve açık rıza: Her veri işleme rızaya dayanmak zorunda değildir; sözleşmenin ifası için gerekli olan veri rıza istemeden işlenebilir. Pazarlama bildirimi gibi ek amaçlar içinse ayrı ve isteğe bağlı bir onay gerekir. Rıza, hizmet almanın şartı olarak paketlenmemelidir.
- Veri sorumluları sicili (VERBİS): Belirli büyüklüğün üzerindeki işletmeler kayıt yaptırmakla yükümlüdür; muafiyet koşulları Kişisel Verileri Koruma Kurulu'nun kararlarıyla belirlenir ve zamanla değişebilir, güncel durumu kontrol edin.
- Veri ihlali bildirimi: Kişisel veriler hukuka aykırı biçimde ele geçirilirse, kanun bunu en kısa sürede ve en geç 72 saat içinde Kurul'a bildirmenizi ister. Bu yüzden hangi verinin nerede durduğunu bilmek yayın öncesinde hazırlanması gereken bir konudur.
Cihaz izinleri: ne zaman, hangi gerekçeyle sorulmalı?
İzin, işletim sisteminin kullanıcıya gösterdiği ve verinin ya da donanımın kullanılmasına izin veren onay penceresidir. iOS'ta her izin için Info.plist dosyasında kullanıcıya gösterilen bir açıklama metni yazmak zorundasınız; Android'de ise hassas izinler çalışma anında (runtime permission) istenir. İki platformda ortak kural aynıdır: izni, ona ihtiyaç duyan özelliğin hemen öncesinde sorun.
Uygulama açılır açılmaz üç izin penceresi arka arkaya gösteren akışlar iki sorun yaratır. Kullanıcı reddeder ve reddedilen iznin yeniden sorulması iOS'ta sistem ayarlarına gitmeyi gerektirir. Ayrıca inceleme ekibi, kullanılmayan bir özellik için istenen izni gerekçesiz bulup uygulamayı reddedebilir.
App Store ve Google Play veri beyanı nasıl doldurulur?
Her iki mağaza da yayın sırasında uygulamanın hangi veriyi topladığını bir formla beyan etmenizi ister: Apple'da bu, uygulama sayfasında gösterilen gizlilik etiketleri (privacy nutrition labels), Google Play'de ise Veri güvenliği (Data safety) bölümüdür. Form sizin beyanınıza dayanır; ancak inceleme sırasında ya da sonrasında beyan ile uygulamanın gerçek davranışı karşılaştırılabilir.
Beyanda en sık yapılan hata, kendi kodunuzu doğru anlatıp üçüncü taraf SDK'ların topladığı veriyi unutmaktır. Analitik, reklam ve hata izleme kütüphanelerinin her birinin dokümantasyonunda ne topladığı yazar; beyan, kendi verilerinizle bunların birleşimi olmalıdır.
| Konu | App Store | Google Play |
|---|---|---|
| Beyan formu | Gizlilik etiketleri (App Store Connect) | Veri güvenliği bölümü (Play Console) |
| Gizlilik politikası bağlantısı | Zorunlu | Zorunlu |
| Hesap silme | Hesap oluşturulabiliyorsa uygulama içinden silme sunulmalı | Uygulama içi ve web üzerinden silme yolu beyan edilmeli |
| Beyan değişince | Yeni sürümle etiket güncellenir | Formu güncelleyip yeni sürüm gönderilir |
Hesap silme ve veri saklama süresi neden ayrı bir iş?
Kullanıcı hesabını silmek istediğinde uygulamanın bunu kendi içinden yapabilmesi hem mağaza kuralı hem de KVKK'daki silme ve yok etme yükümlülüğünün pratik karşılığıdır. Bu, ekrana bir düğme koymaktan ibaret değildir: veritabanındaki kayıt, dosya depolamadaki fotoğraflar, analitik profili ve bildirim jetonu birlikte silinmelidir. Yasal olarak saklanması gereken kayıtlar (fatura gibi) ise kişisel profilden ayrılarak, süresi belli tutulmalıdır.
Saklama süresi kararını en baştan verin: hangi veri ne kadar tutulacak, sonra silinecek mi yoksa anonimleştirilecek mi. Bu karar sonradan alınırsa veritabanı şemasına dokunmayı gerektirir.
Verileri yurt dışına aktarıyor musunuz?
Bulut sunucusu, analitik servisi ve bildirim altyapısı çoğunlukla Türkiye dışındadır; bu da kanundaki yurt dışına aktarım kurallarını devreye sokar. Bu kurallar 2024'te değişti ve aktarımın hangi güvencelerle yapılabileceği yeniden düzenlendi; aydınlatma metninizde aktarım yapılan ülke ve alıcı grupları açıkça yazılmalıdır. Hangi aracı hangi bölgede çalıştırdığınız hem mimari hem hukuki bir karardır; mümkün olan yerlerde veri bölgesini (region) seçmek işi kolaylaştırır.
Yayın öncesi kontrol listesi
- Toplanan tüm verileri ve her SDK'nın topladığını tablo halinde çıkarın.
- Aydınlatma metnini ve gizlilik politikasını hazırlayın; kayıt ekranından ve ayarlar sayfasından erişilebilir yapın.
- Pazarlama bildirimi ve benzeri isteğe bağlı amaçlar için ayrı, varsayılan olarak kapalı bir onay ekleyin.
- Her izin için özelliğe bağlı bir anlık soru ve kullanıcı dilinde açıklama yazın.
- App Store gizlilik etiketlerini ve Google Play veri güvenliği formunu envanterle aynı içerikte doldurun.
- Uygulama içinden hesap silme akışını kurun ve gerçekten tüm kayıtları kaldırdığını test edin.
- App Store incelemesi için test hesabı ve açıklama notunu hazırlayın, TestFlight aşamasında akışı bir kez baştan sona deneyin.
Bu işler proje planında nereye oturuyor?
Gizlilik işleri yayına yakın bir hafta değil, tasarım aşamasında ele alınırsa ucuza çıkar: hangi alanın forma girileceği, hangi izin ekranlarının olacağı ve verinin nerede saklanacağı ekran tasarımıyla birlikte belirlenir. Biz de mobil uygulama geliştirme hizmetimizde gizlilik politikası, veri toplama beyanı ve mağaza hazırlığını kapsama dahil ediyoruz; ret gelirse düzeltme turunu yürütüyoruz. Genel süreç için mobil uygulama yaptırma rehberimize, beta aşaması için TestFlight yazımıza bakabilirsiniz. Projenizin hangi verileri toplayacağını birlikte çıkarmak isterseniz bize yazın.
Sık sorulan sorular
Mobil uygulama için gizlilik politikası zorunlu mu?
Evet, hem App Store hem Google Play uygulama gönderiminde erişilebilir bir gizlilik politikası bağlantısı ister. Kişisel veri işliyorsanız KVKK açısından aydınlatma metni de ayrıca gerekir; ikisi aynı sayfada birleştirilebilir ama içerik olarak ikisini de karşılamalıdır.
Kullanıcıdan her veri için açık rıza almam gerekir mi?
Hayır, sözleşmenin kurulması ve ifası için gerekli veriler rıza istemeden işlenebilir. Pazarlama bildirimi gibi hizmet için şart olmayan amaçlar için ise ayrı ve isteğe bağlı bir açık rıza gerekir.
Analitik SDK kullanıyorsam veri beyanında bunu yazmam gerekir mi?
Evet, üçüncü taraf SDK'ların topladığı veri de sizin uygulamanızın topladığı veri sayılır. Her iki mağazanın formunda bunu beyan etmeniz gerekir; SDK'nın ne topladığı kendi dokümantasyonunda yazar.
Uygulamam veri beyanı yüzünden reddedilir mi?
Evet, beyan ile uygulamanın gerçek davranışı uyuşmazsa ret sebebi olabilir. En yaygın örnekler, kullanılan bir izin için gerekçe metninin eksik olması ve topladığı veriyi beyan etmemiş bir SDK'dır.