Son güncelleme: 24 Eylül 2026 · Uygulama sürümü 3.0 · English version below
Kısaca:
Maya'yı bağımsız bir iOS geliştiricisi olan Necati Doğrul yayımlıyor. KVKK anlamında veri sorumlusu, GDPR anlamında "controller" odur. İletişim: necatidogrul7@gmail.com.
Şunlar telefonundan hiç çıkmaz: haftalık menün, market listen, favori tarifler, damak tercihlerin, alerji ve sevmediklerin listesi, porsiyon ayarların, uygulama ayarları ve indirilmiş tarif görsellerinin önbelleği. Bunlar için sunucuda sana ait bir hesap ya da profil yoktur.
Bir menü, tarif, besin bilgisi ya da sohbet cevabı ürettiğinde şunlar sunucuya gider: yazdığın veya söylediğin malzemeler, mutfak/diyet tercihlerin (ör. vejetaryen, glutensiz), kaç kişi için pişirdiğin, dil tercihin ve — o özelliği kullanırsan — çektiğin fotoğraf.
Bu istek önce bize ait Firebase Cloud Functions sunucularına gider (Google Cloud, europe-west3 / Frankfurt bölgesi), oradan Google Gemini modeline iletilir ve cevap sana döner. Yani girdilerin Google'ın yapay zekâ servisine ulaşıyor; bunu açıkça yazıyoruz çünkü bu, uygulamanın çalışma biçiminin bir parçası.
Buzdolabı fotoğrafı ve tabak fotoğrafı, isteğin gövdesinde sunucuya gönderilir, modele iletilir ve cevap üretildikten sonra bırakılır. Hiçbir dosya depolamaya yazılmaz, hiçbir veritabanı satırına kaydedilmez, hiçbir kopyası tutulmaz.
Bunun dayanağı bir söz değil, yapılandırma: bulut depolamamızda istemciye açık tek yazma yolu yoktur (depolama kuralları her türlü istemci yazmasını reddeder) ve fotoğrafı işleyen iki fonksiyon da sonucu döndürdükten sonra görüntüyü hiçbir yere yazmaz. Depolamada yalnızca bizim yemek kataloğumuz ve tarif fotoğraflarımız bulunur.
Hangi ekranların açıldığını ve hangi adımlarda vazgeçildiğini Firebase Analytics ile ölçüyoruz — onboarding'i ve ödeme ekranını düzeltebilmek için. Bu olaylar ekran adları ve buton dokunuşlarıdır; içine yazdığın malzeme, tarif metni ya da fotoğraf girmez.
| Servis | Ne için | Ne alıyor |
|---|---|---|
| Firebase Analytics (Google) | Kullanım ölçümü, huni analizi | Kullanım olayları (ekran/dokunuş), cihaz tanımlayıcı (Firebase kurulum kimliği), cihaz modeli, dil, ülke |
| Firebase App Check (Google) | İsteğin gerçek bir Maya kurulumundan geldiğini doğrulamak | Apple'ın App Attest doğrulama jetonu. Kişisel veri taşımaz |
| Firebase Cloud Functions + Gemini (Google) | Tarif, menü, besin ve sohbet üretimi | Malzemeler, tercihler, dil ve varsa fotoğraf (§3.1–3.2) |
| RevenueCat | Abonelik durumunu yönetmek ve Pro'yu açmak | Anonim uygulama kullanıcı kimliği (app user ID), satın alma ve yenileme geçmişi, ülke, platform |
| Kingfisher | Tarif görsellerini indirip cihazda önbelleğe almak | Hiçbir şey göndermez; açık kaynak bir görsel önbelleği kütüphanesidir |
| Apple | Satın alma ve abonelik | Ödemeyi Apple alır. Kart bilgilerini hiçbir zaman görmeyiz |
Listede olmayanlar: reklam ağı yok, atıf/attribution SDK'sı yok, sosyal medya SDK'sı yok, çökme kaydı için ayrı bir üçüncü taraf yok, IDFA (reklam tanımlayıcısı) yok. Uygulama AdSupport çerçevesini bağlamaz, bu yüzden izleme izni (ATT) penceresi hiç açılmaz.
Dürüst olmak gerekirse: kurulum kimliği anahtarlıkta durduğu için uygulamayı silip yeniden kurduğunda aynı kalabilir (aynı cihaz ve aynı Apple Kimliğiyle) ve bir iCloud yedeğinden geri gelebilir. Bunu ücretsiz hakkın silme-kurma ile sıfırlanmaması için yapıyoruz. Cihazını değiştirirsen ya da tüm içeriği silersen yeni bir kimlikle başlarsın. Bu kimlik yalnızca kota sayacıdır; reklam için kullanılmaz ve kimseyle paylaşılmaz.
Apple'ın tanımında "izleme", bir uygulamadan toplanan verinin hedefli reklam ya da reklam ölçümü için başka şirketlerin verisiyle eşleştirilmesi veya veri simsarlarına aktarılmasıdır.
Maya izleme yapmaz. Reklam tanımlayıcısı (IDFA) kullanılmaz, uygulamalar arası bir kimlik üretilmez, verilerin reklam veya ölçüm amacıyla üçüncü taraf verisiyle eşleştirilmez ve hiçbir veri simsarına aktarılmaz. App Store gizlilik etiketimizde de hiçbir veri türü "İzleme için kullanılan veriler" altında beyan edilmemiştir.
İzin verirsen günde bir hatırlatma (kendi menünden o günün yemeği) ve market gününde bir hatırlatma daha gönderilir. Bildirimler cihazda zamanlanır. İzni istediğin an iOS Ayarlar → Bildirimler → Maya'dan kapatabilirsin.
Talepleri 30 gün içinde yanıtlıyoruz. Hesap olmadığı için kimliğini doğrulamamız mümkün değil; bu yüzden talebini gönderdiğin cihazdan yazman yeterli.
Maya çocuklara yönelik bir uygulama değildir ve App Store'da Kids kategorisinde yer almaz. Bilerek 13 yaşından (Avrupa Birliği'nde ilgili ülkenin belirlediği yaştan, genellikle 16) küçük çocuklardan veri toplamayız. Böyle bir veri toplandığını fark edersek sileriz; çocuğunun verisinin bize ulaştığını düşünen bir veli bize yazabilir.
Türkiye'de 6698 sayılı KVKK ve Avrupa Birliği'nde GDPR kapsamında şu haklara sahipsiniz: işlenen verilere erişim, düzeltme, silme, işlemenin kısıtlanması, veri taşınabilirliği, itiraz ve rıza verilmiş bir işleme için rızayı geri çekme.
İşleme dayanaklarımız: uygulamanın istediğin işi yapabilmesi için gereken veride sözleşmenin ifası; kullanım ölçümünde ve uygulama bütünlüğünde meşru menfaat; bildirimlerde ve fotoğraf/mikrofon erişiminde ise açık rıza (iOS izin penceresiyle verdiğin izin).
Haklarını kullanmak için necatidogrul7@gmail.com adresine yazman yeterli. Türkiye'de Kişisel Verileri Koruma Kurumu'na, AB'de ise bulunduğun ülkenin veri koruma otoritesine şikâyette bulunma hakkın da vardır.
Yapay zekâ istekleri Google Cloud'un europe-west3 (Frankfurt, Almanya) bölgesinde işlenir. Google ve RevenueCat, altyapılarının bir bölümünü Amerika Birleşik Devletleri'nde çalıştırır; bu aktarımlar sağlayıcıların standart sözleşme hükümleri (SCC) ve veri işleme sözleşmeleri kapsamında gerçekleşir.
Bu sayfa değişirse yukarıdaki tarih güncellenir. Toplanan veri türü genişlerse bunu uygulama içinde de duyururuz.
necatidogrul7@gmail.com · Genellikle 48 saat içinde yanıtlıyoruz.
Last updated: 24 September 2026 · App version 3.0
In short:
Maya is published by Necati Dogrul, an independent iOS developer, who is the data controller under GDPR and the Turkish KVKK. Contact: necatidogrul7@gmail.com.
Your weekly plan, your shopping list, saved recipes, taste preferences, allergies and dislikes, portion settings, app settings and the cache of downloaded recipe photographs never leave your phone. There is no account or profile for you on any server.
When a plan, recipe, nutrition estimate or chat answer is generated, the following is sent: the ingredients you type or say, your cuisine and dietary preferences (e.g. vegetarian, gluten-free), how many people you are cooking for, your language, and — if you use that feature — the photo you take.
The request goes first to our own Firebase Cloud Functions (Google Cloud, europe-west3 / Frankfurt), which pass it to the Google Gemini model and return the answer. So your input does reach Google's AI service, and we say so plainly because it is how the app works.
A fridge photo or a plate photo is sent inside the request, passed to the model, and dropped once the answer is produced. No file is written to storage, no row is written to a database, no copy is kept.
This rests on configuration rather than a promise: our storage rules reject every client write, and neither of the two functions that handle a photo writes the image anywhere after returning its result. The only things in our storage are our own dish catalogue and recipe photographs.
We use Firebase Analytics to see which screens are opened and where people drop out, so we can fix onboarding and the purchase screen. These events are screen names and button taps; they never include the ingredients you typed, recipe text, or a photo.
| Service | Purpose | What it receives |
|---|---|---|
| Firebase Analytics (Google) | Usage measurement, funnel analysis | Usage events (screen / tap), a device identifier (Firebase installation ID), device model, language, country |
| Firebase App Check (Google) | Verifying a request comes from a genuine Maya install | Apple's App Attest attestation token. Carries no personal data |
| Firebase Cloud Functions + Gemini (Google) | Recipe, plan, nutrition and chat generation | Ingredients, preferences, language and, if used, a photo (§3.1–3.2) |
| RevenueCat | Managing subscription state and unlocking Pro | An anonymous app user ID, purchase and renewal history, country, platform |
| Kingfisher | Downloading and caching recipe images on the device | Sends nothing; it is an open-source image caching library |
| Apple | Purchases and subscriptions | Apple takes the payment. We never see your card details |
What is not on this list: no ad network, no attribution SDK, no social SDK, no separate third-party crash reporter, and no IDFA. The app does not link Apple's AdSupport framework, which is why the App Tracking Transparency prompt never appears.
To be honest about it: because the install identifier lives in the keychain, it can survive deleting and reinstalling the app (same device, same Apple ID) and can come back from an iCloud backup. We do this so the free allowance cannot be reset by reinstalling. If you change devices or erase all content, you start with a new identifier. This identifier is only a usage counter; it is never used for advertising and is not shared with anyone.
Apple defines tracking as linking data collected from an app with third-party data for targeted advertising or advertising measurement, or sharing it with a data broker.
Maya does not track. No advertising identifier (IDFA) is used, no cross-app identifier is created, your data is never linked with third-party data for advertising or measurement, and nothing is shared with any data broker. No data type is declared under "Data Used to Track You" in our App Store privacy label.
With your permission we send one reminder a day (tonight's dinner, from your own plan) plus one reminder on shopping day. Notifications are scheduled on the device. You can revoke permission any time in iOS Settings → Notifications → Maya.
We answer requests within 30 days. Because there is no account we cannot verify your identity, so writing from the device in question is enough.
Maya is not directed at children and is not in the App Store Kids category. We do not knowingly collect data from children under 13 (or the age set by your country in the EU, usually 16). If we learn that we have, we delete it; a parent who believes their child's data reached us can write to us.
Under GDPR in the EU and law no. 6698 (KVKK) in Türkiye you have the right to access, rectification, erasure, restriction of processing, data portability, objection, and to withdraw consent where processing is based on it.
Our legal bases: performance of a contract for the data the app needs to do the job you asked for; legitimate interest for usage measurement and app integrity; and consent for notifications and for photo/microphone access (the permission you grant in the iOS prompt).
To exercise a right, write to necatidogrul7@gmail.com. You also have the right to complain to your national data protection authority in the EU, or to the Personal Data Protection Authority (KVKK) in Türkiye.
AI requests are processed in Google Cloud's europe-west3 (Frankfurt, Germany) region. Google and RevenueCat operate parts of their infrastructure in the United States; those transfers take place under the providers' standard contractual clauses and data processing agreements.
If this page changes, the date above changes. If the kinds of data we collect ever expand, we will also say so inside the app.
necatidogrul7@gmail.com · We usually reply within 48 hours.