Gizlilik Politikası
Bu politika, Tinyscape Weather mobil uygulamasını (“Uygulama”) kullanırken kişisel verilerinizin nasıl işlendiğini açıklar. Uygulama, hava durumu bilgisi sunar ve hava koşullarına göre yapay zekâ ile sahne görseli veya video üretmenize olanak tanır. Uygulamayı kullanarak bu politikayı okuduğunuzu kabul etmiş sayılırsınız.
1. Veri sorumlusu
6698 sayılı Kişisel Verilerin Korunması Kanunu (“KVKK”) ve Avrupa Birliği Genel Veri Koruma Tüzüğü (“GDPR”, AB 2016/679) kapsamında veri sorumlusu:
Yağız Gezer (bireysel geliştirici)
Altıntepe Mah. Ali Paşa Sk. Beyaz Konak Apt. No: 23-25
34840 Maltepe / İstanbul, Türkiye
Telefon: +90 535 359 33 33
E-posta: [email protected]
Uygulama paket kimliği: com.yagizgezer.havadurumu.app
2. Hesap ve kimlik
Uygulamada e-posta veya şifre ile kayıt yoktur. Cihazınızda ve (varsa) Apple iCloud hesabınızla eşleşen bir anonim hesap kimliği oluşturulur; bu kimlik satın alma ve kredi senkronu için kullanılır. Ayarlar bölümünde destek amacıyla kopyalayabileceğiniz bir RevenueCat müşteri kimliği gösterilebilir.
Kredinizi başkasının harcayamaması için uygulama, Apple’ın App Attest hizmetiyle kurulumun gerçek bir cihazdaki gerçek bir kopya olduğunu kanıtlar. Bu doğrulamada sunucumuz kuruluma ait bir genel anahtar ve kullanım sayacı saklar. Anahtar cihazda üretilir, cihazdan çıkmaz ve kimliğinizi açığa vurmaz; Apple’a giden doğrulamada da kişisel bilgi bulunmaz.
Bu anonim kimlik, üretim ve kredi işlemlerini yürütebilmek için Bölüm 6’da anlatılan kendi sunucumuzda da bir kayıt oluşturur. Kaydı ve ona bağlı kredi bakiyesini uygulama içinden Ayarlar → Hesap → “Bütün Verilerimi Sil (Hesabımı Kapat)” ile silebilirsiniz; silme işlemi sunucudaki hesap kaydını da kapsar ve geri alınamaz.
3. Topladığımız ve işlediğimiz veriler
| Veri türü | Nasıl toplanır | Amaç |
|---|---|---|
| Konum (yaklaşık) | İzin verirseniz, yalnızca uygulama açıkken (“kullanım sırasında”) | Bulunduğunuz yerin hava durumu ve şehre özel sahne üretimi |
| Hava verisi | Apple WeatherKit; WeatherKit kullanılamazsa yedek olarak OpenWeatherMap — bu yedek çağrı cihazdan değil, kendi sunucumuz (Bölüm 6) üzerinden yapılır | Sıcaklık, durum, tahmin gösterimi |
| Üretim isteği | Siz üretim başlattığınızda | AI görsel/video; sahne metni, hava durumu, şehir/ilçe adı ve model seçimi önce kendi sunucumuza (Bölüm 6), oradan ilgili AI sağlayıcısına iletilir |
| Oluşturulan görseller/videolar | Cihazınızda saklanır | Geçmiş, paylaşım, stüdyo deneyimi |
| Kredi bakiyesi | Anonim hesap kimliğine bağlı olarak kendi sunucumuzda tutulur; cihazda ve iCloud Key-Value’da yalnızca kimlik ve önbellek saklanır | Ücretsiz ve satın alınan kredilerin korunması, cihaz değişiminde geri gelmesi |
| Satın alma | Apple App Store üzerinden | Kredi paketleri ve abonelikler; işlem Apple ve RevenueCat ile yürütülür |
| Bildirim izni ve cihaz jetonu | iOS izin diyaloğu; izin verirseniz Apple’ın verdiği push jetonu sunucumuza kaydedilir | Sahne üretimi tamamlandığında bildirim. Uygulama kapalıyken haber verebilmek için jeton, ortam bilgisi (sandbox/production), dil ve uygulama sürümü sunucuda saklanır; izni geri çekerseniz kayıt silinir |
| Teknik hata verisi | İsteğe bağlı (yapılandırılmışsa) | Çökme ve üretim hatalarının giderilmesi (Sentry) |
| Anonim üretim istatistikleri | AI üretimi tamamlandığında veya hata verdiğinde (yapılandırılmışsa) | Maliyet ve kalite planlaması; teknik güvenilirlik (Cloudflare Worker + D1) |
| Uzak yapılandırma | Kendi sunucumuzdan HTTPS ile JSON indirme | Model ve kredi maliyeti ayarları; kişisel profil oluşturmaz |
4. Toplamadığımız veriler
- Reklam kimliği (IDFA) veya çapraz uygulama takibi
- Ad, soyad, telefon (siz paylaşmadıkça destek e-postasında)
- Rehber, takvim veya kamera erişimi
- Fotoğraf galerinizin okunması — sahneyi duvar kâğıdı, paylaşım kartı veya dönem özeti videosu olarak kaydettiğinizde yalnızca ekleme izni istenir; galerinizdeki hiçbir görsel okunmaz, listelenmez veya gönderilmez
- Serbest metin “prompt” içeriğinin hata raporlarına veya üretim istatistiklerine eklenmesi (bilinçli olarak gönderilmez)
- Şehir veya ilçe adının üretim istatistiklerinde açık metin olarak saklanması
5. Üçüncü taraf hizmetler
Verileriniz, hizmetin sunulması için aşağıdaki sağlayıcılara aktarılabilir:
- Apple — WeatherKit, App Store satın alma, iCloud Key-Value, App Attest cihaz doğrulaması ve APNs bildirim dağıtımı
- OpenWeatherMap — WeatherKit kullanılamadığında hava verisi yedek kaynağı (çağrı cihazdan değil kendi sunucumuzdan yapılır)
- RevenueCat — Satın alma ve abonelik altyapısı (kredi paketleri)
- fal.ai — Görsel ve video üretimi
- Wiro.ai — Görsel ve video üretimi
- Eachlabs — Video üretimi (yedek sağlayıcı)
- Cloudflare — İsteğe bağlı anonim üretim istatistikleri (Worker + D1) ve statik dosya barındırma
- Sentry — İsteğe bağlı hata ve çökme raporlama (yapılandırılmışsa)
Bu sağlayıcıların kendi gizlilik politikaları geçerlidir. Aktarım, hizmetin ifası ve meşru menfaat kapsamında; mümkün olan durumlarda sözleşmesel ve teknik güvenlik önlemleriyle yapılır.
AI sağlayıcılarına yapılan çağrılar doğrudan cihazınızdan değil, Bölüm 6’da anlatılan kendi sunucumuz üzerinden yapılır; API anahtarları cihaza gömülmez.
6. Kendi sunucumuz ve yapay zekâ üretimi
Uygulama, üretim ve kredi işlemlerini Bölüm 1’deki veri sorumlusunun işlettiği kendi sunucusu
(aiapi.gezerlabs.dev) üzerinden yürütür. Bu sunucu üçüncü taraf bir hizmet değildir;
veri sorumlusunun kendi altyapısıdır ve Avrupa Birliği içinde barındırılır.
Sahne görseli veya videosu oluşturduğunuzda sunucuya şunlar iletilir:
- Anonim hesap kimliği (kredi düşümü ve hız sınırı için)
- Sahne metni (uygulamanın hava ve stil seçimlerinden ürettiği istem metni)
- Şehir/ilçe düzeyinde konum adı ve hava durumu özeti
- Seçtiğiniz model, kalite düzeyi ve (video için) süre
Sunucu bu isteği ilgili AI sağlayıcısına iletir, sonucu üretim işi olarak kaydeder ve kredi bakiyenizi günceller. Üretilen görsel/video cihazınıza indirilir; sunucudaki geçici kopya işin tamamlanmasının ardından sınırlı süre içinde silinir. Sunucuda ad, e-posta, telefon veya reklam kimliği gibi doğrudan kimlik bilgisi tutulmaz.
Sunucudaki hesabınızı, kredi bakiyenizi ve üretim kayıtlarınızı istediğiniz zaman uygulama içinden Ayarlar → Hesap → “Bütün Verilerimi Sil (Hesabımı Kapat)” ile silebilirsiniz. Uygunsuz veya yasa dışı içerik üretmek kullanım koşullarımıza aykırıdır.
7. Hata izleme (Sentry)
Yapılandırıldığında Sentry’ye örnek olarak şunlar gidebilir:
- Olay türü (ör. üretim hatası, hava verisi hatası)
- Anonim hesap kimliği, model kimliği, hata sınıfı
- Cihaz/OS sürümü, uygulama sürümü
Gönderilmez: tam konum adı, kullanıcı prompt metni, API anahtarları, ham görsel dosyaları.
8. Anonim üretim defteri (Cloudflare)
Uygulama yapılandırıldığında, AI görsel veya video üretimi sonrasında anonim kullanım istatistikleri Cloudflare Worker ve D1 veritabanına iletilebilir. Amaç: tahmini API maliyeti, başarı/hata oranı ve teknik iyileştirme; reklam veya profil oluşturma değildir.
Örnek olarak gönderilebilir:
- SHA-256 ile tek yönlü dönüştürülmüş anonim hesap özeti (ham hesap kimliği değil)
- Üretim sonucu (başarılı / başarısız), görev türü (görsel, video, metin planlayıcı)
- AI sağlayıcısı, model kimliği, kalite düzeyi (Standart / Pro)
- Tahsil edilen jeton sayısı, tahmini API maliyeti (USD), süre
- Landmark kapsamı yalnızca kategori olarak (ilçe kataloğu / il düzeyi / genel) — şehir veya ilçe adı değil
- Hata sınıfı (zaman aşımı, iptal, ağ vb.), uygulama sürümü, ortam (debug / production)
Gönderilmez: prompt metni, üretilen görsel veya video, tam konum adı, API anahtarları.
Gelecekte yalnızca teknik korelasyon için prompt özetinin tek yönlü hash değeri (içeriği geri okunamaz) eklenebilir; tam prompt metni yine gönderilmeyecektir.
Bu iletim, uygulama sürümünde ilgili yapılandırma tanımlıysa gerçekleşir; tanımlı değilse defter kapalı kalır ve uygulama normal çalışır.
9. Saklama süresi
- Cihazdaki geçmiş ve üretimler: siz silene veya uygulamayı kaldırana kadar
- Sunucudaki hesap kaydı, kredi bakiyesi ve üretim işi kayıtları (Bölüm 6): hesabınızı silene kadar; silme talebinden sonra kalan yedeklerden makul süre içinde temizlenir
- Sunucudaki geçici görsel/video kopyası: iş tamamlandıktan sonra sınırlı süre
- iCloud kredi verisi: Apple iCloud politikalarına tabi
- Sentry olayları: Sentry projesi saklama ayarlarına tabi (genelde sınırlı süre)
- Cloudflare üretim defteri: geliştirici tarafında sınırlı süre tutulur; periyodik temizlenebilir
- Apple/RevenueCat satın alma kayıtları: ilgili sağlayıcı politikalarına tabi
10. Haklarınız (KVKK md. 11)
Kişisel verilerinizle ilgili bilgi talep etme, düzeltme, silme, işlemeyi kısıtlama ve şikâyet hakkınız saklıdır. Taleplerinizi [email protected] adresine iletebilirsiniz. Silme hakkınızı e-posta beklemeden kullanmak isterseniz uygulama içindeki Ayarlar → Hesap → “Bütün Verilerimi Sil (Hesabımı Kapat)” seçeneği hem cihazdaki hem de sunucudaki verilerinizi siler.
11. Avrupa Ekonomik Alanı kullanıcıları (GDPR)
Uygulama Avrupa Birliği ülkelerinde de dağıtılmaktadır. Avrupa Ekonomik Alanı’nda (AEA) bulunuyorsanız, Bölüm 1’de belirtilen kişi aynı zamanda GDPR anlamında veri sorumlusudur ve aşağıdaki hükümler geçerlidir.
İşlemenin hukuki dayanakları (md. 6):
- Sözleşmenin ifası (md. 6/1-b) — satın aldığınız kredilerin işlenmesi, başlattığınız üretim isteğinin yerine getirilmesi, kredi bakiyesinin korunması
- Açık rıza (md. 6/1-a) — konum erişimi ve bildirimler. iOS izin diyaloğu üzerinden verilir ve sistem ayarlarından her zaman geri alınabilir
- Meşru menfaat (md. 6/1-f) — hata izleme ve Bölüm 8’deki anonim üretim istatistikleri. Amaç hizmetin teknik güvenilirliği ve maliyet planlamasıdır; reklam veya profil oluşturma değildir
- Hukuki yükümlülük (md. 6/1-c) — vergi ve tüketici mevzuatı gereği saklanması gereken satın alma kayıtları
Haklarınız (md. 15–22): erişim, düzeltme, silme, işlemenin kısıtlanması, veri taşınabilirliği ve itiraz haklarına sahipsiniz. Meşru menfaate dayanan işlemeye her zaman itiraz edebilirsiniz. Rızaya dayanan işlemede rızanızı geri çekmeniz, geri çekme anına kadar yapılan işlemenin hukuka uygunluğunu etkilemez.
Yurt dışına aktarım (md. 44–49): Bölüm 6’daki kendi sunucumuz Avrupa Birliği içinde barındırılır; bu işleme AEA içinde kalır. Bölüm 5’te sayılan sağlayıcıların bir kısmı ise AEA dışında, ağırlıklı olarak Amerika Birleşik Devletleri’nde bulunmaktadır. Bu aktarımlar, ilgili sağlayıcıların sunduğu standart sözleşme hükümleri (SCC) ve benzeri aktarım mekanizmalarına dayanır.
Şikâyet hakkı (md. 77): Bulunduğunuz ülkenin veya ihlalin gerçekleştiğini düşündüğünüz AB üyesi ülkenin veri koruma denetim makamına şikâyette bulunabilirsiniz.
GDPR kapsamındaki taleplerinizi [email protected] adresine iletebilirsiniz. Talepler en geç bir ay içinde yanıtlanır.
12. Çocuklar
Uygulama 13 yaş altına yönelik değildir. Bilerek çocuklardan kişisel veri toplamıyoruz. Bir ebeveyn veya veli, çocuğunun veri işlendiğini düşünüyorsa bizimle iletişime geçebilir.
13. Politika değişiklikleri
Bu sayfayı güncelleyebiliriz. Önemli değişikliklerde uygulama veya mağaza sayfası üzerinden bilgilendirme yapılabilir. Güncel metin her zaman bu URL’de yayımlanır.
English version — Informative translation for App Review and international readers. For users in Türkiye, the Turkish text above is the primary policy under KVKK.
Privacy Policy
This policy explains how personal data is processed when you use the Tinyscape Weather mobile app (“App”). The App provides weather information and lets you generate AI scene images or videos based on weather conditions. By using the App, you acknowledge that you have read this policy.
1. Data controller
Under Turkish Law No. 6698 (KVKK) and the EU General Data Protection Regulation (“GDPR”, EU 2016/679), the data controller is:
Yağız Gezer (individual developer)
Altıntepe Mah. Ali Paşa Sk. Beyaz Konak Apt. No: 23-25
34840 Maltepe / İstanbul, Türkiye
Phone: +90 535 359 33 33
Email: [email protected]
Bundle ID: com.yagizgezer.havadurumu.app
2. Account and identity
There is no email/password registration. An anonymous account identifier is created on your device (and synced via Apple iCloud Key-Value when available) for purchases and credit sync. Settings may show a RevenueCat customer ID you can copy for support.
So that nobody else can spend your credits, the App proves through Apple’s App Attest service that the installation is a genuine copy on a genuine device. For this check our server stores a public key and a use counter for the installation. The key is generated on the device, never leaves it, and does not reveal your identity; the verification sent to Apple contains no personal data.
To run generations and credit operations, this anonymous identifier also creates a record on our own server described in Section 6. You can delete that record and its credit balance from inside the app at any time via Settings → Account → “Delete All My Data (Close My Account)”; the deletion covers the server-side account record and cannot be undone.
3. Data we collect and process
| Data type | How collected | Purpose |
|---|---|---|
| Location (approximate) | With your permission, only while the app is in use | Local weather and city-specific scene generation |
| Weather data | Apple WeatherKit; if WeatherKit is unavailable, OpenWeatherMap as a fallback — that call is made by our server (Section 6), not by your device | Temperature, conditions, forecasts |
| Generation request | When you start AI generation | Scene prompt, weather, city/district name, and model choice are sent first to our own server (Section 6) and from there to the relevant AI provider |
| Generated images/videos | Stored on your device | History, sharing, studio experience |
| Credit balance | Held on our own server, keyed to the anonymous account identifier; the device and iCloud Key-Value store only that identifier and a cached copy | Preserving free and purchased credits across devices |
| Purchases | Apple App Store | Credit packs and subscriptions via Apple and RevenueCat |
| Notification preference | iOS permission dialog | Notification when generation completes. So we can tell you while the app is closed, the token, environment (sandbox/production), language, and app version are stored on our server; the record is removed if you revoke the permission |
| Technical error data | Optional (if configured) | Crash and generation error diagnostics (Sentry) |
| Anonymous usage statistics | When AI generation succeeds or fails (if configured) | Cost planning and reliability (Cloudflare Worker + D1) |
| Remote configuration | HTTPS JSON download from our own server | Model and credit pricing settings; not used for profiling |
4. Data we do not collect
- Advertising ID (IDFA) or cross-app tracking
- Name, phone (unless you include them in a support email)
- Contacts, calendar, or camera access
- Reading your photo library — saving a scene as a wallpaper, share card or recap video asks for add-only access; no photo in your library is read, listed or uploaded
- Full user prompt text in error reports or usage statistics (deliberately excluded)
- City or district names stored as plain text in usage statistics
5. Third-party services
Data may be transferred to:
- Apple — WeatherKit, App Store purchases, iCloud Key-Value, App Attest device verification, and APNs notification delivery
- OpenWeatherMap — Weather fallback when WeatherKit is unavailable (the call is made by our server, not by your device)
- RevenueCat — In-app purchase and subscription infrastructure
- fal.ai — Image and video generation
- Wiro.ai — Image and video generation
- Eachlabs — Video generation (fallback provider)
- Cloudflare — Optional anonymous usage ledger (Worker + D1) and static file hosting
- Sentry — Optional crash and error reporting (if configured)
Each provider’s own privacy policy applies. Transfers are for service delivery and legitimate interests, with contractual and technical safeguards where possible.
Calls to AI providers are not made directly from your device — they go through our own server described in Section 6, so provider API keys are never embedded in the app.
6. Our own server and AI generation
The App runs generation and credit operations through a server operated by the controller named in
Section 1 (aiapi.gezerlabs.dev). This is not a third-party service; it is the controller’s
own infrastructure and is hosted inside the European Union.
When you create a scene image or video, the following is sent to that server:
- Anonymous account identifier (for credit deduction and rate limiting)
- Scene prompt (generated by the App from weather and style selections)
- Location name at city/district level and a weather summary
- Your chosen model, quality tier, and (for video) duration
The server forwards the request to the relevant AI provider, records it as a generation job, and updates your credit balance. The generated image or video is downloaded to your device; the temporary server-side copy is deleted within a limited period after the job completes. The server stores no direct identifiers such as name, email, phone number, or advertising ID.
You can delete your server-side account, credit balance, and generation records at any time from Settings → Account → “Delete All My Data (Close My Account)”. Producing inappropriate or illegal content violates our terms of use.
7. Error monitoring (Sentry)
If configured, Sentry may receive:
- Event type (e.g. generation failure, weather fetch failure)
- Anonymous account ID, model ID, error category
- Device/OS version, app version
Not sent: full location name, user prompt text, API keys, raw image files.
8. Anonymous generation ledger (Cloudflare)
If configured, anonymous usage statistics may be sent to Cloudflare Worker and D1 after AI image or video generation—for estimated API cost, success/failure rates, and technical improvement; not for ads or profiling.
May include:
- One-way SHA-256 hash of account identifier (not the raw ID)
- Outcome (succeeded/failed), task type (image, video, text planner)
- AI provider, model ID, quality tier (Standard / Pro)
- Credits charged, estimated API cost (USD), duration
- Landmark scope as category only (district catalog / province / generic)—not city or district names
- Error category, app version, environment (debug / production)
Not sent: prompt text, generated media, full location names, API keys.
A one-way hash of a prompt summary may be added later for technical correlation only; full prompt text will still not be sent.
If ledger configuration is absent in the app build, the ledger stays off and the App works normally.
9. Retention
- On-device history and generations: until you delete them or uninstall the App
- Server-side account record, credit balance, and generation job records (Section 6): until you delete your account; residual backups are purged within a reasonable period afterwards
- Temporary server-side copy of a generated image or video: a limited period after the job completes
- iCloud credit data: subject to Apple iCloud policies
- Sentry events: per Sentry project retention settings
- Cloudflare ledger: limited retention on the developer side; may be purged periodically
- Apple/RevenueCat purchase records: per provider policies
10. Your rights (KVKK Art. 11)
You may request information, correction, deletion, restriction, or lodge a complaint regarding your personal data. Contact [email protected]. To exercise the right to erasure without waiting for an email reply, use Settings → Account → “Delete All My Data (Close My Account)” in the App, which deletes both your on-device and server-side data.
11. European Economic Area users (GDPR)
The App is also distributed in European Union countries. If you are in the European Economic Area (EEA), the person identified in Section 1 is also the controller for GDPR purposes and the following applies.
Legal bases for processing (Art. 6):
- Performance of a contract (Art. 6(1)(b)) — processing credits you purchased, fulfilling the generation you requested, preserving your credit balance
- Consent (Art. 6(1)(a)) — location access and notifications, granted through the iOS permission dialog and withdrawable at any time in system settings
- Legitimate interests (Art. 6(1)(f)) — error monitoring and the anonymous usage statistics in Section 8, for technical reliability and cost planning; not for advertising or profiling
- Legal obligation (Art. 6(1)(c)) — purchase records that must be retained under tax and consumer law
Your rights (Art. 15–22): access, rectification, erasure, restriction of processing, data portability, and objection. You may object at any time to processing based on legitimate interests. Withdrawing consent does not affect the lawfulness of processing carried out before the withdrawal.
International transfers (Art. 44–49): our own server described in Section 6 is hosted inside the European Union, so that processing stays within the EEA. Some providers listed in Section 5 are located outside the EEA, primarily in the United States; those transfers rely on the standard contractual clauses (SCCs) and comparable transfer mechanisms offered by those providers.
Right to complain (Art. 77): you may lodge a complaint with the data protection supervisory authority of your country of residence or of the EU member state where you believe an infringement occurred.
Send GDPR requests to [email protected]. Requests are answered within one month at the latest.
12. Children
The App is not directed at children under 13. We do not knowingly collect personal data from children. Parents or guardians who believe a child’s data was processed may contact us.
13. Policy changes
We may update this page. Material changes may be communicated via the App or App Store listing. The current text is always published at this URL.