AI Eat 隱私權政策
AI Eat 是一款幫你在外食時同時算好「剩餘營養素額度、預算、今天的口味」的 App。 這份政策說明我們收集哪些資料、為什麼收、傳給誰,以及你怎麼把它們刪掉。
先講三件最重要的:
- 我們不販售、不出租、不交換你的個人資料,也沒有安裝任何廣告或行為追蹤 SDK。
- 你的位置座標不會被保存:它只在你按下「找餐點」的那一刻用來找附近分店與計算車程,用完即丟。
- 你可以在 App 內直接刪除整個帳號(設定 → 刪除帳號),不需要寄信給我們。
1. 我們收集哪些資料
| 類別 | 具體內容 | 為什麼需要 |
|---|---|---|
| 帳號 | 使用 Google 登入時:你的 Google 帳號識別碼、電子郵件、顯示名稱。 使用 Apple 登入時:Apple 提供的匿名識別碼;名稱與電子郵件僅在你第一次授權時提供(可選擇隱藏)。 不登入時:一組在你裝置上產生的訪客識別碼。 |
讓你的資料跟著帳號走,換手機還在。 |
| 身體資料 | 性別、生日、身高、體重、每週運動頻率、目標(增重/維持/減脂)、達成節奏、食量。 | 算出你每天的熱量與三大營養素目標。這是整個 App 的基礎,不填就算不出「你今天還能吃什麼」。 |
| 飲食紀錄 | 你記下的每一筆:店名、品名、熱量、蛋白質、碳水、脂肪、花費、時間,以及你回報的完食比例與「這餐偏油嗎」。 | 扣掉今天已經吃掉的額度,並讓推薦愈來愈貼近你。 |
| 偏好與限制 (含敏感資訊) |
你在「吃素與忌口」勾的那幾格:全素、蛋奶素、五辛素、不吃牛、不吃豬、不吃血製品; 在「醫療體質」勾的那幾格(蠶豆症、甲殼類過敏、乳糖不耐、麩質過敏、堅果過敏、蛋過敏); 在「口味偏好」勾的那幾格;以及你標記的喜歡與不喜歡的品項。 | 把你吃不了的東西擋在推薦之外。「吃素與忌口」那一區可能透露你的宗教或信仰 (例如五辛素、不吃牛、不吃豬),所以我們另外說明,見下一段。 |
| 位置 | 你按下「找餐點」時的經緯度,或你在「我的位置」自己釘的座標。 | 找出附近有哪幾家分店、以及騎車過去要幾分鐘。不存進你的帳號、不建立位置歷史。 |
| 你主動輸入的內容 | 用「一句話記一餐」打或說出來的文字;自己新增的蛋白粉、調味料、容器;搜尋沒找到東西時的關鍵字。 | 把你的一句話拆成營養素;補上資料庫沒有的品項。詳見第 3 與第 4 節。 |
| 步數(選用,預設關閉) | 「健康」App 的步數。 | 走得比平常多的日子多給一些額度。只在你的裝置上讀取與計算,不會上傳到我們的伺服器,也不讀取身高、體重或運動消耗。 |
| 使用統計 | 哪一張推薦卡被看到、你按了哪一張的「出發去吃」、搜尋落空的關鍵字、次數,以及當地的日期與小時。 | 知道哪些餐點真的被選走,並拿去跟店家談合作。這些事件不包含你的帳號識別碼,我們無法從中看出是誰。 |
| 訂閱狀態 | 你在 App 內訂閱之後,Apple 簽發的那份交易憑證裡的四格:商品代號(月繳或年繳)、
原始交易識別碼(originalTransactionId)、到期時間,
以及退款或撤銷的時間(如果發生過)。我們拿不到你的信用卡號、帳單地址或 Apple ID —— 付款全程由 Apple 處理, 交給我們的只有上面那份簽好的憑證。 |
知道你這一刻是不是訂閱中。每一次「找餐點」都要向 Google 查店家、向 AI 模型跑一趟, 那是我們實際付出去的錢,所以要先確認該不該幫你花它。到期時間是每次現算的依據 (不現算的話,訂過一個月的人一年後還會被當成訂閱中);原始交易識別碼 是 Apple 用來指認「同一份訂閱」的號碼 —— 你換手機、重裝、按「恢復購買」時, 靠它才認得出這是你已經付過的那一份,而不是要你再買一次。 |
| 問題回報 | 你在 設定 → 問題回報 送出的那段文字,連同你的稱呼與送出時間。
我們會把它跟你的帳號(或這台手機的訪客代號)綁在一起,加上我們回你的那些話。 你附上的畫面截圖會暫時存在我們的伺服器上,只給處理問題的人看, 並且同時轉進我們內部的通知頻道(Discord,見第 5 節)。伺服器上的這份截圖最多保留 30 天,這張回報標為處理完畢時就會刪掉;通知頻道裡的那一份由 Discord 保存,我們不會自動刪除。 為了整理回報,我們另外保留一份文字副本;你刪除帳號時,能對得到你的那些副本會一併刪除。 為了更快看懂你遇到的問題,我們會把你的回報文字與截圖交給 AI 服務商(Anthropic)分析;分析結果只給我們自己看。 |
讓你之後能在 設定 → 我的回報 看到有沒有人處理、我們回了什麼。 綁帳號是為了回得到「你」;沒有登入也沒有訪客代號時送出的回報不會留下這份紀錄。 |
「吃素與忌口」是敏感資訊,所以講清楚
- 收什麼:只有你自己在那一區按下去的標籤本身(全素、蛋奶素、五辛素、 不吃牛、不吃豬、不吃血製品)。我們不問你的宗教、不問原因、也沒有那一格可以填 —— App 裡沒有任何「宗教信仰」的選項。
- 只用來做一件事:把含有那些食材的餐點排除在推薦之外, 以及在推薦頁上說明「為什麼這幾張卡沒有出現」。除此之外沒有第二個用途 —— 不拿去分析、不拿去分眾、不拿去做廣告或個人化行銷,也不會出現在我們跟餐飲品牌談合作的 那份彙總報告裡。
- 不會傳給任何第三方:它從來不隨你的位置一起送去 Google,也不會出現在 送給 Gemini 的那句話裡(見第 3 節)。它只在我們自己的伺服器上,用來從清單裡把東西拿掉。
- 刪帳號時一起刪:它存在你的帳號記錄裡, 設定 → 刪除帳號會連同其他資料一起整筆刪除(見第 7 節),不留副本。
- 你隨時可以改:到設定 → 飲食習慣把勾取消掉,下一次推薦就不再套用。
我們沒有收集的
- 你的相簿:從相簿挑圖時走的是 iOS 系統的相片選擇器 —— 我們只拿得到你親手挑的那一張,看不到你的相簿裡還有什麼。
相機只有一個用途:那顆「拍照辨識營養標示」(記一餐與食材庫各有一顆,做的是同一件事)。按下去才會開,拍完那張圖只走第 3 節說的辨識那一趟,我們不保存它——唯一的例外是你把那張卡底下的分享勾維持著並按下記下來,那一次照片會跟著留下來(見第 4 節)。 - 通訊錄、行事曆、簡訊、其他 App 的資料:完全不索取。
- 健康資料:除了上面那項你自己打開的步數以外,一律不讀。
- 廣告識別碼(IDFA)與跨 App 追蹤:沒有,App 裡沒有任何廣告 SDK。
2. 位置:只在那一刻用,用完就丟
你按下「找餐點」時,App 會把當下的座標送到我們的伺服器。伺服器拿它做兩件事: 向 Google Maps Platform 查詢附近有哪幾家分店,以及計算走路、機車、開車各要多久。
算完之後那組座標就消失了 —— 它不會被寫進你的帳號、不會累積成移動軌跡。 你也可以完全不給定位權限:到「設定 → 我的位置」在地圖上自己釘一個點, 之後每次找餐點都從那裡出發(那個座標只存在你的手機裡)。
3. 語音與 AI:你打的字會經過哪裡
「一句話記一餐」有三段會離開你的手機,三段都不送你的身分:
- 語音轉文字由 iOS 的語音辨識服務處理,可能將你的語音傳送至 Apple 進行辨識 (這是 Apple 提供的系統功能,適用 Apple 的隱私權政策)。 我們不保存錄音,只保留轉出來的文字。
- 把「滷肉飯加顆滷蛋」拆成營養素,會把那句文字送到我們的伺服器, 再由伺服器轉送給 Google 的 Gemini 模型(以及為了查營養標示而進行的網路搜尋)處理。 送出去的只有那句話與菜名,不含你的帳號、身體資料或位置。
- 拍營養標示(記一餐時那顆「拍照辨識營養標示」)會把那張照片 送到我們的伺服器,再由伺服器轉送給 Google 的 Gemini 模型讀出上面的數字。 照片預設只在辨識的那一刻經手,我們不保存它—— 唯一的例外是下一節說的那個分享:你把那張卡底下的勾維持著並按下記下來時, 那張照片會跟著那組數字一起留在我們的伺服器上,而那張卡上的勾選框也會逐字寫出這件事。 送出去的只有那張圖,不含你的帳號、身體資料或位置。 這一段只在你親手按下那顆按鈕、親手挑了那張照片時才會發生。
不想讓任何東西離開手機的話,用「找餐點」與從清單裡挑品項這兩條路徑記錄, 並且不要按拍營養標示,就不會觸發上面三段。
4. 你手動新增的內容會成為公開資料
在 App 裡自己新增一款蛋白粉時,你填的那幾格(品牌、品名、口味、一勺幾克、每勺的熱量與三大營養素) 會送交我們審核;通過之後,這一款會成為所有使用者都搜得到的公開品項。
上傳的只有那幾格資料本身,不含你的帳號、名字或位置, 所以其他使用者看得到那款蛋白粉,但無從得知是誰新增的。這件事在你按下送出前, 表單上也會再說明一次。
你改掉我們估的熱量時也一樣。 記一餐時,我們替某些餐點提供的是估算值 (畫面上會寫「我們估的」)。你把那個數字改掉之後,我們會把 品名、店名、你填的熱量,以及我們原本估的那個數字送回去, 讓同一道菜的估算對所有人都變準一點 ——「我們估了多少」是算出「我們偏了幾成」的分母, 少了它就只有那一道菜受惠,從來沒有人記過的新菜色永遠等不到修正。 你把我們算的份量克數改掉時同理,送回去的是改了幾倍(例如 1.4), 用來校正「一個拳頭大的飯大概幾克」那張共用的表。 上傳的不含你的帳號、名字或位置,也不含你吃了幾份、花了多少錢或什麼時候吃的。 一起送的只有一個隨機代號:它在你這台手機上隨機產生, 與你的帳號無關(不是從帳號算出來的,所以我們也無法拿它回推是誰), 而且你把下面那顆開關關掉時會連它一起刪除 —— 再打開就是一個全新的代號。 它的用途只有一個:讓我們分得出「三個人都這麼說」與「一個人說了三次」—— 這張表會改變所有使用者看到的估算,所以一個人說了算是不行的。
這件事預設是開著的,我們不會跳出來問你。 理由是送出去的那幾格裡沒有任何可以指認出你的東西(上一段列的就是全部), 而每記一餐就跳一次確認框,對你是打擾、對資料也沒有比較安全。 你隨時可以關掉:「設定 → 偏好設定 → 幫忙讓估算變準」; 關掉的那一刻,還沒送出去的那幾筆會從你的手機上刪除,之後也不再送。
你分享一項餐點時也一樣。 填好商家名稱與熱量的卡片底下會有一格 「分享營養資訊,幫助完善公開資料庫」;你拍過營養標示的那幾張卡上, 那一句會寫成「分享營養資訊與那張標示照片,幫助完善公開資料庫」——多出來的那半句就是字面的意思。 維持勾選並按下記下來時,我們會把商品名稱與商家名稱、熱量與三大營養素、 價格,以及那組數字對應多大一份上傳到我們的伺服器,交給審核; 通過之後,那個品項會成為所有使用者都搜得到的公開資料。
那張標示照片會留下來,而且只有我們看得到。 它的用途只有一個: 核對那組數字是不是真的印在包裝上——那是這條路上唯一能證明一個數字有出處的東西。 關於它,有三件事請先知道:
- 它存放在只有我們讀得到的位置:沒有公開網址,不會出現在 App 裡, 也不會給其他使用者看到。公開出去的只有讀出來的那組數字。
- 上傳前,App 會先在你的手機上把照片裁成標示那一塊, 所以多數時候背景不會跟著走。但裁切是自動的,我們無法保證每一張都乾淨—— 按下快門前請先看一眼取景框裡還有什麼。
- 它跟那個品項綁在一起,不跟你綁在一起:上傳的內容不含你的帳號、名字或位置, 我們也無從得知哪一張是誰拍的。代價是刪除帳號不會刪掉它—— 我們找不到它與你的關聯。不想留下照片的話,把那一格的勾取消掉, 這一項連同那張照片就完全不會上傳。
那組數字是你自己打的,我們也收——但會標明它是手打的, 而且一定要有人看過才會進資料庫。你從我們的資料庫裡叫出某一項、發現數字不對、 改掉它的時候,我們原本那一筆的數字會跟你改的那組一起上傳, 好讓審核的人知道你指的是哪一筆、差在哪裡。你改掉的那幾格以外的東西不會送。
上傳的不含你的帳號、名字或位置,也不含你吃了幾份、什麼時候吃的。 一起送的只有一個隨機代號:它在你這台手機上隨機產生, 與你的帳號無關(不是從帳號算出來的,所以我們也無法拿它回推是誰), 重裝 App 就是一顆新的。用途只有一個:讓審核的人分得出「五個人都這麼說」與 「一個人說了五次」。回送的三條路(改估算、投稿、掃條碼)各用各的一顆, 所以那幾份資料之間也對不起來。
沒有填商家名稱的那幾項一律不會送出—— 自己煮的、朋友家吃的、路邊無名攤子是你的私事;有商家名稱的則是「某一家店賣什麼」的公開事實。 把那一格的勾取消掉,這一項(連同那張標示照片)就完全不會上傳;那一格只在填了商家名稱與熱量的 卡片上出現——它出現的條件與會不會上傳的條件是同一個, 所以你不會有一張「沒問過你、卻送出去了」的卡片。
掃條碼那條路也一樣。 你掃了一支條碼、而我們查不到那個商品時, 你接著填的那組數字可以留給下一個掃到同一包的人。維持那一格勾選並按下記下來 (食材庫是按下存起來)時,我們會把那支條碼、商品名稱與品牌,以及換算成每 100 公克的 熱量與三大營養素上傳,成為所有使用者掃得到的公開資料。
這一條同樣不含你的帳號、名字或位置,也不含你吃了多少、什麼時候吃的; 一起送的只有一個隨機代號(與上一段同一種,但是另外一顆), 用途只有一個:讓畫面上說得出「1 位使用者提供」還是「37 位使用者提供」。 條碼表那一份仍然只收從營養標示(拍的或掃到的)來的數字—— 它的答案會直接端給下一個掃到同一包的人,中間沒有人看過,所以它那道門比較窄。
5. 資料傳給誰
我們只在為了讓功能運作的必要範圍內,把資料交給以下服務:
| 對象 | 拿到什麼 | 為什麼 |
|---|---|---|
| Google(Maps Platform) | 你當下的座標、附近的店家名稱 | 找出分店位置與計算車程 |
| Google(登入) | 登入時的驗證 | 用 Google 帳號登入 |
| Google(Gemini) | 你輸入的菜名文字;你拍的營養標示照片 | 把一句話拆解成營養素;讀出標示上的數字 |
| Apple | 登入時的驗證;語音辨識的語音 | 用 Apple 帳號登入、語音轉文字 |
| Apple(App Store) | 訂閱的付款資料,由 Apple 直接向你收取 | 處理訂閱與扣款。我們收不到付款資料,只收到一份 Apple 簽好的交易憑證(見第 1 節) |
| Google(Analytics) | 你在 aieat.app 網站上的瀏覽:來源網站、裝置類型、停留時間、造訪的頁面、點了哪個連結(例如下載按鈕) | 了解哪些管道帶來訪客。僅限這個網站,App 內沒有——App 不含任何 Google Analytics 或第三方分析 SDK |
| Anthropic(Claude) | 你在「問題回報」寫的文字與附上的截圖 | 讓 AI 協助我們看懂你遇到的問題、整理成處理建議;結果只給我們自己看 |
| Discord | 你在「問題回報」寫的文字、你的稱呼與附上的截圖 | 我們的內部通知頻道,讓處理問題的人第一時間看到。這一份由 Discord 保存,我們不會自動刪除 |
| Railway | 上述所有存放於伺服器的資料 | 我們的伺服器與資料庫託管在它的機房 |
我們不會為了廣告、行銷或任何商業目的把你的個人資料賣給、租給或交換給第三方。 我們可能會發布彙總後、無法識別個人的統計(例如「這家店的餐點被選走幾次」), 拿去跟餐飲品牌談合作 —— 那份報告裡沒有任何一個帳號、姓名或裝置識別碼。
6. 資料存在哪裡、留多久
- 伺服器上的資料存放在 Railway 位於美國的機房。
- 只要你的帳號還在,資料就留著 —— 因為「今天還能吃什麼」需要看得到你過去吃了什麼。
- 你刪掉單筆飲食紀錄時,那一筆會從你的帳號移除。
- 你刪除帳號時,見下一節。
7. 你的權利:怎麼刪、刪掉什麼
到 設定 → 刪除帳號,確認之後我們會刪除:
- 你的個人資料、身體數據、每日目標、飲食紀錄、飲食限制與口味偏好;
- 你回報過的油量資料;
- 你送出的問題回報(含伺服器上暫存的截圖與文字副本),以及我們回覆你的內容;
- 你的訂閱狀態:商品代號、原始交易識別碼、到期時間與撤銷時間 —— 整筆記錄跟著帳號一起刪掉,不留副本。
一件要先講清楚的例外:
- 伺服器備份:我們每天備份一次資料,用途只有伺服器出狀況時復原, 備份最多保留 30 天,之後自動清除。你刪除帳號之前就已經進入備份的資料, 會在這段期間內隨備份輪替消失,不會另外長期保存。
- 你先前提交、且已經通過審核成為公開品項的內容(例如一款蛋白粉的營養數據), 會留在公開資料庫裡。它不含任何能連回你的資訊,且已經是其他使用者正在使用的資料。
- 你分享過的營養標示照片(第 4 節)同理會留著。上傳時它就沒有跟你的帳號綁在一起, 所以刪除帳號時我們找不到哪幾張是你的。那些照片只有我們看得到、不會公開。
- 你在問題回報送出的文字與截圖,另有一份在我們的內部通知頻道(Discord,第 5 節),由 Discord 保存, 不會隨帳號刪除自動移除。要我們移除,請來信,我們會在 30 天內處理。
刪除帳號不等於取消訂閱。 訂閱是跟你的 Apple ID 綁在一起、由 Apple 收款的, 我們沒有辦法代你取消。要停止扣款,請到 iPhone 的 設定 → 你的名字 → 訂閱項目 自行取消(或 apps.apple.com/account/subscriptions)。 退款也一樣由 Apple 受理。
同一個動作也會清掉這台手機上的所有本機資料。若你想要一份自己資料的副本, 或有任何刪除上的問題,寫信到下面的信箱,我們會在 30 天內處理。
8. 兒童
AI Eat 不以 13 歲以下兒童為對象,也不會刻意收集他們的資料。 若你認為有 13 歲以下的兒童向我們提供了個人資料,請來信告知,我們會刪除。
9. 安全
App 與伺服器之間的連線一律走 HTTPS。登入憑證存放在 iOS 的 Keychain 裡。 但沒有任何一種網路傳輸或儲存方式是百分之百安全的,我們無法保證絕對的安全性。
10. 這份政策的變更
政策若有更動,我們會更新這一頁最上方的「最後更新」日期。 涉及重大變更(例如開始收集新類型的資料)時,我們會在 App 內告知。
11. 聯絡我們
對這份政策、或對你的資料有任何疑問,請寄信到 jeremy950514@gmail.com。
AI Eat Privacy Policy
AI Eat helps you decide what to eat out by balancing three things at once: your remaining nutrition allowance, your budget, and what you actually feel like today. This policy explains what we collect, why, who we share it with, and how you delete it.
The three things that matter most:
- We do not sell, rent, or trade your personal data, and the app contains no advertising or behavioural tracking SDKs.
- Your location is never stored. It is used at the moment you tap “Find a meal” to locate nearby branches and estimate travel time, then discarded.
- You can delete your entire account from inside the app (Settings → Delete account). No email required.
1. What we collect
| Category | What exactly | Why |
|---|---|---|
| Account | Google sign-in: your Google account ID, email, display name. Apple sign-in: the anonymous identifier Apple provides; name and email only on first authorisation (and you may hide them). Not signed in: a guest identifier generated on your device. | So your data follows your account across devices. |
| Body data | Sex, date of birth, height, weight, weekly exercise frequency, goal, pace, appetite. | To calculate your daily calorie and macronutrient targets — the basis of every recommendation. |
| Meal log | For each entry: store name, dish name, calories, protein, carbs, fat, spend, time, how much of it you finished, and whether you found it oily. | To subtract what you have already eaten today and improve future recommendations. |
| Preferences & restrictions (includes sensitive info) |
The boxes you tick under “Vegetarian & foods I avoid” (vegan, lacto-ovo vegetarian, wu-xin vegetarian, no beef, no pork, no blood products); under “Medical” (G6PD deficiency, shellfish allergy, lactose intolerance, gluten allergy, nut allergy, egg allergy); under “Taste”; and dishes you marked liked/disliked. | To keep food you cannot eat out of your recommendations. The “Vegetarian & foods I avoid” group may imply your religion or beliefs (wu-xin vegetarian, no beef, no pork), so we explain it separately below. |
| Location | Your coordinates when you tap “Find a meal”, or a point you pinned yourself. | To find nearby branches and travel times. Not attached to your account; no location history is kept. |
| Content you enter | Text you type or dictate into one-line logging; protein powders, seasonings and containers you add; keywords from searches that returned nothing. | To turn your sentence into nutrition values and to fill gaps in our database. See sections 3 and 4. |
| Step count (optional, off by default) | Step count from Apple Health. | To grant extra allowance on days you walk more than usual. Read and calculated entirely on your device; never uploaded. We do not read height, weight or active energy. |
| Usage analytics | Which recommendation cards were seen, which ones you tapped “Go eat” on, keywords that found nothing, a count, and the local date and hour. | To learn which meals are actually chosen and to negotiate with restaurant brands. These events carry no account identifier — we cannot tell who they came from. |
| Subscription status | After you subscribe in the app, four fields from the transaction receipt Apple signs: the product
identifier (monthly or yearly), the original transaction identifier
(originalTransactionId), the expiry date, and the revocation date if a
refund ever occurs. We never receive your card number, billing address or Apple ID —
Apple handles payment end to end and passes us only that signed receipt. |
To know whether you are subscribed right now. Every “Find a meal” costs us real money — a lookup at Google and a run through an AI model — so we check before spending it on your behalf. The expiry date is recomputed on every read (otherwise someone who subscribed for one month would still count as subscribed a year later); the original transaction identifier is how Apple identifies one continuous subscription, so that when you change phone, reinstall, or tap “Restore purchases” we recognise the subscription you already paid for instead of asking you to buy it again. |
| Problem reports | The text you send from Settings → Report a problem, with your display name and the time you
sent it. We link it to your account (or to this phone’s guest identifier), together with any replies we
write back. The screenshot you attach is stored temporarily on our server, visible only to the person handling the problem, and is also forwarded to our internal notification channel (Discord, see section 5). The copy on our server is kept for at most 30 days, and deleted as soon as the report is marked as resolved; the copy in the notification channel is kept by Discord and we do not delete it automatically. We also keep a text copy to help us organise reports; when you delete your account, the copies we can link to you are deleted with it. To understand your problem faster, we send your report text and screenshot to an AI service provider (Anthropic) for analysis; the result is visible only to us. |
So that you can see, under Settings → My reports, whether anyone has looked at it and what we answered. Linking it to your account is how we can reach you; a report sent with neither a signed-in account nor a guest identifier leaves no such record. |
“Vegetarian & foods I avoid” is sensitive information, so here it is in full
- What we collect: only the labels you tick yourself (vegan, lacto-ovo vegetarian, wu-xin vegetarian, no beef, no pork, no blood products). We never ask for your religion, never ask why, and there is no field to enter it — the app has no “religion” option at all.
- Used for exactly one thing: to exclude meals containing those ingredients from your recommendations, and to explain on the recommendations screen why certain cards are missing. There is no second purpose — never analytics, segmentation, advertising or personalised marketing, and never part of the aggregated reports we share with restaurant brands.
- Never shared with third parties: it is never sent to Google with your coordinates and never appears in the text sent to Gemini (see section 3). It stays on our own server and is used only to remove items from a list.
- Deleted with your account: it lives in your account record, and Settings → Delete account removes it along with everything else (see section 7). No copy is kept.
- You can change it any time under Settings → Dietary habits; unticking a box stops it applying from your next recommendation onward.
What we do not collect
- Your photo library. When you pick an image, iOS’s system photo picker hands us only the single image you chose — we cannot see the rest of your library.
The camera has exactly one use: the “Scan nutrition label” button when logging a meal. It opens only when you tap it, and the photo it takes makes only the recognition trip described in section 3; we do not keep it unless you also leave the sharing box in section 4 ticked. - Contacts, calendar, messages, or data from other apps. Never requested.
- Health data other than the step count you explicitly enable.
- Advertising identifiers (IDFA) or cross-app tracking. There are no ad SDKs in the app.
2. Location: used in the moment, then discarded
When you tap “Find a meal”, the app sends your current coordinates to our server, which uses them to ask Google Maps Platform which branches are nearby and how long walking, scooter and driving would take. After that calculation the coordinates are gone — they are never written to your account and never accumulated into a movement history. You may also decline location access entirely and pin a starting point yourself in Settings → My location; that pin stays on your phone.
3. Voice and AI: where your words travel
- Speech-to-text is handled by iOS speech recognition, which may send your speech to Apple for processing (a system feature governed by Apple’s Privacy Policy). We do not keep the audio — only the resulting text.
- Breaking a sentence down into nutrition values sends that text to our server, which forwards it to Google’s Gemini model (and performs a web search to find nutrition labels). Only the sentence and dish names are sent — never your account, body data or location.
- Scanning a nutrition label (the “Scan nutrition label” button when logging a meal) sends the photo itself to our server, which forwards it to Google’s Gemini model to read the figures printed on it. The photo passes through for that one recognition and is not stored, unless you also leave the sharing box described in the next section ticked — that is the only case in which it is kept. Only the image is sent: never your account, body data or location. This happens only when you tap that button and choose that photo yourself.
If you would rather nothing left your phone, log meals through “Find a meal” or by picking items from the list, and do not scan a label; none of those paths triggers the above.
4. Content you add becomes public
When you add a protein powder yourself, the fields you fill in (brand, product, flavour, grams per scoop, and the calories and macros per scoop) are submitted for review; once approved, that product becomes a public entry every user can find.
Only those fields are uploaded — not your account, name or location — so other users see the product but cannot tell who added it. The form tells you this before you submit.
The same applies when you correct a calorie figure we estimated. Some meals are logged with an estimate (the card says so). When you change that number, we send back the dish name, store name, the figure you entered and the figure we had estimated so the estimate gets better for everyone — what we guessed is the denominator that tells us how far off we were, without which only that one dish improves and a brand-new dish nobody has logged never does. The same goes for the portion weight we calculated: if you change it, we send how far off it was (say 1.4×) to correct the shared table behind “roughly how many grams is a fistful of rice”. Nothing else goes with it — not your account, name or location, and not how many servings, how much you paid or when you ate. The only thing sent alongside is a random token generated on your phone. It is not derived from your account, so we cannot work back from it to you, and turning off the setting below deletes it — switch it on again and you get a brand-new one. It does one job: it lets us tell “three people said this” apart from “one person said it three times” — this table changes the estimate every user sees, so one person must not be able to move it alone.
This is on by default and we do not prompt you about it. The reason is that none of the fields listed above can identify you (that list is everything we send), and a confirmation dialog on every meal you log is an interruption that makes the data no safer. You can turn it off at any time under Settings → Preferences → “Help make estimates more accurate”. Turning it off deletes any corrections still waiting on your phone and stops any further ones being sent.
The same applies when you share a nutrition label scan. After you scan a label, that card shows a checkbox reading “Share the nutrition information and that label photo to help improve the public database” (on cards where you did not photograph a label it reads “Share the nutrition information to help improve the public database”, and no photo is sent). If you leave it ticked and save the meal, we upload the nutrition label photo you took, the product and store names, the calories and macros printed on the label, the price, and what size of serving those figures refer to to our server for review; once approved, that product becomes public data every user can find.
That label photo is kept, and only we can see it. It does one job: it lets us check that the figures really are printed on the packaging — it is the only thing on this path that can show a number has a source. Three things to know about it:
- It is stored where only we can read it: no public URL, never shown in the app, never shown to other users. Only the figures read off it become public.
- Before uploading, the app crops the photo down to the label itself on your phone, so most of the time the background does not travel with it. The crop is automatic and we cannot promise every one is clean — glance at the viewfinder before you take the shot.
- It is tied to the product, not to you: nothing uploaded contains your account, name or location, and we have no way to tell who took which photo. The cost of that is that deleting your account does not delete it — we cannot find the link. If you would rather not leave a photo, untick the box and the item, photo included, is not uploaded at all.
Nothing that identifies you goes with it — not your account, name or location, and not how many servings you had or when you ate. The one thing sent alongside is a random token generated on your phone. It is not derived from your account, so we cannot work back from it to you, and reinstalling the app gives you a new one. It is used for a single purpose: so the reviewer can tell “five people said this” apart from “one person said it five times”. The three paths that send data back (estimate corrections, submissions, barcode scans) each use their own token, so those records cannot be matched up either.
Items with no store name are never sent — food you cooked yourself, ate at a friend’s place or bought from an unnamed stall is your private business, whereas an item with a store name is a public fact about what that shop sells. Unticking the box means the item is not uploaded at all, and the box appears only on cards where you actually photographed a nutrition label, or scanned a barcode.
The same applies to barcodes. When you scan a barcode and we have no record of that product, the figures you then type in can be left for the next person who scans the same package. If you leave that box ticked and save the meal (or tap Save in your pantry), we upload the barcode, the product name and brand, and the calories and macros converted to a per-100-gram basis, which become public data any user can scan.
Here too, nothing that identifies you is sent — not your account, name or location, and not how much you ate or when. The only thing sent alongside is a random token of the same kind as above — but a separate one — for a single purpose: so the app can say “contributed by 1 user” rather than “by 37 users”. Figures you typed from memory are never sent — only those that came from a nutrition label, photographed or scanned.
5. Who we share data with
| Recipient | What they receive | Why |
|---|---|---|
| Google (Maps Platform) | Your coordinates, nearby store names | Branch locations and travel times |
| Google (Sign-In) | Sign-in verification | Signing in with Google |
| Google (Gemini) | Dish text you entered; the nutrition label photo you took | Turning a sentence into nutrition values; reading the figures off a label |
| Apple | Sign-in verification; speech audio for recognition | Signing in with Apple; speech-to-text |
| Apple (App Store) | Subscription payment details, collected by Apple directly | Handling subscriptions and billing. We never receive payment details — only a receipt signed by Apple (see section 1) |
| Google (Analytics) | Your browsing on the aieat.app website: referring site, device type, time on page, pages visited, which links you click (e.g. the download button) | To understand which channels bring visitors. Website only — not in the app. The app contains no Google Analytics or any third-party analytics SDK |
| Anthropic (Claude) | The text and screenshot in your problem report | An AI service that helps us understand the problem and draft a suggested fix; the result is visible only to us |
| Discord | The text, display name and screenshot in your problem report | Our internal notification channel, so the person handling problems sees them right away. Discord keeps this copy and we do not delete it automatically |
| Railway | All server-side data listed above | Our server and database are hosted there |
We never sell, rent or trade your personal data for advertising, marketing or any other commercial purpose. We may publish aggregated, non-identifiable statistics (for example, how many times a store’s meals were chosen) when working with restaurant brands; those reports contain no account, name or device identifier.
6. Where data lives and for how long
- Server-side data is stored in Railway’s US data centres.
- Data is retained while your account exists, because “what can I still eat today” depends on what you ate before.
- Deleting a single meal entry removes that entry from your account.
- Deleting your account: see the next section.
7. Your rights: how to delete, and what gets deleted
Go to Settings → Delete account. On confirmation we delete:
- Your profile, body data, daily targets, meal log, dietary restrictions and taste preferences;
- Your oiliness reports;
- The problem reports you sent (including the temporary screenshot and text copies on our server), and our replies to you;
- Your subscription record — product identifier, original transaction identifier, expiry and revocation dates — deleted with the account, with no copy kept.
One exception, stated plainly:
- Content you submitted that has already been approved as a public entry (for example a protein powder’s nutrition data) remains in the public database. It contains nothing that links back to you, and other users already rely on it.
- Any nutrition label photos you shared (section 4) also stay. They were never tied to your account, so when you delete it we cannot tell which photos were yours. They are visible only to us and are never made public.
- The text and screenshot you sent through problem reports also exist as a copy in our internal notification channel (Discord, section 5), which Discord keeps and which is not removed automatically when you delete your account. Email us and we will remove it within 30 days.
Deleting your account does not cancel your subscription. The subscription belongs to your Apple ID and is billed by Apple; we cannot cancel it for you. To stop billing, go to Settings → your name → Subscriptions on your iPhone (or apps.apple.com/account/subscriptions). Refunds are handled by Apple as well.
The same action clears all local data on this phone. If you would like a copy of your data, or have any question about deletion, email us at the address below and we will respond within 30 days.
8. Children
AI Eat is not directed at children under 13 and we do not knowingly collect their data. If you believe a child under 13 has provided us with personal information, please contact us and we will delete it.
9. Security
All traffic between the app and our servers uses HTTPS, and sign-in credentials are stored in the iOS Keychain. No method of transmission or storage is completely secure, however, and we cannot guarantee absolute security.
10. Changes to this policy
If this policy changes we will update the “Last updated” date at the top of this page. For material changes — such as beginning to collect a new category of data — we will also tell you inside the app.
11. Contact
Questions about this policy or your data: jeremy950514@gmail.com.