AI Eat 隱私權政策

最後更新:2026 年 10 月 12 日.生效日:2026 年 8 月 22 日

English version below ↓

AI Eat 是一款幫你在外食時同時算好「剩餘營養素額度、預算、今天的口味」的 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)分析;分析結果只給我們自己看。
讓你之後能在 設定 → 我的回報 看到有沒有人處理、我們回了什麼。 綁帳號是為了回得到「你」;沒有登入也沒有訪客代號時送出的回報不會留下這份紀錄。

「吃素與忌口」是敏感資訊,所以講清楚

我們沒有收集的

2. 位置:只在那一刻用,用完就丟

你按下「找餐點」時,App 會把當下的座標送到我們的伺服器。伺服器拿它做兩件事: 向 Google Maps Platform 查詢附近有哪幾家分店,以及計算走路、機車、開車各要多久。

算完之後那組座標就消失了 —— 它不會被寫進你的帳號、不會累積成移動軌跡。 你也可以完全不給定位權限:到「設定 → 我的位置」在地圖上自己釘一個點, 之後每次找餐點都從那裡出發(那個座標只存在你的手機裡)。

3. 語音與 AI:你打的字會經過哪裡

「一句話記一餐」有三段會離開你的手機,三段都不送你的身分:

不想讓任何東西離開手機的話,用「找餐點」與從清單裡挑品項這兩條路徑記錄, 並且不要按拍營養標示,就不會觸發上面三段。

4. 你手動新增的內容會成為公開資料

在 App 裡自己新增一款蛋白粉時,你填的那幾格(品牌、品名、口味、一勺幾克、每勺的熱量與三大營養素) 會送交我們審核;通過之後,這一款會成為所有使用者都搜得到的公開品項。

上傳的只有那幾格資料本身,不含你的帳號、名字或位置, 所以其他使用者看得到那款蛋白粉,但無從得知是誰新增的。這件事在你按下送出前, 表單上也會再說明一次。

你改掉我們估的熱量時也一樣。 記一餐時,我們替某些餐點提供的是估算值 (畫面上會寫「我們估的」)。你把那個數字改掉之後,我們會把 品名、店名、你填的熱量,以及我們原本估的那個數字送回去, 讓同一道菜的估算對所有人都變準一點 ——「我們估了多少」是算出「我們偏了幾成」的分母, 少了它就只有那一道菜受惠,從來沒有人記過的新菜色永遠等不到修正。 你把我們算的份量克數改掉時同理,送回去的是改了幾倍(例如 1.4), 用來校正「一個拳頭大的飯大概幾克」那張共用的表。 上傳的不含你的帳號、名字或位置,也不含你吃了幾份、花了多少錢或什麼時候吃的。 一起送的只有一個隨機代號:它在你這台手機上隨機產生, 與你的帳號無關(不是從帳號算出來的,所以我們也無法拿它回推是誰), 而且你把下面那顆開關關掉時會連它一起刪除 —— 再打開就是一個全新的代號。 它的用途只有一個:讓我們分得出「三個人都這麼說」與「一個人說了三次」—— 這張表會改變所有使用者看到的估算,所以一個人說了算是不行的。

這件事預設是開著的,我們不會跳出來問你。 理由是送出去的那幾格裡沒有任何可以指認出你的東西(上一段列的就是全部), 而每記一餐就跳一次確認框,對你是打擾、對資料也沒有比較安全。 你隨時可以關掉:「設定 → 偏好設定 → 幫忙讓估算變準」; 關掉的那一刻,還沒送出去的那幾筆會從你的手機上刪除,之後也不再送。

你分享一項餐點時也一樣。 填好商家名稱與熱量的卡片底下會有一格 「分享營養資訊,幫助完善公開資料庫」;你拍過營養標示的那幾張卡上, 那一句會寫成「分享營養資訊與那張標示照片,幫助完善公開資料庫」——多出來的那半句就是字面的意思。 維持勾選並按下記下來時,我們會把商品名稱與商家名稱、熱量與三大營養素、 價格,以及那組數字對應多大一份上傳到我們的伺服器,交給審核; 通過之後,那個品項會成為所有使用者都搜得到的公開資料。

那張標示照片會留下來,而且只有我們看得到。 它的用途只有一個: 核對那組數字是不是真的印在包裝上——那是這條路上唯一能證明一個數字有出處的東西。 關於它,有三件事請先知道:

那組數字是你自己打的,我們也收——但會標明它是手打的, 而且一定要有人看過才會進資料庫。你從我們的資料庫裡叫出某一項、發現數字不對、 改掉它的時候,我們原本那一筆的數字會跟你改的那組一起上傳, 好讓審核的人知道你指的是哪一筆、差在哪裡。你改掉的那幾格以外的東西不會送。

上傳的不含你的帳號、名字或位置,也不含你吃了幾份、什麼時候吃的。 一起送的只有一個隨機代號:它在你這台手機上隨機產生, 與你的帳號無關(不是從帳號算出來的,所以我們也無法拿它回推是誰), 重裝 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. 資料存在哪裡、留多久

7. 你的權利:怎麼刪、刪掉什麼

到 設定 → 刪除帳號,確認之後我們會刪除:

一件要先講清楚的例外:

刪除帳號不等於取消訂閱。 訂閱是跟你的 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

Last updated: 12 October 2026 · Effective: 22 August 2026

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:

1. What we collect

CategoryWhat exactlyWhy
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 do not collect

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

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:

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

RecipientWhat they receiveWhy
Google (Maps Platform)Your coordinates, nearby store namesBranch locations and travel times
Google (Sign-In)Sign-in verificationSigning in with Google
Google (Gemini)Dish text you entered; the nutrition label photo you tookTurning a sentence into nutrition values; reading the figures off a label
AppleSign-in verification; speech audio for recognitionSigning in with Apple; speech-to-text
Apple (App Store)Subscription payment details, collected by Apple directlyHandling 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 reportAn AI service that helps us understand the problem and draft a suggested fix; the result is visible only to us
DiscordThe text, display name and screenshot in your problem reportOur internal notification channel, so the person handling problems sees them right away. Discord keeps this copy and we do not delete it automatically
RailwayAll server-side data listed aboveOur 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

7. Your rights: how to delete, and what gets deleted

Go to Settings → Delete account. On confirmation we delete:

One exception, stated plainly:

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.