隱私權政策
生效日期:2026 年 10 月 1 日
本頁為翻譯版本。英文版本具有法律效力。
SpecFit 是由Codemad(以下稱「我們」)開發的 iPhone App。它讓你看到眼鏡戴在你真實臉上的樣子,也會估算你的瞳距(PD)。本政策說明 App 會在你的 iPhone 上保留哪些資料、會傳送哪些資料給服務供應商,以及資料會保留多久、你有哪些選擇。
簡短版
- 你的3D 臉部掃描資料與測量數據,只會留在你的 iPhone 上。我們絕不會把它們傳送到我們的伺服器或分析系統。
- 試戴或臉型判讀需要用到照片。這些照片會傳送到我們的伺服器,以及Google 的 Gemini AI,用於產生結果。
- 結果產生後,我們不會保留這些照片。我們唯一保留的,是效期短暫的臉型判讀結果。我們會以單向雜湊值儲存,保留 7 天,其中不含任何照片。
- Google 可能會短暫保留照片,用於檢查濫用情形。
- 我們絕不會出售你的資料,也絕不會把你的照片用於廣告。
- 只有在 iOS 詢問時你同意追蹤,我們才會使用 AppsFlyer 評估廣告成效。
留在你裝置上的資料
引導式臉部掃描會使用支援 Face ID 的 iPhone 上的 TrueDepth 相機,擷取你臉部的 3D 網格模型與深度資料。App 會利用這些資料找出臉部特徵點,並測量你的瞳距、臉寬與鼻橋寬度,也會用來判斷鏡框的適合度細節。
掃描資料、網格模型、深度資料、特徵點、測量數據與適合度細節,都只會留在你的 iPhone 上,你的度數資料也是如此。這些資料都不會傳送到我們的伺服器或分析系統。你的基礎照片、掃描時拍下的左右側照片、已儲存的試戴結果,以及已儲存的連結鏡框,也都儲存在你的 iPhone 上。
這些資料全部存放在 App 的 iOS 沙盒環境中。臉部檔案採用 iOS 的完整檔案保護機制。
補充說明:當你要求試戴時,生成指令中可能會包含目標鏡框寬度。我們會以你臉寬的百分比表示這個數值,不會傳送你的原始測量數據或網格模型。
會離開你裝置的資料,以及它們的去向
以下每一項資料都會透過 HTTPS 傳送到我們的 API(「SpecFit API」),由 Cloudflare 為我們代管。部分請求之後會再傳送到 Google 的 Gemini API。
試戴。每次新的試戴,App 會傳送你的正面照片,也就是掃描取得或你選擇的照片。若是角度視圖,也會傳送臉部掃描時拍下的左側或右側靜態照片,以及商品圖片與一段文字指令。我們的伺服器會把這些資料傳給 Gemini,再把結果回傳給你。我們只會在記憶體中處理這些資料,不會把你的照片或生成的圖片寫入我們的儲存系統。
臉型判讀。你可以改用照片而非 3D 掃描完成設定。若是如此,App 會在設定完成後,立即傳送該照片的較小版本(768 像素),這會在任何試戴之前發生。Gemini 會判讀你的臉型三次,我們再取三次結果的平均值。我們不會儲存這張照片,只會保留結果:一個臉型標籤與六項分數。我們會在 Cloudflare 中快取這項結果 7 天,並以該圖片的單向 SHA-256 雜湊值作為索引鍵,而非你的裝置 ID。如果你使用 3D 掃描,就不會進行這項判讀。
眼鏡照片。你可以選擇一張眼鏡的照片或截圖,例如某人戴著眼鏡的畫面。App 會傳送眼部區域的裁切圖,用於辨識鏡框。我們會快取鏡框辨識結果 7 天,結果包含鏡框細節,以及品牌與型號的推測,但不含任何圖片。我們以你的檔案 ID 與款式 ID 的雜湊值作為索引鍵。
貼上的商品連結。當你貼上店家連結時,App 會傳送該網址。我們的伺服器會取得公開的商品頁面,並請 Gemini 挑選出商品照片。我們會快取結果 7 天,以該網址的雜湊值作為索引鍵。結果包含來源網址與商品圖片,不含你的裝置 ID。部分店家會封鎖我們的伺服器,此時 App 可能會透過你自己的連線取得該公開頁面,並將頁面的 HTML 傳送給我們的伺服器。
分享的 TikTok 影片。當你把 TikTok 影片分享到 SpecFit 時,App 會傳送該 TikTok 連結。我們的伺服器會透過 TikTok 資料服務 ScrapeCreators 取得這部公開影片,並將影片上傳到 Gemini Files API,找出影片中有人戴眼鏡的片段。判讀完成後,我們會立即從 Gemini 刪除該檔案。我們會以該影片為索引鍵,快取結果 24 小時,結果僅包含時間點與鏡框配對資訊。
Google 如何處理這些請求。Google 依據Gemini API 附加條款,以我們的服務供應商身分處理這些資料。我們使用的是付費版 Gemini API。Google 表示,對於付費使用,它不會利用提示內容或回應結果來改善自家產品。Google 可能會在有限時間內記錄這些資料,用於偵測濫用情形與履行法律義務。這些處理過程可能會在其他國家進行。
匿名裝置 ID。App 會產生一個隨機 ID,並儲存在 iOS 的 Keychain 中。每次向我們的 API 發出請求時,都會附帶這個 ID。這個 ID 不包含姓名、電子郵件或臉部資料。你不需要建立帳號。這個 ID 同時也是你的 RevenueCat 客戶 ID 與 PostHog 分析 ID。
我們的伺服器會在 Cloudflare 中,以這個 ID 保留一小筆記錄。其中包含你的 App Attest 金鑰記錄,讓我們能夠確認請求來自真正的 SpecFit App;也包含用於追蹤付費試戴點數使用情形的金鑰;以及你最近匯入連結、辨識照片與讀取 TikTok 的時間,用於每日限額計算,這些時間資訊會在 24 小時後刪除。這筆記錄還包含一個標記,用於記錄你是否曾經完成購買。
試戴沒有每週次數限制,你的試戴點數用於支付試戴費用。我們會設定每日總體預算,限制整體 AI 成本。
購買。點數為一次性購買,由 Apple 透過你的 App Store 帳號收費,沒有訂閱,也不會自動續訂。RevenueCat 會記錄每一次購買,並以你的裝置 ID 為索引,保存你的點數餘額。我們絕對不會看到你的信用卡資訊。如果你兌換優惠代碼,RevenueCat 會通知我們的伺服器,我們會在 PostHog 中記錄這次兌換。
產品分析。App 與我們的伺服器會將使用事件傳送到位於歐盟的 PostHog Cloud,例如「畫面瀏覽」或「開始購買」。這些事件以你的裝置 ID 為索引,絕不包含你的照片、掃描資料、測量數據或度數。其中一項伺服器事件會包含 AI 判讀出的臉型標籤(例如「橢圓形」),以便我們檢查判讀的準確度。你可以隨時在設定 → 隱私權中關閉 App 的分析功能。我們的伺服器仍會傳送少量與購買、點數及服務錯誤相關的事件,因為這些資訊是維持服務運作所必需的。
廣告歸因(僅限你同意追蹤時)。我們會在 Meta 與 TikTok 上投放 SpecFit 的廣告,並使用 AppsFlyer 判斷哪些廣告帶來了安裝與購買。在你第一次看到臉部結果後,iOS 會詢問是否允許 SpecFit 追蹤你。如果你同意,AppsFlyer 會使用自己的裝置 ID,以及你的 Apple 廣告識別碼(IDFA);RevenueCat 也會把你的購買事件傳送給 AppsFlyer。Apple 稱此為「追蹤」。如果你選擇不同意,AppsFlyer 就無法取得你的 IDFA 或其自身的裝置 ID,RevenueCat 也不會把你的購買資訊傳送給 AppsFlyer。此時我們只能看到 Apple 提供的彙總匿名報告(SKAdNetwork 與 AdAttributionKit)。你可以隨時在 iOS 的「設定 → 隱私權與安全性 → 追蹤」中變更這項選擇。
伺服器記錄。Cloudflare 會處理一般的網路資料,用於維持服務運作並提供保護,其中包含你的 IP 位址、請求路徑、時間與回應狀態。Cloudflare 最多會保留我們的請求記錄 7 天。我們的程式不會把照片或提示內容加入這些記錄中。
本網站
本網站(specfit.app)使用 Cloudflare Web Analytics 統計頁面瀏覽量。它不會設置 Cookie,也不會在你的瀏覽器中儲存任何資料,不會跨網站追蹤你,也不會建立你的個人檔案。它會記錄你瀏覽的頁面、你的來源頁面、瀏覽器類型、所在國家,以及頁面載入速度。我們只會看到彙總數字,例如「這個頁面本週有 300 次瀏覽」。因此本網站不需要顯示 Cookie 橫幅。
Apple 可以提供我們來自本網站的下載次數彙總數字,但不會告訴我們你是誰。
資料保留期限
- 你 iPhone 上的臉部掃描、網格模型、測量數據、照片與試戴結果:保留至你刪除擷取內容、取代它,或移除 App 為止。
- 你 iPhone 上的度數資料與已儲存的連結鏡框:保留至你清除或移除它們,或移除 App 為止。
- 我們伺服器上的試戴照片與生成圖片:僅在請求處理期間存在,我們不會儲存它們。
- 我們伺服器上的臉型判讀照片:僅在請求處理期間存在,我們不會儲存它。
- 臉型判讀結果(標籤與六項分數,不含照片):保留 7 天,以該圖片的單向雜湊值作為索引鍵。
- 由眼鏡照片辨識出的鏡框結果(不含圖片):保留 7 天。
- 貼上連結的辨識結果(網址與商品圖片):保留 7 天。
- Gemini 中的 TikTok 影片:判讀完成後立即刪除。
- TikTok 辨識結果(僅時間點):保留 24 小時。
- Google 端的 Gemini 提示與回應內容:依據 Google 付費服務條款,保留有限時間用於濫用檢查,Google 未公布固定的保留期限。
- 連結匯入、照片辨識與 TikTok 讀取的時間記錄:保留 24 小時。
- 我們伺服器上的裝置 ID 記錄(App Attest 金鑰、點數使用金鑰、購買標記):保留至你要求我們刪除為止。
- RevenueCat 中的購買記錄與點數餘額:保留至你要求刪除為止,即使重新安裝 App 也會保留。
- Cloudflare 請求記錄:最多保留 7 天。
- PostHog 中的分析事件:依我們 PostHog 專案的設定保留。關閉分析功能後,App 會立即停止傳送新的事件。
- AppsFlyer 歸因資料(僅限你同意追蹤時):依 AppsFlyer 的保留條款設定保留。
- Keychain 中的裝置 ID:即使你移除 App,這個 ID 仍可能保留,並在重新安裝時恢復。
服務供應商
- Cloudflare負責代管 SpecFit API 與本網站,也保存我們效期短暫的快取資料與裝置 ID 記錄。它提供網路安全防護、保留請求記錄,並在不使用 Cookie 的情況下統計網站瀏覽量。
- Google(Gemini API)負責生成試戴效果、判讀臉型、辨識鏡框、挑選商品照片,以及在 TikTok 影片中找出眼鏡。
- RevenueCat負責處理購買,並保存你的點數餘額。
- PostHog為我們提供匿名的產品分析服務,伺服器位於歐盟。
- AppsFlyer用於評估我們的廣告成效。只有在你同意追蹤時,它才會取得你的 IDFA 與購買事件。
- ScrapeCreators負責取得你分享給 SpecFit 的公開 TikTok 影片。
- Apple提供我們 App Store、App 內購買、照片選取工具、App Attest 與廣告報告。
我們要求所有代我們處理資料的供應商,依照本政策與相關法律保護個人資料。這些供應商自身的條款與隱私權聲明,也同時適用於它們。
我們不會做的事
- 我們不會要求你建立帳號,也不會在我們的伺服器上保留臉部檔案。
- 我們不會在 App 內顯示廣告。
- 我們不會出售或出租你的個人資料。
- 我們不會把你的照片用於廣告,也不會用來訓練 AI 模型。
- 除非你在 iOS 提示中同意,否則我們不會追蹤你。
- 我們不會使用臉部辨識技術,也不會確認你的身分。我們給 AI 的臉型判讀指令,會明確要求不要辨識照片中的人物身分。
App 要求的權限
- 相機 - 用於透過 TrueDepth 相機進行引導式臉部掃描。
- 相片圖庫 - 當你選擇自己的照片,或選擇眼鏡的照片或截圖時使用。
- 新增至相片圖庫 - 當你儲存試戴結果時使用。
- 追蹤 - 用於透過 AppsFlyer 評估我們的廣告成效。你可以選擇拒絕,App 的功能不會因此受到影響。
兒童
SpecFit 目前的 AI 生成服務,並非供 18 歲以下人士使用。我們不會在知情的情況下處理兒童的照片或其他個人資料。如果你認為有兒童透過 SpecFit 提供了個人資料,請與我們聯絡,我們會進行調查並採取適當的刪除措施。
你的權利與選擇
在你進行掃描或上傳之前,擷取畫面會顯示一句說明文字,告知你的照片將傳送給 Google 的 Gemini AI。當你進行掃描或上傳時,即表示你同意這項安排。
你可以隨時停止傳送照片,只要不再要求更多試戴即可。你也可以在 iOS 設定中移除相機或相片的存取權限。
點一下你的掃描縮圖,然後點一下刪除所有掃描。這會從你的 iPhone 移除每一個臉部檔案、照片、側面照片、網格模型、測量數據與試戴結果。這項操作不會清除你的度數資料、已儲存的連結鏡框、裝置 ID,或我們伺服器上的點數記錄。若要移除度數資料,請使用清除度數功能。
你可以隨時在設定 → 隱私權中關閉分析功能,也可以在 iOS 的「設定 → 隱私權與安全性 → 追蹤」中關閉追蹤功能。
我們伺服器上的快取資料會在 7 天或 24 小時後自動刪除。若要刪除我們伺服器或 RevenueCat 上的你的記錄,請寄信至 codemad.edu@gmail.com。你也可以來信詢問問題、查看你的資料,或提出異議。由於 SpecFit 沒有帳號系統,我們需要你的裝置 ID 才能找到你的記錄。我們會依照隱私權法律的要求回覆你。若請求涉及服務供應商代我們保存的資料,我們會與這些供應商協調處理。
安全性
臉部檔案採用 iOS 的完整檔案保護機制,其他本機檔案則保存在 App 的沙盒環境中。所有傳送到我們 API 的資料,都會使用 TLS(HTTPS)加密。我們的 API 會使用 Apple App Attest 確認請求來自真正的 App,並限制每個裝置發出請求的頻率。我們不會把你的照片或生成的試戴結果寫入我們的儲存系統。沒有任何系統能做到絕對安全,因此我們無法保證萬無一失。
本政策的變更
如果我們變更 SpecFit 處理資料的方式,會在變更上線前更新本頁面及其生效日期。重大變更也會記錄在 App 的版本更新說明中。
聯絡方式
Codemad · codemad.edu@gmail.com