LearnInvest bir borsa ve kişisel finans eğitim uygulamasıdır: dersler, quizler, yapay zekâ destekli enstrüman yorumu ve sanal bakiyeyle pratik. Gerçek para, gerçek aracı kurum hesabı ya da gerçek işlem yoktur. Bu politika, uygulamayı kullanırken hangi verinin işlendiğini, neden, nerede ve ne kadar süre tutulduğunu ve neler yapabileceğini anlatır.
Bu metin yalnız LearnInvest içindir ve daha önce kullanılan genel şirket metninin yerini alır.
Kısaca
- Kayıt yok. E-posta, şifre, ad ya da telefon istenmez. Uygulama arka planda anonim bir hesap açar ve sana otomatik bir kullanıcı adı verir.
- Yapay zekâ analizinde yalnız seçtiğin sembol, vade ve kategori ile sunucumuzun çektiği piyasa verisi OpenAI'a gider. Hesap kimliğin ya da yazdığın bir metin gitmez — uygulamada serbest metin alanı yok.
- Kullanıcı adın ve en iyi quiz puanın sıralama tablosunda görünür (ayrıntı §2.6).
- Ücretsiz sürümde Google AdMob reklamları var. iPhone'da izleme izni verirsen reklamlar kişiselleştirilebilir; vermezsen reklam kimliğine erişilmez.
- Verini uygulamanın içinden silebilirsin: Profil sekmesi → Hesabımı Sil.
Özet tablo
| Veri | Neden | Nerede | Ne kadar süre |
|---|---|---|---|
| Anonim hesap kimliği (UID) | Hesabını ve ilerlemeni bir arada tutmak | Google Firebase | Hesap silinene kadar |
| Kullanıcı adı, seçtiğin seviye, dil, ders ve quiz ilerlemesi, seri, rozetler | Uygulamanın temel işlevi, sıralama | Firebase (Firestore, Avrupa) | Hesap silinene kadar |
| Analiz ettiğin semboller, vade, kategori; analiz metinleri | Yapay zekâ analizi ve analiz geçmişin | Firestore; analiz anında OpenAI | Hesap silinene kadar; OpenAI'da en fazla 30 gün |
| Sanal portföy (sanal nakit, pozisyonlar) | Pratik modu | Firestore | Hesap silinene kadar |
| Cihaz kimliği (iOS IDFV / Android ANDROID_ID) | Ücretsiz ilk analizi cihaz başına bir kez vermek | Firestore | Hesap silindikten sonra da kalır (hesapla bağı silinir) |
| Abonelik / kredi durumu, satın alma kayıtları | Premium ve kredileri tanımlamak | RevenueCat, Firestore, App Store / Google Play | Hesap silinene kadar |
| Bildirim jetonu, UID, dil, saat dilimi | İzin verirsen hatırlatmalar | OneSignal (Android'de jeton profilinde de) | İzni geri alana ya da silme isteyene kadar |
| Reklam kimliği, cihaz bilgisi, IP'den yaklaşık konum | Reklam, sıklık sınırı, sahtecilik önleme | Google AdMob | Google'ın kendi süreleri |
| Kullanım olayları, uygulama örneği kimliği | Uygulamayı toplu olarak ölçmek | Google Analytics for Firebase | Olay 2 ay, kullanıcı düzeyi 14 ay |
| Çökme ve performans raporları | Hataları bulmak | Firebase Crashlytics, Performance | En fazla 90 gün |
1. Veri sorumlusu
Muhammed Mert Toprak — LearnInvest'i geliştiren ve App Store ile Google Play'de
yayımlayan bireysel geliştirici, Türkiye.
İletişim: info@dahitech.io
Aşağıda adı geçen hizmet sağlayıcılar (Google, OpenAI, RevenueCat, OneSignal) verini bizim adımıza ya da belirtildiği yerde kendi adlarına işler.
2. Hangi verileri işliyoruz
2.1 Anonim hesap
Uygulamayı ilk açtığında Firebase Authentication ile anonim bir oturum açılır ve rastgele bir hesap kimliği (UID) üretilir. Giriş ekranı yok: e-posta, şifre, telefon numarası, Google ya da Apple ile giriş kullanılmıyor. Bu kimlik seni bir kişi olarak tanımlamaz; yalnızca ilerlemeni sunucuda bir arada tutar.
2.2 Profil ve ilerleme
Hesap kimliğine bağlı olarak şunlar saklanır:
- kullanıcı adı — seviye unvanı ve dört rakamdan otomatik oluşturulur; Profil sekmesinden değiştirebilirsin. Gerçek adını yazmamanı öneririz;
- ilk açılışta seçtiğin bilgi ve yatırımcı seviyesi (isteğe bağlı seviye testinin sonucu dahil), uygulama dili, hesabın oluşturulma zamanı;
- temel ve ileri ders ilerlemesi, atladığın alt konular, ileri seviyeye geçiş durumu;
- quiz sonuçların (en iyi puan ve toplam, son quizin doğru / toplam sayısı ve zamanı, tamamlanan quiz setleri), günlük seri bilgisi, açılan rozetler ve açılma zamanları;
- analiz kredisi bakiyen ve abonelik durumun (Premium olup olmadığın, ürün, bitiş tarihi, son satın alma tarihi);
- son analiz ettiğin semboller (sembol, vade, zaman) ve son etkinlik zamanın;
- Android'de, bildirime izin verdiysen cihazının bildirim jetonu.
2.3 Yapay zekâ enstrüman analizi
Finansal AI ekranında bir enstrüman (Borsa İstanbul ya da ABD hissesi, kripto para, emtia ya da döviz) ve bir vade (kısa / orta / uzun) seçersin. Uygulamada serbest metin alanı yoktur; yapay zekâya kendi cümlelerini yazmazsın.
- Uygulama sunucu fonksiyonumuza sembolü, kategoriyi, vadeyi, uygulama dilini ve ilk ücretsiz analiz için cihaz kimliğini (§2.5) gönderir.
- Sunucu o enstrümanın güncel piyasa verisini Yahoo Finance ve Truncgil servislerinden kendisi çeker ve sembol, vade, kategori ve bu piyasa verisiyle birlikte OpenAI'a gönderir (bkz. §3). Hesap kimliğin, kullanıcı adın ve cihaz kimliğin OpenAI'a gönderilmez.
- Aynı sembol, vade ve dil için üretilen yorum, kişiden bağımsız ortak bir önbellekte vadeye göre 30 dakika, 6 saat ya da 24 saat tutulur; bu önbellekte seninle ilgili bilgi yoktur.
- Hesabında analiz geçmişin (sembol, enstrüman adı, kategori, vade, analiz metni, tarih) ve bir analiz istek kaydı (sembol, vade, zaman) saklanır.
2.4 Sanal pratik portföyü
Pratik modunda sanal bakiyen (başlangıçta 10.000 sanal dolar) ve sanal pozisyonların (sembol, miktar, ortalama maliyet) hesabına bağlı olarak saklanır. Bunlar gerçek para değildir.
Pratik ekranındaki fiyat grafikleri ve dolar/TL kuru cihazından doğrudan Binance ve Yahoo Finance'ın herkese açık fiyat servislerinden alınır. Bu isteklerde yalnız sembol ve zaman aralığı gider; hesap kimliğin gönderilmez. Her internet isteğinde olduğu gibi bu servisler IP adresini görür.
2.5 Ücretsiz ilk analiz için cihaz kimliği
İlk yapay zekâ analizi cihaz başına bir kez ücretsizdir. Bunu sağlamak için iOS'ta uygulama geliştiricisine özgü satıcı kimliği (IDFV), Android'de uygulamaya özgü ANDROID_ID sunucuya gönderilir. Sunucuda bu kimliğe bağlı olarak ücretsiz hakkın kullanılıp kullanılmadığı, ilk kullanım zamanı ve son kullanan hesap kimliği tutulur. Bu bir reklam kimliği değildir.
Hesabını sildiğinde bu kaydın hesabınla bağı (son hesap kimliği) silinir; "bu cihaz ücretsiz hakkını kullandı" bilgisi ise uygulamayı silip yeniden kurarak hakkın tekrar tekrar alınmasını önlemek için kalır.
2.6 Sıralama tablosu
Quiz ekranındaki sıralamada ilk 10 kullanıcının kullanıcı adı ve en iyi quiz puanı (doğru / toplam) gösterilir; sen ayrıca kendi sıranı görürsün.
Açık olmak gerekirse: sıralamanın hesaplanabilmesi için profil kayıtları (§2.2'deki alanlar) uygulamada oturum açmış diğer kullanıcılar tarafından teknik olarak okunabilir durumdadır; uygulama ekranda bunlardan yalnız kullanıcı adı ve quiz puanını gösterir. Profil kaydında adın, e-postan, telefonun ya da reklam kimliğin bulunmaz. Analiz geçmişin ve sanal portföyün bu kapsamda değildir; onlara yalnız sen erişebilirsin.
2.7 Premium, krediler ve satın almalar (RevenueCat)
Uygulamada haftalık ve aylık Premium abonelikleri ile 5 ve 10 analizlik kredi paketleri satılır. Ödeme tamamen Apple App Store ya da Google Play üzerinden yapılır; kart numaran, fatura adresin ve mağaza hesap bilgilerin bize ulaşmaz.
Satın almaları doğrulamak ve hakları tanımlamak için ABD merkezli RevenueCat, Inc. hizmetini kullanıyoruz (veri işleyen). RevenueCat'e aktarılanlar:
- hesap kimliğin (UID) — satın almayı doğru hesaba bağlamak için;
- satın alma geçmişi — mağaza makbuzu ya da satın alma jetonu, ürün, satın alma / yenileme / iptal tarihleri, fiyat ve para birimi;
- Firebase'in bu kurulum için ürettiği uygulama örneği kimliği — satın alma olaylarını kullanım ölçümüyle (§2.10) eşleştirmek için;
- Android'de ayrıca cihazın ANDROID_ID'si (bir müşteri özniteliği olarak);
- cihaz türü, işletim sistemi ve uygulama sürümü, bölge ve dil.
RevenueCat satın alma olaylarını sunucumuza bildirir; sunucu krediyi ya da Premium'u tanımlar ve aynı olayın iki kez işlenmemesi için olayın türünü, hesap kimliğini ve işlem kimliğini kaydeder. RevenueCat'in gizlilik politikası: revenuecat.com/privacy.
2.8 Bildirimler (OneSignal)
Hatırlatmaları göndermek için ABD merkezli OneSignal, Inc. hizmetini kullanıyoruz (veri işleyen). Bildirim izni iPhone'da uygulama ilk açıldığında, Android 13 ve üzerinde ana ekran ilk açıldığında sorulur. İzin verirsen OneSignal'a cihazının bildirim jetonu, hesap kimliğin (UID — bildirimin doğru cihaza gitmesi için), cihaz modeli, işletim sistemi, uygulama sürümü, dil ve saat dilimi aktarılır; Android'de jeton ayrıca profil kaydına yazılır.
Sunucumuz günde en fazla iki hatırlatma gönderir, ikisi de senin yerel saatinle: 15:00'te kalan analiz kredin hakkında, 21:00'de ders ilerlemen hakkında. İçerik, Firestore'daki kredi bakiyene ve ders ilerlemene göre seçilir. İzin vermezsen hiçbiri gönderilmez ve uygulamanın tamamı aynı şekilde çalışır; izni istediğin an telefonunun ayarlarından geri alabilirsin. Gizlilik politikası: onesignal.com/privacy_policy.
2.9 Reklamlar (Google AdMob)
Ücretsiz sürümde bazı ekranların (ör. Keşfet ve Finansal AI) altında banner reklam gösterilir. İstersen kısa bir ödüllü video izleyerek kilitli bir dersi açabilirsin; video her zaman isteğe bağlıdır. Premium abonelerine banner gösterilmez. Reklamları Google AdMob (Google Ireland Limited / Google LLC) sunar.
- iPhone: uygulama ilk açıldığında Apple'ın Uygulama Takibi Şeffaflığı (ATT) izni sorulur. İzin verirsen Google, reklamları ilgi alanlarına göre kişiselleştirmek ve reklam performansını ölçmek için reklam kimliğini (IDFA) kullanabilir. İzin vermezsen IDFA'ya erişilmez. Kararını Ayarlar → Gizlilik ve Güvenlik → Takip'ten değiştirebilirsin.
- Android: Google reklam kimliğini (AAID) kullanır. Ayarlar → Gizlilik → Reklamlar'dan sıfırlayabilir ya da silebilirsin.
Reklamı sunmak için Google cihaz ve uygulama bilgilerini, IP adresinden çıkarılan yaklaşık konumu (ülke / şehir düzeyi) ve reklamın gösterilip tıklanmadığını işler. Google bu veri bakımından bağımsız veri sorumlusudur. Ayrıntı: Google, hizmetlerini kullanan uygulamalardan gelen veriyi nasıl kullanır · policies.google.com/privacy.
2.10 Kullanım ölçümü (Google Analytics for Firebase)
Uygulamanın nasıl kullanıldığını toplu olarak görmek için — yeni kullanıcıların ilk açılış adımlarının hangisinde vazgeçtiğini, hangi dersin yarım kaldığını, satın alma ekranının düzgün çalışıp çalışmadığını anlamak için — Google Analytics for Firebase kullanıyoruz (veri işleyen). Gönderilenler:
- uygulama içi olaylar: ilk açılış adımlarının görülmesi ve tamamlanması, ilk dersin bitmesi, ders açılması ve tamamlanması (ders numarası ve seviye), quiz sonucu (doğru / toplam, seviye), yapay zekâ analizi yapılması (sembol ve kategori — analiz metni değil), ödüllü video ödülü, satın alma ekranının açılıp kapanması, satın almanın başlaması, tamamlanması ya da başarısız olması (ürün kimliği ve sonuç — ödeme bilgisi değil), görüntülenen ekranlar;
- Premium olup olmadığın (evet / hayır);
- Google'ın otomatik topladıkları: uygulamanın açılması, oturum süresi, cihaz modeli, işletim sistemi, uygulama sürümü, dil, IP adresinden çıkarılan ülke / şehir (IP'nin kendisi Google Analytics'te saklanmaz);
- tanımlayıcılar: Google'ın bu kurulum için ürettiği rastgele uygulama örneği kimliği; iOS'ta IDFV, yalnız takip izni verdiysen IDFA; Android'de reklam kimliği (AAID).
Gönderilmeyenler: hesap kimliğin (UID), kullanıcı adın ve analiz metinlerin. Google sinyalleri kapalıdır. Saklama: olay düzeyinde 2 ay, kullanıcı düzeyinde 14 ay; sonrasında yalnız toplu raporlar kalır.
2.11 Çökme ve performans raporları
Mağazadan indirilen sürümde, uygulama beklenmedik biçimde kapanırsa Firebase Crashlytics'e bir rapor gider: hatanın teknik dökümü, cihaz modeli, işletim sistemi ve uygulama sürümü, bellek ve depolama durumu ve rastgele bir kurulum kimliği. Firebase Performance Monitoring uygulamanın açılış süresini, ekran çizim hızını ve ağ isteklerinin süresini ölçer. Bu raporlara hesap kimliğin eklenmez; yalnız hata bulmak için kullanılır ve en fazla 90 gün tutulur.
2.12 Uygulama bütünlüğü ve sürüm denetimi
Sunucumuzu sahte istemcilerden korumak için Firebase App Check kullanıyoruz: iPhone'da Apple App Attest, Android'de Google Play Integrity, isteğin mağazadaki gerçek uygulamadan geldiğini doğrular. Firebase Remote Config yalnızca zorunlu ya da önerilen güncelleme sürüm numarasını okumak için kullanılır.
2.13 Cihazında kalanlar
Dil tercihin, ilk açılış adımlarının görülüp görülmediği, ödüllü video ile açtığın dersler ve puan isteği durumu cihazında saklanır; Android'de ücretsiz analiz için kullanılan cihaz kimliği de cihazda tutulur. Uygulama, çevrimdışı çalışabilmek için profil ve ilerleme verilerinin bir kopyasını cihazda önbelleğe alır. Android'de tercihlerin bir kısmı, telefonun Google yedeklemesi açıksa Android'in kendi yedeğine girebilir; oturum bilgisi ve cihaz kimliği yedeklenmez.
2.14 Toplamadıklarımız
- E-posta, şifre, gerçek ad, telefon numarası, adres, T.C. kimlik numarası (bize destek için e-posta yazarsan adresini yalnız yanıt vermek için kullanırız).
- Cihaz konumu — konum izni yok. Reklam ve ölçüm servislerinin IP adresinden çıkardığı ülke / şehir düzeyi yaklaşık konum yukarıda anlatıldı.
- Rehber, mikrofon, kamera, fotoğraflar; uygulamaya dosya yüklenmez.
- Gerçek aracı kurum hesabı, gerçek portföy, banka ya da kart bilgisi.
3. Yapay zekâ (OpenAI)
Enstrüman yorumları ABD merkezli OpenAI'ın API'si üzerinden üretilir (analiz için
gpt-4o, metinlerin uygulama diline çevirisi için daha küçük OpenAI modelleri). Sunucumuz
OpenAI'a yalnızca şunları gönderir: sembol, vade,
kategori, sunucunun çektiği piyasa verisi, sabit analiz talimatı ve
hedef dil. Hesap kimliği, kullanıcı adı, cihaz kimliği ya da kullanıcı metni gönderilmez.
OpenAI'ın API veri politikasına göre API üzerinden gönderilen veriler varsayılan olarak modellerin eğitiminde kullanılmaz ve kötüye kullanımı izlemek için en fazla 30 gün tutulabilir: OpenAI API veri kullanımı.
Yapay zekâ yorumu hatalı ya da eksik olabilir. Uygulamadaki hiçbir içerik — yapay zekâ yorumları dahil — yatırım tavsiyesi değildir; amacı öğretmektir. Uygulamadaki örnek tablolar eğitim amaçlı ve kurgusaldır.
4. Neden işliyoruz (hukuki sebepler)
- Uygulamayı sunmak — hesap, ilerleme, yapay zekâ analizi, sanal portföy, sıralama, satın almalar: sözleşmenin kurulması ve ifası (KVKK m.5/2-c; GDPR m.6/1-b).
- Kötüye kullanımı önlemek — cihaz başına ücretsiz analiz, App Check, hız sınırları, ödeme olay kaydı: meşru menfaat (KVKK m.5/2-f; GDPR m.6/1-f).
- Hataları bulmak ve uygulamayı toplu olarak ölçmek — Crashlytics, Performance, Analytics: meşru menfaat (KVKK m.5/2-f; GDPR m.6/1-f).
- Ücretsiz sürümü reklamla finanse etmek: meşru menfaat; iPhone'da kişiselleştirilmiş reklam ve izleme yalnız ATT izninle — açık rıza (KVKK m.5/1; GDPR m.6/1-a).
- Hatırlatma bildirimleri: verdiğin bildirim izni — açık rıza; istediğin an geri alabilirsin.
Verini satmıyoruz.
5. Kimlerle paylaşılıyor, nereye aktarılıyor
- Google (Firebase) — kimlik doğrulama, veritabanı (Firestore, Avrupa çoklu bölgesi), sunucu fonksiyonları (ABD, us-central1), Analytics, Crashlytics, Performance, App Check, Remote Config; ders görselleri de Firebase Storage'dan yüklenir. Veri işleyen. firebase.google.com/support/privacy
- OpenAI (ABD) — enstrüman yorumu, §3. Veri işleyen.
- RevenueCat (ABD) — satın alma doğrulaması, §2.7. Veri işleyen.
- OneSignal (ABD) — bildirimler, yalnız izin verirsen, §2.8. Veri işleyen.
- Google AdMob — reklamlar, §2.9. Bağımsız veri sorumlusu.
- Apple ve Google mağazaları — ödeme, kendi koşullarına göre.
- Yahoo Finance, Truncgil — sunucumuz analiz için piyasa verisini buralardan çeker; bu isteklerde senin hakkında bilgi yoktur.
- Binance, Yahoo Finance — pratik ekranındaki fiyat verisi cihazından istenir; kişisel veri gönderilmez, yalnız IP adresini görürler (§2.4).
- Diğer kullanıcılar — sıralamada kullanıcı adı ve quiz puanı (§2.6).
Bu sağlayıcıların bir kısmı veriyi Türkiye ve Avrupa dışında, özellikle ABD'de işler. Bu aktarımlar hizmetin sunulması için gerekli ölçüde, sağlayıcıların standart sözleşme hükümleri ve eşdeğer güvenceleri altında yapılır. Yasal bir zorunluluk (ör. mahkeme kararı) dışında başka kimseyle paylaşmıyoruz.
6. Saklama süreleri
- Hesap, ilerleme, analiz geçmişi ve istek kaydı, sanal portföy: hesabını silene kadar.
- Ortak analiz önbelleği (kişisel veri içermez): vadeye göre 30 dakika – 24 saat.
- OpenAI tarafında: en fazla 30 gün (§3).
- Ücretsiz analiz cihaz kaydı: hesap silindikten sonra da, hesapla bağı kaldırılmış olarak tutulur (§2.5).
- Sunucu kayıtları (hata ayıklama günlükleri; hesap kimliği ve RevenueCat'in bildirdiği satın alma olayının ayrıntılarını — ürün, fiyat, ülke, işlem kimliği — içerebilir): Google Cloud'un varsayılan süresi olan 30 gün.
- Google Analytics: olay 2 ay, kullanıcı düzeyi 14 ay. Crashlytics ve Performance: en fazla 90 gün.
- RevenueCat ve OneSignal: hizmet sürdükçe; silme isteğinde bulunursan bu kayıtları da sileriz (§7).
Önemli: Uygulamayı telefondan kaldırmak sunucudaki veriyi silmez. Anonim hesap cihazına bağlı olduğu için, kaldırınca o hesaba bir daha ulaşamazsın ama kayıt kendiliğinden yok olmaz. Silinmesini istiyorsan uygulamayı kaldırmadan önce aşağıdaki adımı izle.
7. Hesabını ve verilerini silmek
iPhone, iPad ve Android'de aynı yol: Profil sekmesi (ayarlar) → Hesabımı Sil → onayla. Şunlar kalıcı olarak silinir: profilin ve ilerlemen, analiz geçmişin ve analiz istek kaydın, sanal portföyün, bildirim tercihlerin, hesabına ait ödeme olay kayıtları ve anonim hesabın. Ücretsiz analiz cihaz kaydının hesabınla bağı kaldırılır.
RevenueCat ve OneSignal'daki kayıtların uygulama içinden silinmez; silinmelerini istiyorsan info@dahitech.io adresine kullanıcı adınla yaz, en geç 30 gün içinde sileriz. Uygulamayı artık açamıyorsan da aynı adrese yazabilirsin.
Aktif bir aboneliğin varsa hesabı silmek aboneliği iptal etmez; iptal App Store ya da Google Play hesabından yapılır (nasıl?).
8. Hakların
KVKK m.11 ve GDPR m.15–22 kapsamında verinin işlenip işlenmediğini öğrenme, bilgi ve kopya isteme, düzeltilmesini ya da silinmesini isteme, işlenmesine itiraz etme, kısıtlanmasını isteme, verini taşınabilir biçimde alma ve rızanı geri alma hakların var. Kullanmak için info@dahitech.io adresine kullanıcı adınla birlikte yaz; en geç 30 gün içinde yanıtlarız. Kişisel Verileri Koruma Kurulu'na ya da bulunduğun ülkenin veri koruma otoritesine şikâyet hakkın saklıdır.
Analytics, Crashlytics ve Performance verileri hesap kimliğinle eşleştirilmediği için tek tek senin adına bulunamaz; bunlar yukarıdaki sürelerin sonunda kendiliğinden silinir.
9. Çocuklar
LearnInvest 13 yaşın altındaki çocuklara yönelik değildir ve onlardan bilerek veri toplamayız. 13 yaşından küçük bir çocuğun veri bıraktığını düşünüyorsan bize yaz; sileriz.
10. Güvenlik
Uygulama ile sunucular arasındaki tüm trafik şifrelidir (TLS). Kredi ve abonelik alanlarını uygulama yükseltemez; bunları yalnız sunucu, mağaza doğrulamasından sonra değiştirir. Analiz geçmişin ve sanal portföyün yalnız sana açıktır; profil kaydının görünürlüğü §2.6'da anlatıldı. Şifre saklamıyoruz, çünkü şifre kullanmıyoruz. Bir güvenlik olayı yaşanırsa etkilenen kullanıcılara ve yetkili kuruma mevzuatın öngördüğü sürede bildirilir.
11. Değişiklikler
Bu politika değişirse yeni hâli bu sayfada yayımlanır ve yukarıdaki tarih güncellenir. Toplanan veriyi genişleten önemli bir değişiklik olursa uygulama içinde ayrıca duyurulur.
12. İletişim
Muhammed Mert Toprak · info@dahitech.io · Türkiye
Sık sorulanlar ve abonelik iptali: Destek sayfası
LearnInvest is an education app for the stock market and personal finance: lessons, quizzes, AI-assisted commentary on instruments and practice with a virtual balance. There is no real money, no real brokerage account and no real trading. This policy explains what data is processed while you use the app, why, where and for how long, and what you can do about it.
This text applies to LearnInvest only and replaces the general company text used before.
In short
- No sign-up. We never ask for an email, password, name or phone number. The app creates an anonymous account in the background and gives you an automatic username.
- For AI analysis only the symbol, time horizon and category you choose, plus market data our server fetches, go to OpenAI. Your account ID and any text of yours do not — the app has no free-text field.
- Your username and best quiz score appear on the leaderboard (details in §2.6).
- The free version shows Google AdMob ads. On iPhone, ads may be personalised only if you allow tracking; if you don't, the advertising identifier is not accessed.
- You can delete your data inside the app: Profile tab → Delete My Account.
Summary table
| Data | Why | Where | How long |
|---|---|---|---|
| Anonymous account ID (UID) | Keep your account and progress together | Google Firebase | Until the account is deleted |
| Username, chosen level, language, lesson and quiz progress, streak, badges | Core features, leaderboard | Firebase (Firestore, Europe) | Until the account is deleted |
| Symbols you analyse, horizon, category; analysis texts | AI analysis and your analysis history | Firestore; OpenAI at analysis time | Until the account is deleted; up to 30 days at OpenAI |
| Virtual portfolio (virtual cash, positions) | Practice mode | Firestore | Until the account is deleted |
| Device ID (iOS IDFV / Android ANDROID_ID) | Give the free first analysis once per device | Firestore | Kept after account deletion (link to the account removed) |
| Subscription / credit status, purchase records | Grant Premium and credits | RevenueCat, Firestore, App Store / Google Play | Until the account is deleted |
| Push token, UID, language, time zone | Reminders, only if you allow them | OneSignal (on Android the token is also in your profile) | Until you withdraw permission or ask for deletion |
| Advertising ID, device info, approximate location from IP | Ads, frequency capping, fraud prevention | Google AdMob | Google's own periods |
| Usage events, app instance ID | Aggregate measurement | Google Analytics for Firebase | Events 2 months, user level 14 months |
| Crash and performance reports | Finding bugs | Firebase Crashlytics, Performance | Up to 90 days |
1. Who is responsible
Muhammed Mert Toprak — the individual developer who builds LearnInvest and
publishes it on the App Store and Google Play, Türkiye.
Contact: info@dahitech.io
The service providers named below (Google, OpenAI, RevenueCat, OneSignal) process your data on our behalf or, where stated, on their own behalf.
2. What we process
2.1 Anonymous account
The first time you open the app, an anonymous session is created with Firebase Authentication and a random account ID (UID) is generated. There is no login screen: no email, password, phone number, Google or Apple sign-in. This ID does not identify you as a person; it only keeps your progress together on the server.
2.2 Profile and progress
Stored against your account ID:
- username — generated automatically from a level title and four digits; you can change it on the Profile tab. We recommend not using your real name;
- the knowledge and investor level you chose on first launch (including the result of the optional level test), app language and when the account was created;
- basic and advanced lesson progress, sub-topics you skipped, whether you moved up to the advanced level;
- your quiz results (best score and total, correct / total and time of your last quiz, completed quiz sets), daily streak, unlocked badges and when they were unlocked;
- your analysis credit balance and subscription status (whether you are Premium, product, expiry date, last purchase date);
- the symbols you analysed most recently (symbol, horizon, time) and your last activity time;
- on Android, your device's push token if you allowed notifications.
2.3 AI instrument analysis
On the Financial AI screen you pick an instrument (a Borsa Istanbul or US stock, a cryptocurrency, a commodity or a currency) and a time horizon (short / medium / long). The app has no free-text field; you never type your own sentences to the AI.
- The app sends our server function the symbol, category, horizon, app language and, for the free first analysis, the device ID (§2.5).
- The server itself fetches current market data for that instrument from Yahoo Finance and Truncgil and sends it to OpenAI together with the symbol, horizon and category (see §3). Your account ID, username and device ID are not sent to OpenAI.
- Commentary generated for the same symbol, horizon and language is kept in a shared cache that is independent of any user for 30 minutes, 6 hours or 24 hours depending on the horizon; that cache contains nothing about you.
- Your account stores your analysis history (symbol, instrument name, category, horizon, analysis text, date) and an analysis request log (symbol, horizon, time).
2.4 Virtual practice portfolio
In practice mode your virtual balance (10,000 virtual dollars to start) and virtual positions (symbol, quantity, average cost) are stored against your account. This is not real money.
Price charts and the USD/TRY rate on the practice screen are fetched by your device directly from the public price services of Binance and Yahoo Finance. Only the symbol and time range are sent; your account ID is not. As with any internet request, these services see your IP address.
2.5 Device ID for the free first analysis
The first AI analysis is free once per device. To make that work, the vendor identifier specific to our apps (IDFV) on iOS, or the app-specific ANDROID_ID on Android, is sent to the server. The server stores, against that ID, whether the free analysis has been used, when it was first used and the last account ID that used it. This is not an advertising identifier.
When you delete your account, the link to your account (the last account ID) is removed; the fact that "this device has used its free analysis" is kept, so it cannot be claimed over and over by reinstalling.
2.6 Leaderboard
The leaderboard on the quiz screen shows the username and best quiz score (correct / total) of the top 10 users; you also see your own rank.
To be transparent: so that the ranking can be computed, profile records (the fields in §2.2) are technically readable by other signed-in users of the app; the app only displays the username and quiz score. Your profile record contains no name, email, phone number or advertising ID. Your analysis history and virtual portfolio are not part of this; only you can access them.
2.7 Premium, credits and purchases (RevenueCat)
The app sells weekly and monthly Premium subscriptions and credit packs of 5 and 10 analyses. Payment happens entirely through the Apple App Store or Google Play; your card number, billing address and store account details never reach us.
To validate purchases and grant entitlements we use RevenueCat, Inc., based in the United States (processor). Transferred to RevenueCat:
- your account ID (UID) — to attach the purchase to the right account;
- purchase history — store receipt or purchase token, product, purchase / renewal / cancellation dates, price and currency;
- the app instance ID Firebase generates for this installation — to match purchase events with usage measurement (§2.10);
- on Android, also the device's ANDROID_ID (as a customer attribute);
- device type, operating system and app version, region and language.
RevenueCat notifies our server of purchase events; the server grants the credits or Premium and, so that the same event is never processed twice, records the event type, account ID and transaction ID. RevenueCat's privacy policy: revenuecat.com/privacy.
2.8 Notifications (OneSignal)
To send reminders we use OneSignal, Inc., based in the United States (processor). The notification permission is requested when the app first opens on iPhone, and when the main screen first opens on Android 13 and later. If you allow it, OneSignal receives your device's push token, your account ID (UID — so the notification reaches the right device), device model, operating system, app version, language and time zone; on Android the token is also written to your profile record.
Our server sends at most two reminders a day, both at your local time: at 15:00 about your remaining analysis credits and at 21:00 about your lesson progress. The content is chosen from your credit balance and lesson progress in Firestore. If you decline, none are sent and the whole app works the same; you can withdraw permission at any time in your phone's settings. Privacy policy: onesignal.com/privacy_policy.
2.9 Advertising (Google AdMob)
The free version shows banner ads at the bottom of some screens (for example Discover and Financial AI). If you want, you can watch a short rewarded video to unlock a locked lesson; watching is always optional. Premium subscribers see no banners. Ads are served by Google AdMob (Google Ireland Limited / Google LLC).
- iPhone: when the app first opens, Apple's App Tracking Transparency (ATT) prompt is shown. If you allow it, Google may use the advertising identifier (IDFA) to personalise ads to your interests and measure ad performance. If you don't, the IDFA is not accessed. You can change this under Settings → Privacy & Security → Tracking.
- Android: Google uses the advertising ID (AAID). You can reset or delete it under Settings → Privacy → Ads.
To deliver ads Google processes device and app information, approximate location derived from your IP address (country / city level) and whether an ad was shown or clicked. For this data Google is an independent controller. Details: How Google uses information from apps that use its services · policies.google.com/privacy.
2.10 Usage measurement (Google Analytics for Firebase)
To see in aggregate how the app is used — where new users drop out of the first-run steps, which lesson gets abandoned, whether the purchase screen works — we use Google Analytics for Firebase (processor). What is sent:
- in-app events: first-run steps seen and completed, finishing the first lesson, opening and completing a lesson (lesson number and level), quiz result (correct / total, level), running an AI analysis (symbol and category — not the analysis text), a rewarded-video reward, the purchase screen opening and closing, a purchase starting, completing or failing (product ID and outcome — no payment details), screens viewed;
- whether you are Premium (yes / no);
- collected automatically by Google: app opens, session length, device model, operating system, app version, language, country / city derived from your IP address (the IP itself is not stored in Google Analytics);
- identifiers: a random app instance ID generated by Google for this installation; on iOS the IDFV, and the IDFA only if you allowed tracking; on Android the advertising ID (AAID).
Not sent: your account ID (UID), your username and your analysis texts. Google signals are off. Retention: 2 months at event level, 14 months at user level; after that only aggregate reports remain.
2.11 Crash and performance reports
In the version downloaded from the store, if the app closes unexpectedly a report goes to Firebase Crashlytics: the technical breakdown of the error, device model, operating system and app version, memory and storage state, and a random installation ID. Firebase Performance Monitoring measures app start time, screen rendering speed and the duration of network requests. Your account ID is not attached; these are used only to find bugs and kept for at most 90 days.
2.12 App integrity and version check
To protect our server from fake clients we use Firebase App Check: Apple App Attest on iPhone and Google Play Integrity on Android confirm that a request comes from the genuine app. Firebase Remote Config is used only to read the required or suggested update version.
2.13 Data kept on your device
Your language preference, whether you have seen the first-run steps, lessons you unlocked with a rewarded video and the rating-prompt state are stored on your device; on Android the device ID used for the free analysis is also kept there. So that it can work offline, the app keeps a copy of your profile and progress in a local cache on the device. On Android some preferences may be included in Android's own backup if your phone's Google backup is on; sign-in data and the device ID are not backed up.
2.14 What we do not collect
- Email, password, real name, phone number, postal address, national ID number (if you email support we use your address only to reply).
- Device location — there is no location permission. The country / city-level approximation that ad and measurement services derive from your IP is described above.
- Contacts, microphone, camera, photos; you do not upload files to the app.
- Real brokerage accounts, real portfolios, bank or card details.
3. Artificial intelligence (OpenAI)
Commentary on instruments is produced through the API of OpenAI, based in the United
States (gpt-4o for the analysis, smaller OpenAI models to translate texts into the app
language). Our server sends OpenAI only: the symbol, horizon,
category, the market data the server fetched, a fixed analysis
instruction and the target language. No account ID, username, device ID or user text is
sent.
Under OpenAI's API data policy, data sent through the API is not used to train its models by default and may be retained for up to 30 days for abuse monitoring: OpenAI API data usage.
AI commentary can be wrong or incomplete. Nothing in the app — including AI commentary — is investment advice; its purpose is to teach. Example tables in the app are fictional and for education only.
4. Why we process data (legal bases)
- Providing the app — account, progress, AI analysis, virtual portfolio, leaderboard, purchases: performance of a contract (GDPR Art. 6(1)(b); KVKK Art. 5/2-c).
- Preventing abuse — free analysis once per device, App Check, rate limits, payment event log: legitimate interests (GDPR Art. 6(1)(f); KVKK Art. 5/2-f).
- Finding bugs and measuring the app in aggregate — Crashlytics, Performance, Analytics: legitimate interests (GDPR Art. 6(1)(f); KVKK Art. 5/2-f).
- Funding the free version with ads: legitimate interests; on iPhone, personalised ads and tracking only with your ATT permission — consent (GDPR Art. 6(1)(a); KVKK Art. 5/1).
- Reminder notifications: the notification permission you grant — consent; you can withdraw it at any time.
We do not sell your data.
5. Who we share it with, and international transfers
- Google (Firebase) — authentication, database (Firestore, Europe multi-region), server functions (United States, us-central1), Analytics, Crashlytics, Performance, App Check, Remote Config; lesson images are also loaded from Firebase Storage. Processor. firebase.google.com/support/privacy
- OpenAI (US) — instrument commentary, §3. Processor.
- RevenueCat (US) — purchase validation, §2.7. Processor.
- OneSignal (US) — notifications, only if you allow them, §2.8. Processor.
- Google AdMob — ads, §2.9. Independent controller.
- Apple and Google stores — payment, under their own terms.
- Yahoo Finance, Truncgil — our server fetches market data for the analysis from them; these requests contain nothing about you.
- Binance, Yahoo Finance — price data on the practice screen is requested from your device; no personal data is sent, they only see your IP address (§2.4).
- Other users — username and quiz score on the leaderboard (§2.6).
Some of these providers process data outside Türkiye and Europe, in particular in the United States. These transfers are made to the extent needed to provide the service, under the providers' standard contractual clauses and equivalent safeguards. We share nothing with anyone else except where legally required (e.g. a court order).
6. How long we keep it
- Account, progress, analysis history and request log, virtual portfolio: until you delete your account.
- Shared analysis cache (contains no personal data): 30 minutes to 24 hours depending on the horizon.
- On OpenAI's side: up to 30 days (§3).
- Free-analysis device record: kept after account deletion, with the link to the account removed (§2.5).
- Server logs (debugging logs; may include the account ID and the details of a purchase event reported by RevenueCat — product, price, country, transaction ID): Google Cloud's default of 30 days.
- Google Analytics: events 2 months, user level 14 months. Crashlytics and Performance: up to 90 days.
- RevenueCat and OneSignal: while the service runs; if you ask for deletion we delete these records too (§7).
Important: uninstalling the app does not delete your data on the server. Because the anonymous account is tied to your device, you can no longer reach it after uninstalling, but the record does not disappear by itself. If you want it erased, follow the step below before uninstalling.
7. Deleting your account and data
The same on iPhone, iPad and Android: Profile tab (settings) → Delete My Account → confirm. This permanently deletes your profile and progress, your analysis history and request log, your virtual portfolio, your notification preferences, the payment event records belonging to your account and your anonymous account. The free-analysis device record's link to your account is removed.
Your RevenueCat and OneSignal records are not deleted from inside the app; if you want them removed, email info@dahitech.io with your username and we delete them within 30 days at the latest. If you can no longer open the app, write to the same address.
Deleting your account does not cancel an active subscription; cancel it in your App Store or Google Play account (how?).
8. Your rights
Under GDPR Art. 15–22 and Turkish KVKK Art. 11 you have the right to know whether your data is processed, to request information and a copy, to have it corrected or erased, to object to or restrict processing, to receive it in a portable format and to withdraw consent. To exercise them, email info@dahitech.io with your username; we respond within 30 days. You may also complain to your national data protection authority or to the Turkish Personal Data Protection Authority.
Analytics, Crashlytics and Performance data are not matched to your account ID, so they cannot be looked up individually on your behalf; they are deleted automatically at the end of the periods above.
9. Children
LearnInvest is not directed at children under 13 and we do not knowingly collect data from them. If you believe a child under 13 has left data with us, write to us and we will delete it.
10. Security
All traffic between the app and the servers is encrypted (TLS). The app cannot raise credit or subscription fields; only the server changes them, after store validation. Your analysis history and virtual portfolio are accessible only to you; the visibility of the profile record is described in §2.6. We store no passwords, because we use none. In the event of a security incident we will notify affected users and the competent authority within the period required by law.
11. Changes
If this policy changes, the new version is published on this page and the date above is updated. If a change materially expands what we collect, we will also announce it in the app.
12. Contact
Muhammed Mert Toprak · info@dahitech.io · Türkiye
FAQ and cancelling a subscription: Support page