食後感(Plateknow)要你拍下自己吃的東西,並寫下之後身體的感受。這是一支手機能持有的資料裡最私密的一類,所以這一頁會具體、可查證地交代每一項資料去了哪裡。
食後感由 AI Joy Apps 製作。AI Joy Apps 是一間由創辦人獨立經營的工作室的營業名稱,也是本頁所述全部處理行為的資料控管者。這個 App 在 App Store 上可能掛在創辦人個人的開發者名稱底下;無論掛的是哪個名字,AI Joy Apps 都是它背後的工作室,也是你的聯絡窗口。隱私與個資請求請寄 hello@plateknow.com。
這一頁同時涵蓋 iOS App 與本網站,最後修改日期如上。它描述的是實際做出來的 App,不是規劃中的樣子——兩者若有出入,這一頁會直接寫出來,而不是照著規劃寫。
一句話版本
- 沒有帳號。 不用註冊、沒有密碼、不用 email、也沒有 Sign in with Apple。我們手上沒有任何東西可以把你的餐點掛上去。
- 照片留在你的手機裡。 完整照片不會上傳,你寫的備註、你給的回答、你拍的身體觀察也都不會。
- 你的記錄透過你自己的 iCloud 同步,存在 Apple 的私有資料庫,我們讀不到。
- 辨識時只送出一樣東西:去背後的食物,放在空白背景上,不附帶任何身分。
你的資料可能在的四個地方
App 就是照這個分界寫的,而且是用程式碼擋住而不是靠政策約束——持有你內容的型別,在程式裡根本沒有路徑通到會連網的型別。除了下面寫的箭頭以外,資料不會在這四個地方之間流動。
| 在哪裡 | 有什麼 | 會離開嗎? |
|---|---|---|
| 你的裝置 | 原始照片、身體觀察照片、你寫的備註、你的回饋答案、你自己命名的面向 | 只會到你自己的 iCloud,而且只有餐點那一半 |
| 你的 iCloud | 你的用餐記錄——餐點照片、估算、後續回饋、備註——存在 Apple 的私有資料庫 | 不會。它在你自己的容器裡、有加密,我們沒有金鑰也沒有副本 |
| 辨識服務 | 去背後的食物,只在產生估算的那段時間 | 回覆送回來之後不會留存 |
| 產品分析 | 哪些畫面被打開、以及次數 | 它在結構上就裝不下你的內容——見下方 |
你要求辨識時,送出去的是什麼
你拍下一餐時,手機會先在本機把食物從周圍的一切裡分離出來,然後才送東西出去。真正上路的是那張去背圖——盤子放在平坦背景上、尺寸很小——加上兩個描述它佔畫面多少的數字。
- 照片本身不會送出。 桌子、房間、同桌的人、窗戶上的倒影,都在請求送出之前就在你的裝置上被移除了。
- 不附帶任何識別碼。 沒有姓名、email、裝置 id、iCloud id。那個請求追不回你身上,因為裡面沒有可以追的東西。
- 你的備註和回答不會送出。 它們從來不是辨識請求的一部分;我們只問模型「這是什麼食物」,沒有別的。
- 跟你今天狀況有關的東西也不會送出。 舊版本曾經送出你當天還剩多少熱量,好讓模型照著你的額度講話。那個欄位已經拿掉了:剩餘額度是可識別情境下的健康資訊,換一句比較貼心的句子不值得。
請求會先到我們自己的服務,由它補上 AI 供應商的憑證再把圖片轉送出去。目前的供應商透過 OpenRouter 連接,服務跑在 Cloudflare 上。兩者都不會從我們這裡收到任何識別碼。我們的服務不會記錄請求內容,圖片只在呼叫期間存在於記憶體中。
你也可以完全不使用辨識。手動輸入一餐不會送出任何東西,而記錄、後續回饋、回顧這些功能運作方式完全一樣。
分析,以及它為什麼漏不出東西
App 會量測產品有沒有在運作:人們走到哪些畫面、提出的後續回饋有多少比例被回答、估算被更正的頻率。目的就只有這些,而且量測方式本身就讓它裝不下別的東西。
在這個 App 裡,一個分析事件是一份封閉清單上的固定名稱,而一個屬性只能裝數字、是否、或一組固定標籤的其中之一。沒有任何方法可以把文字放進去。 食物名稱、備註、熱量數字、回饋答案根本無處可去——不是因為我們決定不送,而是因為程式裡沒有任何一段會接受它。有一項自動測試會列舉每一個事件,並拿範例記錄的內容去比對結果。
唯一牽涉到的識別碼,是 App 第一次啟動時隨機產生、留在裝置上的一組代碼。它不是你的 Apple ID、不是廣告識別碼,也沒有跟你的任何資料連在一起。
- 永遠不會量測:任何食物名稱、任何熱量或營養素數字、任何回饋答案、任何備註、你自己命名的面向,或你拍了幾張身體觀察。
- 會量測:哪些畫面被打開、提出的回饋有沒有被回答、估算有沒有被更正、付費頁有沒有出現過。
還有誰參與其中
這就是完整清單。每一個都只拿到這裡寫的東西。
| 服務 | 收到什麼 | 為什麼 |
|---|---|---|
| Apple(iCloud) | 你的記錄,加密後存在你自己的私有容器裡 | 在你的裝置之間同步。適用 Apple 的隱私政策,我們無法存取 |
| Apple(App Store) | 你的訂閱交易,如果你有訂閱的話 | 付款。我們完全看不到你的卡號 |
| Cloudflare | 去背圖,短暫地。以及本網站的流量 | 負責跑辨識服務,並代管這個網站 |
| OpenRouter | 去背圖,短暫地,不附帶任何識別碼 | 把請求轉給 AI 模型 |
| RevenueCat | 你的訂閱狀態,對應到那組隨機安裝代碼 | 告訴 App 你有沒有進階版 |
| Mixpanel、Firebase | 只有產品事件——見上方 | 確認產品有沒有在運作 |
這個 App 裡沒有廣告,沒有接任何廣告聯播網,這裡也沒有任何東西為了廣告目的被販售或分享。
權限,以及什麼時候要
| 權限 | 什麼時候要 | 做什麼用 |
|---|---|---|
| 相機 | 你第一次要拍東西的當下 | App 的核心 |
| 照片圖庫 | 只有你要選照片時,而且只限你選的那幾張 | 記錄你已經拍過的一餐。我們從不要求完整圖庫存取權 |
| 通知 | 你存下第一餐之後——絕不在啟動時 | 後續回饋提問。拒絕不會走進死路:你每次打開 App,它都會重新算出哪些該問了 |
| iCloud | 從不單獨詢問 | 直接用你裝置上已有的帳號。沒登入也沒關係,App 就純本機運作 |
刪除
沒有帳號可以關閉,因為一開始就沒有帳號可以開。你的記錄在你的裝置上、在你自己的 iCloud 裡,所以刪除是你自己做的事,不是要來跟我們申請的事。
- 單獨一餐。 打開它,選刪除。那一筆、它的照片、以及掛在上面的每一次回饋都會一起消失,裝置上和 iCloud 裡都是。無法復原。
- 這台裝置上的副本。 刪掉 App。
- iCloud 上的副本。 設定 →〔你的名字〕→ iCloud → 管理帳號儲存空間 → 食後感。刪 App 時刻意不會一併移除,這樣你重新安裝就能把記錄拿回來。
- 分析裡沒有任何能識別你的東西,但你可以寄信到 hello@plateknow.com、主旨寫「Data deletion」,我們會把那組隨機安裝代碼從各家服務清掉。
App 裡目前沒有單一顆「全部刪除」的按鈕。之後會有;在那之前,上面那幾個步驟做的是同一件事,不會留下任何東西。我們選擇這樣寫,而不是描述我們打算做的那顆按鈕——因為一份描述著你找不到的按鈕的隱私政策,是一種比含糊更糟的錯誤陳述。
以上都不需要我們同意,也不需要繞到我們這裡。我們這邊沒有東西可以刪——你的記錄從來沒有存在我們的伺服器上。
各項資料保存多久
| 什麼 | 多久 |
|---|---|
| 你的用餐記錄 | 直到你自己刪掉。它在你手上,不在我們手上 |
| 辨識時送出的去背圖 | 一次請求的時間——只在記憶體裡,不寫進硬碟,回覆送回來就沒了 |
| 產品分析事件 | 由各家服務以彙總形式保存。它們不帶任何內容,也不帶任何能識別你的東西 |
| 本網站的首批限量測試名單資料 | 直到你要求移除,或上架通知信寄出 |
| 本網站的頻率限制雜湊值 | 兩小時後刪除。它無法還原成 IP 位址 |
| 客服往來信件 | 在還需要用來協助你的期間 |
法律依據(GDPR 與 UK GDPR)
在 GDPR 或 UK GDPR 適用的情況下,我們依據:
- 契約履行——為了提供你要求的功能,包括你按下快門時所要求的那次估算。
- 正當利益——為了讓服務保持安全與可用,並了解哪些功能有人在用。在這個產品裡,這一點是跟一個不帶識別碼的設計互相權衡的:辨識請求裡沒有任何可以歸屬到你的東西,而分析裝不下文字。
- 同意——用於任何選配的東西,包括通知,以及你可以選擇要不要送出的更正回饋。你隨時可以撤回,在 iOS 設定裡關掉,或單純不要送。
- 法律義務——法律要求我們保留或揭露時。
你的權利與選擇
依你居住地的不同,你可能有權存取、更正、刪除、攜出或限制我們處理你的個人資料,也有權對特定處理表示反對或撤回同意。在這個 App 裡,前四項是你自己就能做、不需要來申請的:你的資料在你的裝置上、在你自己的 iCloud 帳號裡,在你的掌控之中,而 App 可以把它移除。
歐洲經濟區與英國居民。你可以行使上述權利,並向你當地的個資保護主管機關提出申訴。
加州居民(CCPA/CPRA)。你可以要求存取或刪除你的個人資料,而且不會因為行使權利而受到差別待遇。我們沒有販售或分享加州法律所定義的個人資料。
要行使任何權利,請寄信到 hello@plateknow.com。我們回覆前可能需要確認你的身分——不過絕大多數情況下,誠實的答案是:資料不在我們這裡,在你那裡,而我們會告訴你它在哪。
跨境傳輸
我們可能在你所在國家以外的地方處理與儲存資訊:辨識服務、分析服務、以及本網站的代管都是跨境運作的。個人資料跨境傳輸時,我們依賴適當的保護措施,例如標準契約條款。真正跨越國界的東西僅限於這一頁所描述的範圍——而記錄本身,也就是最敏感的那部分,在你自己的 iCloud 裡,我們從不傳輸它。
安全
所有傳輸中的資料都經過加密。在裝置上,記錄與圖片是用 iOS 的資料保護寫入的,所以在手機開機後尚未解鎖過的期間是讀不到的。辨識服務有簽章與流量限制,AI 供應商的憑證只存在我們的伺服器上,從不會出現在你的手機裡。
沒有任何傳輸或儲存方式是百分之百安全的。我們能講的最有力的一句話是結構性的,而不是安慰性的:真正值得被偷的東西,大多不在一個我們有可能弄丟的地方,因為它從來沒有被送到我們手上。
兒童
食後感不以未滿 13 歲的兒童為對象——你所在國家的數位同意年齡若更高則以該年齡為準——我們也不會在知情的情況下蒐集兒童的資料。如果你認為有兒童使用過這個 App 而有東西需要移除,請寄信到 hello@plateknow.com;不過幾乎所有情況下,答案都是那些資料在該名兒童的裝置與 iCloud 裡,刪掉 App 與 iCloud 資料就會一併消失。
超出法律最低要求的一句話:這是一個關於食物、以及吃完之後身體感受的 App,這樣的組合就算法律允許,我們也不會拿去放在小孩面前。
不是醫療建議,也不是診斷
食後感把你吃了什麼,跟你說你當時感覺如何,並排放在一起。它不診斷任何東西,不辨識不耐或過敏,而它指出的關聯,在有合格專業人員判定之前,都只是你自己記錄裡的巧合。熱量與營養素數字是從一張照片估算出來的,帶有實際誤差。請不要根據這個 App 顯示的任何東西,去決定用藥、處理疾病,或治療飲食失調。
關於這個網站
跟 App 分開來說:除非你在橫幅上按下同意,否則本站不從任何第三方載入東西——那個橫幅在下面第三段說明,也是這一頁上唯一的例外。沒有第三方字型、沒有廣告、沒有嵌入影片、沒有社群外掛、沒有追蹤器。每一個檔案都來自這個網域,而且只要頁面裡出現任何外部請求,建置就會失敗——這個檢查每次部署都會跑。本站在任何時候都不會設定廣告用的 cookie。在你回答那個橫幅之前,它不會在你的瀏覽器裡存任何東西;你回答之後,會存下一筆記錄你的選擇,這樣才不會每次都再問你一遍。
如果你加入首批測試名單,表單會把你填的東西送到同一個網域上的伺服器,它會存下:你的 email、你留的備註(如果有)、你當時閱讀的語言、你從哪一頁註冊的、瀏覽器有送的話還有來源頁面、網路提供的兩碼國別代碼、你的瀏覽器識別字串(User Agent)以及我們從中判斷出的平台——iOS、Android 或桌機——以及時間。平台只為了一件事而存在:知道有多少人在等 Android 版。它是一個人數,不是一份時程——它不會把誰排進隊伍裡,你什麼時候收到我們的信也跟它無關。它是這裡唯一會改變我們做什麼的欄位。你的 IP 位址不會被儲存——為了避免同一個人送出一千次,伺服器會保留一組加鹽並截斷過的 IP 與瀏覽器字串雜湊值,它無法還原成位址,而且那些資料兩小時後就會刪除。
我們用它來在你註冊時用的那支手機可以裝的時候通知你,並閱讀那些備註,因為它們會決定我們做什麼。就這樣,沒有別的。你的 email 不會被販售、不會被出租,也不會被加進任何電子報。除了 Cloudflare 之外只有一家公司看得到它,寫在下一段。要移除的話寄信到 hello@plateknow.com 就會刪掉——不會有確認信來回,也不會問你「確定嗎」。
名單會同步一份到 Google 試算表,而 Google 是唯一看得到註冊資料的第三方。 名單真正存放的地方是 Cloudflare 的 D1 資料庫,而且一定先寫進那裡;接著我們的伺服器會把同一列——就是上面列的那些欄位,絕不包含 IP 位址——轉發給一支我們自己寫的 Google Apps Script,由它寫進一份只有我們打得開的私人試算表。你的瀏覽器全程沒有連過 Google。 這個頁面依然不從任何其他來源載入東西,只要出現任何外部請求建置就會失敗;複製這件事發生在伺服器之間,而且是在畫面已經告訴你註冊成功之後。Google 以我們的資料處理者身分、依它自己的條款處理這份副本。你要求移除時,兩邊的資料都會刪掉。
本站有一個分析工具,Google Analytics 4,而且你沒有在橫幅上按下同意之前,它不會執行。在那之前,不會從 Google 載入任何東西、不會在你的瀏覽器裡存任何東西,也不會有任何請求離開這個網域——這裡的 Google Consent Mode 初始化時把分析與廣告相關的儲存全部設為「拒絕」,而那並不是 Google 自己的預設值。你按拒絕、或乾脆不理那個橫幅,這個網站的行為就跟沒有分析工具時完全一樣。IP 匿名化是開啟的。與上述完全分開的是,Cloudflare 會在其邊緣節點基於營運需要計算請求數,任何放在它後面的網站都會如此,而且頁面上不需要任何程式。
如果你按了同意,GA4 記錄的就是以下這些,沒有別的:你開了哪些頁面、當時讀的是哪個語言;你往下讀到了哪裡——四分之一、一半、四分之三、讀完,以及哪些段落進入了畫面;按下「加入首批限量測試名單」按鈕;按下前往 App Store 的連結;按下「免費下載」按鈕,或下載連結、QR code(角落的小面板,或首頁最後那顆按鈕旁的條碼)——以及是哪一個;點了通往站內另一篇文章的連結;伺服器接受的一次註冊;以及某個計算器算出了結果,還有那是四個裡的哪一個。為什麼要量「讀到哪裡」,值得直說,因為這幾乎就是這個網站唯一的用途:這裡沒有東西要賣,我們想弄清楚的只有一件事——這些說法裡,哪一個是人在離開之前真的讀完的。
你填進計算器的數字,不會被送到任何地方。 身高、體重、年齡,以及公式要用的生理性別,都留在那個頁面裡,關掉就沒了——它們不會到我們的伺服器,也不會到 Google 的伺服器。這個網站上每一個計算器都完全在你自己的裝置上運算,這也是為什麼把網路關掉它們照樣能用。如果你按了同意,GA4 收到的是一個詞,說明是哪一個計算器算出了結果。不是你填的數字,不是答案,也不是四捨五入過的答案。
你在表單上留的那段話,永遠不會送給 Google。 它送到我們自己的伺服器,就是這一頁前面寫的那樣。送到 GA4 的是一個從固定清單裡挑出來的標籤——安卓、準確度、價格、營養素、外食、什麼時候上架,還有十幾個——在你自己的裝置上,拿你寫的內容去比對那份清單挑出來的,另外還有一個「短或長」。你寫的字不在裡面,裡面也沒有任何屬於你個人的東西。那份清單不是秘密:它完整寫在本站原始碼一個叫 analytics.js 的檔案裡。我們這樣做,是因為我們想知道有多少人在要求安卓版,而不需要讓 Google 手上留著任何一個人寫的內容。
本頁的變更
最上方的日期就是最後一次修改的時間。任何會改變「什麼東西離開你的裝置」的變動,都會在做出那個變動的版本送上 App Store 之前寫在這裡,而不是之後。
聯絡我們
隱私問題、個資請求、任何跟你自己的資訊有關的事,以及其他一切:hello@plateknow.com。信會到 AI Joy Apps,而且是由真人回覆。
若你位於歐洲經濟區或英國、且正式請求需要通訊地址,請寄信到 hello@plateknow.com,我們會提供。