Balina bir borsa simülasyonu oyunudur. Gerçek para, gerçek hesap ve gerçek işlem yoktur. Bu politika, oyunu oynarken hangi verinin toplandığını, neden toplandığını ve ne yapabileceğini anlatır.
Kısa özet: kayıt olmuyorsun. E-posta, şifre, ad, telefon numarası istemiyoruz. Uygulama ilk açıldığında arka planda anonim bir oturum kuruluyor ve oyun seni yalnızca o oturumun ürettiği rastgele kimlikle tanıyor. Bu kimlik senin kim olduğunu söylemiyor.
1. Veri sorumlusu
DahiTech
Balina uygulamasının geliştiricisi ve veri sorumlusu.
İletişim: info@dahitech.io
Web: dahitech.io
2. Toplanan veriler
2.1 Anonim oyuncu kimliği
Uygulamayı ilk açtığında Google Firebase Authentication üzerinden anonim bir oturum açılır. Bu oturum sana rastgele bir kimlik (UID) verir ve sunucu seni yalnızca bu kimlikle tanır. Kayıt yok: e-posta, şifre ya da telefon numarası istenmiyor, ekranda bir giriş adımı yok.
Bu kimlik:
- cihazının kimliğinden türetilmez — telefonun donanım numarası, reklam kimliği (IDFA/AAID) veya benzeri bir tanımlayıcı kullanılmaz;
- yalnızca bu uygulamaya aittir, başka hiçbir uygulama veya site tarafından okunamaz;
- seni bir kişi olarak tanımlamaz — adını, e-postanı ya da telefonunu bilmiyoruz.
2.2 Oyun ilerlemesi
Sunucuda oyuncu kimliğine bağlı olarak şunlar saklanır:
- takma ad (otomatik atanır, değiştirebilirsin);
- tamamlanan bölümler ve kademeler, kazanılan başarımlar, itibar puanı;
- her seansın sonucu: oynanan mod ve rol, başlangıç ve bitiş bakiyesi, kâr/zarar yüzdesi, işlem sayısı, kullanılan azami kaldıraç, azami geri çekilme, likide olup olmadığın, stop kullanıp kullanmadığın, seansın başlangıç ve bitiş zamanı;
- seans içindeki kendi emirlerinin dökümü (işlem günlüğü): tik, yön, fiyat, miktar, kaldıraç — bu, oyun içindeki seans raporunu üretmek için tutulur;
- dereceli ve haftalık mücadele puanların;
- hesabın oluşturulma ve son görülme zamanı.
2.3 Bağlantı verisi
Sunucuya bağlandığında, her internet sunucusunda olduğu gibi IP adresin ve bağlantı zamanı sunucu kayıtlarında görünür. Bunları oyuncu kimliğinle eşleştirmiyor, profil çıkarmak için kullanmıyoruz; kötüye kullanımı ve arızaları tespit etmek için tutuluyorlar.
2.4 Çökme ve performans raporları
Uygulama beklenmedik biçimde kapanırsa, ne olduğunu anlayabilmek için Google'ın Firebase Crashlytics hizmetine bir rapor gönderilir. Rapor şunları içerir: hatanın teknik dökümü (yığın izi), cihaz modeli, işletim sistemi sürümü, uygulama sürümü, mevcut bellek ve depolama durumu, çökmeden önceki son adımların teknik kaydı ve Google'ın bu kurulum için ürettiği rastgele bir kurulum numarası.
Ayrıca Firebase Performance Monitoring ile uygulamanın açılış süresi, ekran çizim hızı ve sunucuya bağlanma süresi ölçülür.
Bu raporlar oyuncu kimliğinle eşleştirilmez. Crashlytics'e oyuncu kimliğini göndermiyoruz — çökme raporlarını oyun kaydınla birleştirmiyoruz. Raporlar yalnızca hataları bulup düzeltmek için kullanılır; reklam veya pazarlama için değil.
Bu iki hizmet reklam kimliği toplamaz. Uygulamanın nasıl kullanıldığını toplu olarak ölçmek için ayrıca Google Analytics for Firebase kullanıyoruz; ne gönderildiği §2.10'da.
2.5 Yalnızca cihazında kalan veriler
Şunlar telefonundan hiç çıkmaz, sunucuya gönderilmez:
- ilk açılıştaki sorulara verdiğin cevaplar (deneyim düzeyi, ilgilendiğin piyasa, oynama sıklığı) — bunlar yalnızca oyunun başlangıç ayarlarını belirler;
- dil tercihin;
- ses ve arayüz ayarların.
2.6 Balina PRO aboneliği
Abonelik satın alındığında mağazadan gelen imzalı doğrulama verisini Apple ya da Google'a doğrulatırız. Sunucumuzda yalnızca şunlar saklanır:
- aboneliğin mağaza tarafındaki işlem kimliği — aynı aboneliğin birden çok hesapta kullanılmasını engellemek için;
- satın alınan ürün kimliği (aylık ya da yıllık);
- aboneliğin bitiş tarihi.
Mağazanın gönderdiği ham doğrulama verisi saklanmaz: içinde mağaza hesabına ait tanımlayıcılar bulunur ve bize gerekli değildir. Saklamadığımız veri sızdırılamaz.
Aboneliği iptal etmek, yenilemeyi durdurmak ve iade istemek mağaza hesabın üzerinden yapılır; bu işlemler Apple ve Google'ın kendi koşullarına tabidir ve bizim sunucumuzdan yürütülemez.
2.7 Abonelik altyapısı (RevenueCat)
Aboneliklerin doğrulanması ve yetkinin belirlenmesi için Amerika Birleşik Devletleri merkezli RevenueCat, Inc. hizmetini kullanıyoruz. RevenueCat bizim adımıza hareket eden bir veri işleyicidir; veri sorumlusu biziz.
RevenueCat'e aktarılan veriler:
- Satın alma geçmişi — App Store makbuzu veya Google Play satın alma jetonu, ürün kimliği, satın alma / yenileme / iptal tarihleri, iade durumu, fiyat ve para birimi.
- Oyuncu kimliğin — sunucumuzun ürettiği takma adlı kimlik (UUID). Adını, e-postanı veya telefonunu içermez ve tek başına hesabına giriş sağlamaz.
- Cihaz ve teknik bilgiler — cihaz türü, işletim sistemi ve sürümü, uygulama sürümü, bölge ve dil kodu.
Bu veriler satın almanı doğrulamak, abonelik durumunu belirleyip PRO özelliklerini açmak ve toplulaştırılmış abonelik istatistiklerimizi üretmek için işlenir. Reklam amacıyla veya seni uygulamalar ile siteler arasında izlemek amacıyla kullanılmaz. RevenueCat'e adın, e-postan veya telefon numaran gönderilmez; reklam kimliğin (IDFA / Google Reklam Kimliği) toplanmaz.
Abonelik durumuna her zaman sunucularımız karar verir; uygulamanın kendisi yetki üretemez.
RevenueCat bu verileri ABD'deki Amazon Web Services veri merkezlerinde saklar. Avrupa Ekonomik Alanı, Birleşik Krallık ve İsviçre'den yapılan aktarımlar Standart Sözleşme Maddeleri (SCC) temelinde gerçekleştirilir. RevenueCat'in gizlilik politikası: revenuecat.com/privacy.
Verilerinin silinmesini istediğinde hem oyun sunucumuzdaki hem de RevenueCat'teki kaydını sileriz.
2.8 Anlık bildirimler (OneSignal)
Günlük dereceli piyasanın ve haftalık kuralın açıldığını bildirmek için Amerika Birleşik Devletleri merkezli OneSignal, Inc. hizmetini kullanıyoruz. OneSignal bizim adımıza hareket eden bir veri işleyicidir.
Bildirimlere izin verirsen OneSignal'a şunlar aktarılır:
- Bildirim jetonu — cihazının Apple ya da Google tarafından üretilen bildirim adresi;
- Anonim oturum kimliğin (§2.1'deki UID), bildirimin doğru cihaza gitmesi için;
- Cihaz ve dil bilgisi — işletim sistemi, uygulama sürümü, dil ve saat dilimi.
İzin vermezsen hiçbiri gönderilmez ve oyunun tamamı aynı şekilde çalışmaya devam eder — bildirim hiçbir özelliğin şartı değil. İzni istediğin zaman telefonunun ayarlarından geri alabilirsin.
Bildirimler yalnızca oyunun kendi olaylarını duyurur; reklam ya da pazarlama bildirimi göndermiyoruz.
2.9 Reklamlar (Google AdMob)
Uygulamanın ücretsiz sürümünde, bölüm sonlarında zaman zaman tam ekran bir reklam gösterilir. Reklamları Google AdMob (Google Ireland Limited / Google LLC) sunar. Balina PRO abonelerine reklam gösterilmez.
Reklamlar kişiselleştirilmiyor. Uygulama her reklam isteğini “kişiselleştirilmemiş” (non-personalized) olarak gönderiyor ve iOS'ta izleme izni (ATT) hiç istenmiyor — yani IDFA'na erişimimiz yok. Sana ne gösterileceği geçmişte ne yaptığına değil, o anki bağlama (ülke, dil, uygulamanın türü) bakılarak seçilir.
Reklamı sunabilmek için Google'ın işlediği veriler:
- Cihaz ve teknik bilgiler — işletim sistemi ve sürümü, cihaz modeli, ekran ölçüleri, uygulama sürümü, dil ve IP'den çıkarılan yaklaşık konum (ülke/şehir düzeyi).
- Reklam etkileşimi — reklamın gösterilip gösterilmediği, tıklanıp tıklanmadığı.
- Reklam kimliği — Android'de Google Reklam Kimliği (AAID). Kişiselleştirilmemiş reklamda bu kimlik sana profil çıkarmak için kullanılmaz; ama Google bunu sıklık sınırlaması, toplulaştırılmış raporlama ve sahtecilikle mücadele için işleyebilir. Gizlemek yerine açıkça yazıyoruz.
Google bu veri bakımından bağımsız veri sorumlusudur — bizim adımıza hareket eden bir işleyen değil. Ayrıntı: Google reklam veri şartları · Google'ın, hizmetlerini kullanan site ve uygulamalardan gelen veriyi nasıl kullandığı.
Hukuki dayanak: meşru menfaat (KVKK m.5/2-f; GDPR m.6/1-f) — ücretsiz sürümü ayakta tutmak. Reklamları tamamen kaldırmak istersen Balina PRO aboneliği bunu yapar. Ayrıca telefonunun ayarlarından reklam kimliğini sıfırlayabilir ya da silebilirsin (Android: Ayarlar → Gizlilik → Reklamlar; iOS: Ayarlar → Gizlilik ve Güvenlik → İzleme).
2.10 Kullanım ölçümü (Google Analytics for Firebase)
Uygulamanın nasıl kullanıldığını toplu olarak görebilmek için — oyuncuların ilk açılışta hangi adımda vazgeçtiğini, hangi bölümün fazla zor olduğunu, satın alma ekranının düzgün çalışıp çalışmadığını anlamak için — Google'ın Google Analytics for Firebase hizmetini kullanıyoruz. Google bu hizmette bizim adımıza hareket eden bir veri işleyendir.
Gönderilenler:
- Uygulama kullanımı — uygulamanın açılması, oturum süresi, görüntülenen ekranlar; ilk açılış adımlarından hangisine gelindiği (verdiğin cevaplar değil — onlar §2.5'te yazdığı gibi cihazında kalır); bir bölümün açılması ve geçilmesi (bölüm numarası ve zorluk kademesi); dereceli ve haftalık seansların başlaması ve puanı; satın alma ekranının gösterilmesi, kapanması ve bir satın almanın tamamlanıp tamamlanmadığı (ürün kimliği ve sonuç — ödeme bilgisi değil); reklam gösterimi.
- Abonelik durumu — Balina PRO abonesi olup olmadığın (evet/hayır).
- Cihaz ve teknik bilgiler — cihaz modeli, işletim sistemi ve sürümü, uygulama sürümü, dil ve IP adresinden çıkarılan ülke/şehir düzeyinde yaklaşık konum. IP adresinin kendisi Google Analytics'te saklanmaz.
- Tanımlayıcılar — Google'ın bu kurulum için ürettiği rastgele bir uygulama örneği numarası; iOS'ta uygulama geliştiricisine özgü satıcı kimliği (IDFV); Android'de Google Reklam Kimliği (AAID).
Gönderilmeyenler: oyuncu kimliğin, takma adın ve ilk açılış cevapların. Kullanım verisini oyun kaydınla birleştirmiyoruz. iOS'ta izleme izni istemediğimiz için IDFA'ya erişim yok. Bu veriler reklam kişiselleştirmesi ya da seni başka uygulama ve sitelerde izlemek için kullanılmaz.
Hukuki dayanak: meşru menfaat (KVKK m.5/2-f; GDPR m.6/1-f) — uygulamayı iyileştirmek.
3. Toplamadıklarımız
- E-posta, şifre, gerçek ad, telefon numarası, adres.
- Cihaz konumu. GPS ya da ağ tabanlı konum hiç istenmiyor; uygulamanın konum izni yok. Reklam servisinin IP adresinden çıkardığı ülke/şehir düzeyindeki yaklaşık konum §2.9'da anlatılıyor — bu, cihazının konumunu okumak değildir.
- Rehber, fotoğraflar, kamera, mikrofon.
- IDFA. iOS'ta izleme izni istemediğimiz için reklam kimliğine hiç erişilmiyor. Android'deki reklam kimliğinin ne için işlendiği §2.9'da yazıyor. Cihaz donanım tanımlayıcıları (IMEI, MAC adresi, seri numarası) hiçbir platformda toplanmıyor.
- Ödeme ve finansal bilgi. Oyunun içinde gerçek para yoktur. Balina PRO aboneliği satın alındığında ödeme tamamen Apple App Store ya da Google Play tarafında gerçekleşir: kart numaran, fatura adresin ve mağaza hesabın bize hiç ulaşmaz. Sunucumuzun gördüğü tek şey §2.6'da anlatılan abonelik kaydıdır.
- Uygulamalar arası izleme, profilleme ve çerez tabanlı takip. Ücretsiz sürümde reklam gösteriliyor (§2.9) ama kişiselleştirilmemiş olarak: seni başka uygulama ya da sitelerde izlemiyoruz, iOS'ta izleme izni istemiyoruz, ilgi alanı profili çıkarmıyoruz. Kullandığımız üçüncü taraf araçlar §2.1'deki anonim oturum, §2.4'teki çökme ve performans raporlaması, §2.7'deki abonelik altyapısı, §2.8'deki bildirim servisi, §2.9'daki reklam servisi ve §2.10'daki kullanım ölçümüdür.
4. Verileri niçin işliyoruz
- Oyunu çalıştırmak ve ilerlemeni saklamak. Hukuki dayanak: sözleşmenin ifası (KVKK m.5/2-c; GDPR m.6/1-b). Bu veri olmadan ilerlemen kaydedilemez.
- Sıralama tablolarını üretmek. Aynı dayanak — sıralamaya girmek oyunun bir parçası.
- Kötüye kullanımı önlemek ve sunucu kapasitesini korumak. Hukuki dayanak: meşru menfaat (KVKK m.5/2-f; GDPR m.6/1-f).
- Çökmeleri bulup düzeltmek ve uygulamayı hızlandırmak (§2.4). Hukuki dayanak: meşru menfaat (KVKK m.5/2-f; GDPR m.6/1-f) — çalışan bir uygulama sunmakta hem senin hem bizim menfaatimiz var.
- Ücretsiz sürümü finanse etmek için reklam göstermek (§2.9). Hukuki dayanak: meşru menfaat (KVKK m.5/2-f; GDPR m.6/1-f).
- Uygulamanın nasıl kullanıldığını toplu olarak ölçmek ve iyileştirmek (§2.10). Hukuki dayanak: meşru menfaat (KVKK m.5/2-f; GDPR m.6/1-f).
Verilerini kişiselleştirilmiş reklam, profilleme veya pazarlama için kullanmıyoruz ve kimseye satmıyoruz. §2.9'daki reklamlar kişiselleştirilmemiştir.
5. Kimlerle paylaşılıyor
- Barındırma sağlayıcısı. Sunucu ve veritabanı Fly.io altyapısında, Frankfurt (Almanya) bölgesinde çalışıyor. Fly.io veri işleyendir; veriye yalnızca hizmeti sunmak için erişir.
- Google (Firebase). §2.1'deki anonim oturum, §2.4'teki çökme ve performans raporları ve §2.10'daki kullanım ölçümü Google Firebase altyapısında işlenir. Google veri işleyendir. Bu raporlar Amerika Birleşik Devletleri'ndeki sunuculara aktarılabilir; aktarım Avrupa Komisyonu'nun standart sözleşme hükümlerine dayanır. Google'ın gizlilik politikası: firebase.google.com/support/privacy
- OneSignal. §2.8'deki anlık bildirimler OneSignal, Inc. altyapısında işlenir. OneSignal veri işleyendir. Bildirimlere izin vermezsen bu paylaşım hiç olmaz. Gizlilik politikası: onesignal.com/privacy_policy
- RevenueCat. §2.7'de anlatılan abonelik doğrulaması RevenueCat, Inc. altyapısında işlenir. RevenueCat veri işleyendir. Veriler Amerika Birleşik Devletleri'ndeki sunucularda saklanır; aktarım standart sözleşme hükümlerine dayanır. Gizlilik politikası: revenuecat.com/privacy
- Google (AdMob). §2.9'daki reklamlar Google'ın reklam altyapısında işlenir. Google burada veri işleyen değil, bağımsız veri sorumlusudur. Veriler Amerika Birleşik Devletleri'ne aktarılabilir; aktarım standart sözleşme hükümlerine dayanır. Gizlilik politikası: policies.google.com/privacy
- Diğer oyuncular. Takma adın ve puanın sıralama tablolarında herkese görünür. Takma adını istediğin zaman değiştirebilirsin — gerçek adını yazmanı önermiyoruz.
Bunun dışında hiçbir üçüncü tarafla paylaşım yapılmaz. Verilerini kimseye satmıyoruz. Yasal bir zorunluluk doğarsa (mahkeme kararı gibi) yalnızca zorunlu olan kadarı paylaşılır.
6. Saklama süresi
Oyun kaydın, sen silinmesini isteyene kadar saklanır.
Sunucu bağlantı kayıtları (IP dahil) en fazla 30 gün tutulur.
Çökme raporları Firebase'in kendi saklama süresi boyunca (en fazla 90 gün), performans ölçümleri ise en fazla 90 gün tutulur. Kullanım ölçümü verileri (§2.10) olay düzeyinde en fazla 2 ay, kurulum numarasına bağlı kullanıcı düzeyinde en fazla 14 ay tutulur; ardından yalnızca kimseyi tek başına göstermeyen toplu raporlar kalır. Bu raporlar oyuncu kimliğinle eşleştirilmediği için tek tek senin adına silinemezler — bunu ancak toplu olarak yapabiliyoruz. Silinmesini istiyorsan yaz, hangi kapsamda mümkün olduğunu açıkça anlatalım.
7. Haklarını nasıl kullanırsın
KVKK m.11 ve GDPR m.15–22 kapsamında verine erişme, düzeltilmesini, silinmesini, işlenmesinin kısıtlanmasını isteme, işlenmesine itiraz etme ve verini taşınabilir bir biçimde alma hakkın var.
Kullanmak için: oyunda Profilin ekranını aç, en alttaki Oyuncu Kimliğin alanındaki numarayı kopyala ve info@dahitech.io adresine ne istediğini yazarak gönder. Talebini en geç 30 gün içinde sonuçlandırırız.
Bu kimlik hesabına giriş sağlamaz; paylaşman güvenlidir. (Cihazındaki 32 karakterlik token farklı bir şeydir ve kimseyle paylaşılmamalıdır.)
Sonuçtan memnun kalmazsan Kişisel Verileri Koruma Kurumu'na (Türkiye) veya bulunduğun ülkenin veri koruma otoritesine şikâyette bulunabilirsin.
8. Çocuklar
Balina 13 yaşın altındaki çocuklara yönelik değildir ve onlardan bilerek veri toplamayız. 13 yaşın altındaki bir çocuğa ait veri topladığımızı fark edersek sileriz. Çocuğunun veri bıraktığını düşünüyorsan yukarıdaki adresten bize yaz.
9. Güvenlik
Uygulama ile sunucu arasındaki tüm trafik şifrelidir (TLS / wss://).
Şifre saklamıyoruz, çünkü şifre kullanmıyoruz. Veritabanına erişim yalnızca uygulamanın
sunucusuyla sınırlıdır. Hiçbir sistem kusursuz değildir; bir güvenlik olayı yaşanırsa
etkilenen oyunculara ve yetkili otoriteye mevzuatın öngördüğü sürede bildirilir.
10. Bu politika değişirse
Değişiklikler bu sayfada yayımlanır ve yukarıdaki yürürlük tarihi güncellenir. Toplanan veriyi genişleten önemli bir değişiklik olursa uygulama içinde ayrıca duyurulur.
11. İletişim
Balina is a stock market simulation game. There is no real money, no real brokerage account and no real trading. This policy explains what data is collected while you play, why, and what you can do about it.
Short version: you don't sign up. We do not ask for an email address, a password, your name or your phone number. When the app first opens, an anonymous session is created in the background, and the game recognises you only by the random identifier it produces. That identifier does not say who you are.
1. Who is responsible
DahiTech
Developer of the Balina app and the data controller.
Contact: info@dahitech.io
Web: dahitech.io
2. What we collect
2.1 Anonymous player identifier
The first time you open the app, an anonymous session is created through Google Firebase Authentication. That session gives you a random identifier (UID), and the server recognises you only by it. There is no sign-up: no email, no password, no phone number, and no login step on screen.
This identifier:
- is not derived from your device — no hardware identifier, no advertising ID (IDFA/AAID) or anything similar is used;
- belongs to this app only and cannot be read by any other app or website;
- does not identify you as a person — we do not know your name, email or phone number.
2.2 Game progress
The following is stored on the server against your player identifier:
- nickname (assigned automatically, changeable by you);
- completed episodes and tiers, unlocked achievements, reputation points;
- the outcome of each session: mode and role played, starting and ending balance, profit/loss percentage, number of trades, maximum leverage used, maximum drawdown, whether you were liquidated, whether you used a stop, session start and end times;
- a log of your own orders within a session (tick, side, price, quantity, leverage) — kept in order to produce the in-game session report;
- your ranked and weekly challenge scores;
- when your record was created and last seen.
2.3 Connection data
When you connect, your IP address and connection time appear in server logs, as with any internet server. We do not match these to your player identifier or use them to build a profile; they are kept to detect abuse and diagnose faults.
2.4 Crash and performance reports
If the app closes unexpectedly, a report is sent to Google's Firebase Crashlytics so we can work out what happened. The report contains: the technical breakdown of the error (stack trace), device model, operating system version, app version, current memory and storage state, a technical log of the last steps before the crash, and a random installation number generated by Google for this installation.
We also use Firebase Performance Monitoring to measure app start time, screen rendering speed and how long it takes to connect to the server.
These reports are not matched to your player identifier. We do not send your player ID to Crashlytics, and we do not join crash reports to your game record. They are used only to find and fix faults — never for advertising or marketing.
Neither service collects an advertising identifier. We also use Google Analytics for Firebase to measure how the app is used in aggregate; what it receives is described in §2.10.
2.5 Data that never leaves your device
- your answers to the opening questions (experience level, market interest, how often you play) — these only set the game's starting configuration;
- your language preference;
- your sound and interface settings.
2.6 Balina PRO subscription
When a subscription is purchased we have the signed verification data from the store validated by Apple or Google. Our server stores only:
- the subscription's store transaction identifier — to prevent the same subscription from being used on more than one account;
- the product identifier purchased (monthly or yearly);
- the subscription's expiry date.
The raw verification data is not stored: it contains identifiers belonging to your store account and we do not need them. Data we never store cannot leak.
Cancelling a subscription, stopping renewal and requesting a refund are done through your store account; those actions are subject to Apple's and Google's own terms and cannot be carried out from our server.
2.7 Subscription infrastructure (RevenueCat)
To validate subscriptions and determine entitlement we use RevenueCat, Inc., based in the United States. RevenueCat acts on our behalf as a data processor; we remain the controller.
Data transferred to RevenueCat:
- Purchase history — App Store receipt or Google Play purchase token, product identifier, purchase / renewal / cancellation dates, refund status, price and currency.
- Your player identifier — the pseudonymous identifier (UUID) generated by our server. It contains no name, email or phone number and does not by itself grant access to your account.
- Device and technical information — device type, operating system and version, app version, region and language code.
This data is processed to verify your purchase, determine your subscription status and unlock PRO features, and to produce our aggregated subscription statistics. It is not used for advertising or to track you across apps and websites. Your name, email address and phone number are never sent to RevenueCat, and your advertising identifiers (IDFA / Google Advertising ID) are not collected.
Our servers always decide your subscription status; the app itself cannot grant entitlement.
RevenueCat stores this data in Amazon Web Services data centres in the United States. Transfers from the European Economic Area, the United Kingdom and Switzerland are made on the basis of the Standard Contractual Clauses (SCC). RevenueCat's privacy policy: revenuecat.com/privacy.
If you ask us to delete your data, we delete your record both on our game server and at RevenueCat.
2.8 Push notifications (OneSignal)
To announce that the daily ranked market and the weekly rule are open, we use OneSignal, Inc., based in the United States. OneSignal acts on our behalf as a data processor.
If you allow notifications, the following is transferred to OneSignal:
- a notification token — your device's push address, generated by Apple or Google;
- your anonymous session identifier (the UID in §2.1), so the notification reaches the right device;
- device and language information — operating system, app version, language and time zone.
If you decline, none of this is sent and the whole game keeps working exactly the same — notifications are not required for any feature. You can withdraw the permission at any time in your phone's settings.
Notifications only announce the game's own events; we do not send advertising or marketing messages.
2.9 Advertising (Google AdMob)
In the free version, a full-screen ad is shown occasionally at the end of an episode. Ads are served by Google AdMob (Google Ireland Limited / Google LLC). Balina PRO subscribers see no ads.
Ads are not personalised. Every ad request is sent as “non-personalized”, and on iOS we never ask for tracking permission (ATT) — so we have no access to your IDFA. What you see is chosen from the current context (country, language, the kind of app), not from what you did before.
To deliver the ad, Google processes:
- device and technical information — operating system and version, device model, screen dimensions, app version, language and approximate location derived from your IP (country/city level);
- ad interaction — whether the ad was shown and whether it was clicked;
- an advertising identifier — on Android, the Google Advertising ID (AAID). With non-personalised ads this identifier is not used to build a profile of you, but Google may process it for frequency capping, aggregated reporting and fraud prevention. We state this plainly rather than leaving it out.
For this data Google acts as an independent controller, not as a processor acting on our behalf. Details: Google ads data terms · How Google uses data from sites and apps that use its services.
Legal basis: legitimate interests (GDPR Art. 6(1)(f); KVKK Art. 5/2-f) — keeping the free version viable. If you want ads gone entirely, a Balina PRO subscription removes them. You can also reset or delete your advertising identifier in your phone's settings (Android: Settings → Privacy → Ads; iOS: Settings → Privacy & Security → Tracking).
2.10 Usage measurement (Google Analytics for Firebase)
To see how the app is used in aggregate — where new players drop out of the first-run steps, which episode is too hard, whether the purchase screen works — we use Google's Google Analytics for Firebase. Google acts as a processor on our behalf for this service.
What is sent:
- App usage — app opens, session length, screens viewed; which of the first-run steps you reached (not your answers — those stay on your device as described in §2.5); opening and passing an episode (episode number and difficulty tier); starting a ranked or weekly session and its score; the purchase screen being shown and closed, and whether a purchase completed (product ID and outcome — no payment details); ads shown.
- Subscription status — whether you are a Balina PRO subscriber (yes/no).
- Device and technical information — device model, operating system and version, app version, language, and approximate location at country/city level derived from your IP address. The IP address itself is not stored in Google Analytics.
- Identifiers — a random app-instance number generated by Google for this installation; on iOS, the vendor identifier (IDFV), which is specific to our apps; on Android, the Google Advertising ID (AAID).
Not sent: your player ID, your nickname or your first-run answers. We do not join usage data to your game record. On iOS we do not ask for tracking permission, so the IDFA is never accessed. This data is not used to personalise ads or to track you across other apps or websites.
Legal basis: legitimate interests (GDPR Art. 6(1)(f); KVKK Art. 5/2-f) — improving the app.
3. What we do not collect
- Email, password, real name, phone number, address.
- Device location. GPS or network-based location is never requested; the app holds no location permission. The country/city-level approximation the ad service derives from your IP address is described in §2.9 — that is not reading your device's location.
- Contacts, photos, camera, microphone.
- IDFA. Because we never ask for tracking permission on iOS, the advertising identifier is never accessed there. What the Android advertising ID is processed for is described in §2.9. Device hardware identifiers (IMEI, MAC address, serial number) are not collected on any platform.
- Payment and financial information. There is no real money inside the game. When a Balina PRO subscription is purchased, payment happens entirely on Apple App Store or Google Play: your card number, billing address and store account never reach us. All our server sees is the subscription record described in §2.6.
- Cross-app tracking, profiling and cookie-based tracking. The free version does show ads (§2.9), but non-personalised ones: we do not track you across other apps or websites, we do not ask for tracking permission on iOS, and we do not build an interest profile. The third-party tooling we use is the anonymous session in §2.1, the crash and performance reporting in §2.4, the subscription infrastructure in §2.7, the notification service in §2.8, the ad service in §2.9 and the usage measurement in §2.10.
4. Why we process this data
- To run the game and save your progress. Legal basis: performance of a contract (GDPR Art. 6(1)(b); Turkish KVKK Art. 5/2-c). Without this data your progress cannot be saved.
- To produce leaderboards. Same basis — competing is part of the game.
- To prevent abuse and protect server capacity. Legal basis: legitimate interests (GDPR Art. 6(1)(f); KVKK Art. 5/2-f).
- To find and fix crashes and to keep the app fast (§2.4). Legal basis: legitimate interests (GDPR Art. 6(1)(f); KVKK Art. 5/2-f) — you and we share an interest in the app actually working.
- To show ads that fund the free version (§2.9). Legal basis: legitimate interests (GDPR Art. 6(1)(f); KVKK Art. 5/2-f).
- To measure, in aggregate, how the app is used and to improve it (§2.10). Legal basis: legitimate interests (GDPR Art. 6(1)(f); KVKK Art. 5/2-f).
We do not use your data for personalised advertising, profiling or marketing, and we do not sell it. The ads in §2.9 are not personalised.
5. Who we share it with
- Hosting provider. The server and database run on Fly.io infrastructure in the Frankfurt (Germany) region. Fly.io acts as a processor and accesses data only to provide the service.
- Google (Firebase). The anonymous session in §2.1, the crash and performance reports in §2.4 and the usage measurement in §2.10 are processed on Google Firebase infrastructure. Google acts as a processor. These reports may be transferred to servers in the United States; the transfer relies on the European Commission's Standard Contractual Clauses. Google's privacy information: firebase.google.com/support/privacy
- OneSignal. The push notifications described in §2.8 are processed on OneSignal, Inc. infrastructure. OneSignal is a data processor. If you decline notifications, this sharing never happens. Privacy policy: onesignal.com/privacy_policy
- RevenueCat. The subscription validation described in §2.7 is processed on RevenueCat, Inc. infrastructure. RevenueCat is a data processor. The data is stored on servers in the United States; transfers rely on the Standard Contractual Clauses. Privacy policy: revenuecat.com/privacy
- Google (AdMob). The ads described in §2.9 are processed on Google's advertising infrastructure. Here Google is not a processor but an independent controller. Data may be transferred to the United States; transfers rely on the Standard Contractual Clauses. Privacy policy: policies.google.com/privacy
- Other players. Your nickname and score are publicly visible on leaderboards. You can change your nickname at any time — we recommend not using your real name.
There is no other sharing. We do not sell your data to anyone. If legally compelled (for example by a court order) we disclose only what is strictly required.
6. How long we keep it
Your game record is kept until you ask us to delete it.
Server connection logs (including IP addresses) are kept for at most 30 days.
Crash reports are kept for Firebase's own retention period (at most 90 days) and performance measurements for at most 90 days. Usage measurement data (§2.10) is kept for at most 2 months at event level and at most 14 months at user level (tied to the installation number); after that only aggregate reports that do not single anyone out remain. Because these reports are not matched to your player identifier, they cannot be deleted individually on your behalf — only in bulk. If you want them removed, write to us and we will explain exactly what is possible.
7. Your rights and how to use them
Under GDPR Art. 15–22 and Turkish KVKK Art. 11 you have the right to access your data, to have it corrected or erased, to restrict or object to its processing, and to receive it in a portable format.
To exercise them: open the Profile screen in the game, copy the number shown at the bottom under Your Player ID, and email it to info@dahitech.io describing what you want. We respond within 30 days.
This identifier does not grant access to your progress; sharing it is safe. (The 32-character token stored on your device is a different thing and should not be shared.)
If you are unhappy with the outcome, you may complain to your national data protection authority, or to the Turkish Personal Data Protection Authority (KVKK Kurumu).
8. Children
Balina is not directed at children under 13 and we do not knowingly collect data from them. If we learn that we have collected data from a child under 13, we delete it. If you believe your child has left data with us, contact us at the address above.
9. Security
All traffic between the app and the server is encrypted (TLS / wss://). We
store no passwords, because we use none. Database access is restricted to the application
server. No system is perfect; in the event of a security incident we will notify affected
players and the competent authority within the period required by law.
10. Changes to this policy
Changes are published on this page and the effective date above is updated. If a change materially expands what we collect, we will also announce it inside the app.