PatternFusion bir teknik analiz ve mum formasyonları eğitim uygulamasıdır: dersler, quizler, yapay zekâ destekli grafik 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 PatternFusion 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.
- Yüklediğin grafik görseli yorumlanması için sunucumuz üzerinden OpenAI'a gönderilir; görsel her pazartesi otomatik silinir (en fazla yaklaşık 7 gün). Analizin metni sen silene kadar geçmişinde kalır.
- Kullanıcı adın ve en iyi quiz puanın herkese açık sıralamada görünebilir.
- Ücretsiz sürümde Google AdMob reklamları var. iPhone'da izleme izni verirsen reklamlar kişiselleştirilebilir; vermezsen reklam kimliğine erişilmez.
- Verini silebilirsin: Android'de uygulama içinden, iPhone'da e-postayla.
Ö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ı, dil, ders ilerlemesi, quiz puanları, seri, rozetler | Uygulamanın temel işlevi, sıralama | Firebase (Firestore, Avrupa) | Hesap silinene kadar |
| Yüklediğin grafik görseli | Yapay zekâ analizi | Firebase Storage; analiz anında OpenAI | Her pazartesi silinir (≤ ~7 gün); OpenAI'da en fazla 30 gün |
| Analiz sonucu metni, vade seçimi | Analiz geçmişin | Firestore | Hesap silinene kadar |
| Sanal portföy (sanal nakit, pozisyonlar) | Pratik modu | Firestore | Hesap silinene kadar |
| Cihaz kimliği (iOS IDFV / Android ANDROID_ID) | Ücretsiz hoş geldin kredisini 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; ödeme olay kaydı denetim için kalır |
| Bildirim jetonu, UID, dil, saat dilimi | İzin verirsen hatırlatmalar | OneSignal | İ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 — PatternFusion'ı 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ı — ilk açılışta otomatik atanır (
Guest_1234gibi); Ayarlar'dan değiştirebilirsin. Kullanıcı adları benzersizdir, en fazla 40 karakterdir. Gerçek adını yazmamanı öneririz; - uygulama dili, hesabın oluşturulma zamanı;
- ders ilerlemesi, quiz en iyi puanın ve son oynama zamanı, Pattern Hunter en iyi skorun, 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) — bu alanları yalnız sunucumuz yazar.
2.3 Yapay zekâ grafik analizi
Bir grafik görselini analiz ettirmek için cihazının sistem fotoğraf seçicisinden bir görsel seçersin. Uygulama yalnızca seçtiğin görseli alır; fotoğraf arşivine toplu erişim izni, kamera ya da mikrofon izni istenmez.
- Görsel cihazda küçültülür (uzun kenar en fazla 1280 piksel, JPEG) ve vade seçiminle (kısa / orta / uzun) ve uygulama dilinle birlikte sunucu fonksiyonumuza gönderilir.
- Sunucu bunları yorum üretmesi için OpenAI'a iletir (bkz. §3). Hesap kimliğin, kullanıcı adın ve cihaz kimliğin OpenAI'a gönderilmez.
- Görsel ayrıca geçmişinde gösterilebilmesi için Firebase Storage'da
yalnız sana açık bir klasöre (
users/<UID>/analysis) kaydedilir. Bu görseller her pazartesi 03:00'te (TSİ) otomatik olarak silinir; yani bir görsel en fazla yaklaşık 7 gün durur. - Analizin metni, seçtiğin vade ve tarih analiz geçmişinde saklanır; görsel silindikten sonra da kalır.
Görselde kişisel bilgi bırakma. Aracı kurum ekranından görüntü alıyorsan hesap numarası, ad, bakiye gibi bilgileri kırp. Görselin içeriği hakkında karar veremeyiz; içinde ne varsa OpenAI'a gider.
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 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 Hoş geldin kredisi için cihaz kimliği
İlk ücretsiz analiz kredisi cihaz başına bir kez verilir. 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 kredinin verilip verilmediği, ilk verilme ve son görülme 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 cihaza kredi verildi" bilgisi ise uygulamayı silip yeniden kurarak kredinin tekrar tekrar alınmasını önlemek için kalır.
2.6 Sıralama tablosu
Quiz sıralamasında ilk 10 oyuncunun kullanıcı adı ve en iyi quiz puanı (doğru / toplam) diğer kullanıcılara gösterilir. Başka hiçbir bilgin sıralamada görünmez.
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;
- 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, işlem kimliğini ve işlenme zamanını 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.
Sunucumuz günde en fazla iki hatırlatma gönderir, ikisi de senin yerel saatinle: akşam 19:00'da kalan analiz kredisi sayın, 21:00'de tamamlamadığın dersler 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 ana sayfa, analiz ve quiz ekranlarının altında banner reklam gösterilir. İstersen kısa bir ödüllü video izleyerek ilk ücretsiz analizini alabilir ya da kilitli bir dersi açabilirsin; video her zaman isteğe bağlıdır. Premium abonelerine banner gösterilmez ve kilitli dersler açıktır. 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 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 tanıtım ekranları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: tanıtım adımlarının görülmesi ve tamamlanması, anonim hesabın açılması, ilk dersin bitmesi, ders açılması ve tamamlanması (ders numarası), quiz sonucu (doğru / toplam), analiz yapılması (yalnız seçilen vade — görsel ya da sonuç değil), rozet açılması, ö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, yüklediğin görseller 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 Yalnız cihazında kalanlar
Dil tercihin, tanıtım ekranları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 bunların bir kısmı, telefonun Google yedeklemesi açıksa Android'in kendi yedeğine girebilir; oturum bilgisi 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ğraf arşivine toplu erişim.
- Gerçek aracı kurum hesabı, gerçek portföy, banka ya da kart bilgisi.
3. Yapay zekâ (OpenAI)
Grafik yorumları ABD merkezli OpenAI'ın API'si üzerinden gpt-4o
modeliyle üretilir. Her analizde sunucumuz OpenAI'a yalnızca şunları gönderir: grafik
görseli, sabit analiz talimatı, yanıt dili ve vade seçimi.
Hesap kimliği, kullanıcı adı ve cihaz kimliği 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ı formasyonları öğretmektir.
4. Neden işliyoruz (hukuki sebepler)
- Uygulamayı sunmak — hesap, ilerleme, analiz, 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 hoş geldin kredisi, 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), dosya deposu, sunucu fonksiyonları (ABD, us-central1), Analytics, Crashlytics, Performance, App Check, Remote Config. Veri işleyen. firebase.google.com/support/privacy
- OpenAI (ABD) — grafik 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.
- Binance, Yahoo Finance — pratik ekranındaki fiyat verisi; 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 en iyi 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 metinleri, sanal portföy: hesabını silene kadar.
- Grafik görselleri: her pazartesi 03:00'te (TSİ) silinir — en fazla yaklaşık 7 gün. OpenAI tarafında en fazla 30 gün (§3).
- Hoş geldin kredisi cihaz kaydı: hesap silindikten sonra da, hesapla bağı kaldırılmış olarak tutulur (§2.5).
- Ödeme olay kaydı (olay türü, hesap kimliği, işlem kimliği, zaman): ödeme denetimi ve mükerrer işlemi önlemek için hesap silindikten sonra da tutulur.
- Sunucu kayıtları (hata ayıklama günlükleri; hesap kimliği ve dil 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 ya da en azından kullanıcı adını not et.
7. Hesabını ve verilerini silmek
Android
Ayarlar sekmesi → Hesabı Sil → onayla. Şunlar kalıcı olarak silinir: profilin ve ilerlemen, analiz geçmişin, sanal portföyün, Storage'daki görsellerin, sıralamadaki kaydın ve anonim hesabın. Cihaz kaydının hesabınla bağı kaldırılır.
iPhone ve iPad
iOS sürümünde şu an uygulama içi silme düğmesi yok. info@dahitech.io adresine Ayarlar'da görünen kullanıcı adını yazarak "verilerimi sil" de; Android'deki kapsamın aynısını en geç 30 gün içinde sileriz ve sana bildiririz.
Her iki platformda
RevenueCat ve OneSignal'daki kayıtlarının da silinmesini istiyorsan aynı adrese yaz. 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
PatternFusion 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). Veritabanı kuralları her kullanıcının yalnız kendi kaydını okuyup yazmasına izin verir; kredi ve abonelik alanlarını yalnız sunucu değiştirebilir; görsel klasörüne yalnız sahibi erişebilir (yalnız görsel, en fazla 5 MB). Ş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ı
PatternFusion is an education app for technical analysis and candlestick patterns: lessons, quizzes, AI-assisted chart commentary 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 PatternFusion 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.
- A chart image you upload is sent through our server to OpenAI to be analysed; the image is deleted automatically every Monday (at most about 7 days). The analysis text stays in your history until you delete it.
- Your username and best quiz score may appear on a public leaderboard.
- 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: in the app on Android, by email on iPhone.
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, language, lesson progress, quiz scores, streak, badges | Core features, leaderboard | Firebase (Firestore, Europe) | Until the account is deleted |
| Chart image you upload | AI analysis | Firebase Storage; OpenAI at analysis time | Deleted every Monday (≤ ~7 days); up to 30 days at OpenAI |
| Analysis text, chosen time horizon | Your analysis history | Firestore | Until the account is deleted |
| Virtual portfolio (virtual cash, positions) | Practice mode | Firestore | Until the account is deleted |
| Device ID (iOS IDFV / Android ANDROID_ID) | Give the free welcome credit 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; payment event log kept for audit |
| Push token, UID, language, time zone | Reminders, only if you allow them | OneSignal | 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 PatternFusion 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 — assigned automatically on first launch (like
Guest_1234); you can change it in Settings. Usernames are unique and at most 40 characters. We recommend not using your real name; - app language and when the account was created;
- lesson progress, your best quiz score and when you last played, your best Pattern Hunter score, 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) — only our server writes these fields.
2.3 AI chart analysis
To have a chart analysed you pick an image from your device's system photo picker. The app only receives the image you pick; it does not ask for full photo-library access, camera or microphone permission.
- The image is downscaled on the device (longest side at most 1280 pixels, JPEG) and sent to our server function together with your chosen time horizon (short / medium / long) and the app language.
- The server forwards these to OpenAI to produce the commentary (see §3). Your account ID, username and device ID are not sent to OpenAI.
- The image is also saved in Firebase Storage, in a folder only you can access
(
users/<UID>/analysis), so it can be shown in your history. These images are deleted automatically every Monday at 03:00 (Istanbul time), so an image stays for at most about 7 days. - The analysis text, your chosen horizon and the date are kept in your analysis history, also after the image has been deleted.
Don't leave personal information in the image. If you screenshot a brokerage app, crop out account numbers, names and balances. We cannot judge what an image contains; whatever is in it goes to OpenAI.
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 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 welcome credit
The first free analysis credit is given 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 credit was granted, when it was first granted and last seen, 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 received its credit" is kept, so the credit cannot be claimed over and over by reinstalling.
2.6 Leaderboard
The quiz leaderboard shows the username and best quiz score (correct / total) of the top 10 players to other users. No other information about you appears there.
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);
- 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, transaction ID and processing time. 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.
Our server sends at most two reminders a day, both at your local time: at 19:00 about your remaining analysis credits, and at 21:00 about lessons you haven't finished. 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 the home, analysis and quiz screens. If you want, you can watch a short rewarded video to get your first free analysis or unlock a locked lesson; watching is always optional. Premium subscribers see no banners and have all lessons unlocked. 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. 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 intro screens, which lesson gets abandoned, whether the purchase screen works — we use Google Analytics for Firebase (processor). What is sent:
- in-app events: intro steps seen and completed, the anonymous account being created, finishing the first lesson, opening and completing a lesson (lesson number), quiz result (correct / total), running an analysis (only the chosen horizon — not the image or the result), unlocking a badge, 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, the images you upload 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 that stays on your device
Your language preference, whether you have seen the intro screens, lessons you unlocked with a rewarded video and the rating-prompt state are stored on your device. On Android some of these may be included in Android's own backup if your phone's Google backup is on; sign-in data is 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; full photo-library access.
- Real brokerage accounts, real portfolios, bank or card details.
3. Artificial intelligence (OpenAI)
Chart commentary is produced through the API of OpenAI, based in the United
States, with the gpt-4o model. For each analysis our server sends OpenAI only: the
chart image, a fixed analysis instruction, the response language and
the time horizon. No account ID, username or device ID 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 chart patterns.
4. Why we process data (legal bases)
- Providing the app — account, progress, analysis, virtual portfolio, leaderboard, purchases: performance of a contract (GDPR Art. 6(1)(b); KVKK Art. 5/2-c).
- Preventing abuse — per-device welcome credit, 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), file storage, server functions (United States, us-central1), Analytics, Crashlytics, Performance, App Check, Remote Config. Processor. firebase.google.com/support/privacy
- OpenAI (US) — chart 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.
- Binance, Yahoo Finance — price data on the practice screen; no personal data is sent, they only see your IP address (§2.4).
- Other users — username and best 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 texts, virtual portfolio: until you delete your account.
- Chart images: deleted every Monday at 03:00 (Istanbul time) — at most about 7 days. Up to 30 days on OpenAI's side (§3).
- Welcome-credit device record: kept after account deletion, with the link to the account removed (§2.5).
- Payment event log (event type, account ID, transaction ID, time): kept after account deletion for payment auditing and to prevent duplicate processing.
- Server logs (debugging logs; may include the account ID and language): 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 — or at least note down your username.
7. Deleting your account and data
Android
Settings tab → Delete Account → confirm. This permanently deletes your profile and progress, analysis history, virtual portfolio, your images in Storage, your leaderboard entry and your anonymous account. The device record's link to your account is removed.
iPhone and iPad
The iOS version currently has no in-app delete button. Email info@dahitech.io with the username shown in Settings and ask us to delete your data; we delete the same scope as on Android within 30 days at the latest and let you know.
On both platforms
If you also want your RevenueCat and OneSignal records removed, 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
PatternFusion 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). Database rules let each user read and write only their own record; credit and subscription fields can be changed only by the server; the image folder is accessible only to its owner (images only, at most 5 MB). 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