AI 安全ADP生物特徵產品設計UltraProbe隱私

你的產品有上傳照片,就已經在做生物特徵系統

· 11 分鐘閱讀
目錄
  1. TL;DR
  2. 濾鏡文案改變不了資料類別
  3. 一張上傳 API 要回答的四個問題
  4. 清單:我們會怎麼看一個「自拍變裝」功能
  5. 本機不是道德,是架構
  6. Ultra Lab 自己的紅線
  7. 收束
  8. 延伸閱讀

TL;DR

  • 只要你的產品有「上傳照片、生成另一張臉」這條路徑,你就已經在做生物特徵系統。功能文案叫它變裝、濾鏡還是玩法,都不改變資料類別。
  • 每一個吃圖的上傳端點,上線前要寫死四個答案:預設、範圍、留存、撤回。寫不出來就不該收臉。
  • 工程師看到的是 image-to-image,法務看到的是身份材料。兩邊看的是同一支 API。
  • 本機推論不是道德姿態,是把「資料會不會出境」變成架構決定,而不是每次都要重新判斷。
  • 我們自己有兩條會碰到臉的路徑,其中一條會把圖送進雲端模型。界線與還沒補完的功課都寫在第六節。

濾鏡文案改變不了資料類別

前兩篇談的是使用者那一側:一張臉進了雲端生成模型會發生什麼(第 1 篇),以及條款把這件事寫成什麼(第 2 篇)。這篇換一邊站,對做產品的人說話。

分野在這裡:傳統修圖工具的輸出「還是你」,它調的是同一張臉的像素。生成模型的輸出是「另一個你」,它產生的是一張原本不存在的臉,而且產生過程中,你的臉被完整讀過一次。

這件事在工程視角下是一個 image-to-image 任務。在法務與資料保護視角下,它是身份材料的蒐集與處理。兩邊講的是同一支 API,但只有一邊會被問責。

所以「我們只是做個好玩的變裝功能」這句話,在規格書上沒有效力。分類看的是你的系統實際收了什麼、留了什麼、送去哪裡,不是產品頁上那個動詞。

一張上傳 API 要回答的四個問題

這四個問題不是價值觀清單,是欄位。每個吃圖的端點上線前,答案要寫在文件裡,寫不出來就是還沒設計完。

問題 差的答案 較好的答案
預設 訓練或「改善服務」預設開,使用者要自己去找開關 預設關;或更乾脆,原圖根本不進可訓練的管線
範圍 原圖照收,EXIF、背景、同框的人一起進來 上傳前就裁切、去 EXIF;明講不收他人的臉
留存 圖跟對話綁在一起,刪了對話不一定刪得到檔案 原圖與生成物各自有過期時間,而且期限寫得出來
撤回 只能刪聊天紀錄,其他不知道 原圖、生成物、衍生權限一併停用;訓練批次做不到的部分,用白話講出來

第四欄那句「做不到的部分要講出來」是重點。撤回這件事,多數團隊做得到前半段(刪檔案)而做不到後半段(已經進過訓練的抽不回來)。做不到不是罪,假裝做得到才是。 在說明頁上寫清楚哪一段撤得回、哪一段撤不回,比寫一句模糊的「您可以隨時刪除您的資料」誠實得多,也安全得多。

清單:我們會怎麼看一個「自拍變裝」功能

不講故事,直接列檢查項。拿去對你自己的產品跑一遍:

  • 原圖存在哪個儲存體?誰有讀取權限?保留多久?有沒有自動過期?
  • 它會不會進訓練或「改善服務」的管線?如果有 opt-out,它管不管已經送出去的?
  • 輸出能不能被再拿去訓練?很多團隊守住了輸入,忘了輸出也是一張臉。
  • 除了臉,還收了什麼?EXIF、背景裡的門牌與文件、螢幕上的公司資料、證件版面。
  • 圖裡如果有第二個人,你怎麼處理?有沒有任何機制,還是完全靠使用者自律?
  • 使用者刪帳號的時候,快取、縮圖、CDN 副本、向量索引會不會一起消失?
  • 你的條款是不是把權利擔保推回使用者就結束了?如果是,那一段保護的是你,不是他。
  • 第三方供應商那一層:你的圖經過誰的 API?他們的留存政策你讀過嗎?

最後一項最容易漏。很多產品自己一行資料都沒留,但把圖原封不動轉發給某個第三方視覺 API,然後在隱私政策裡寫「我們不儲存您的照片」。那句話技術上為真,實質上什麼都沒承諾。

本機不是道德,是架構

我們的做法寫過很多次:需要保密、不該出境的東西走本機 Ollama,資料不離開這台機器。

這不是清高,是把一個每次都要重新判斷的問題,變成一次性的架構決定。當「會不會外流」已經由部署位置回答掉,你就不必在每一個新功能上重新爭論一次,也不會在趕上線的那個星期五做出不一樣的選擇。

實務上的分界大致是這樣:

  • 可以走雲端:公開素材、不含人臉與文件的圖、示意圖、已經發布過的內容、去識別過的截圖。
  • 該留在本機:正臉原圖、證件、客戶檔案、家戶與辦公空間照片、任何不是你本人的臉。

代價要老實說。本機推論的模型品質通常不如最前緣的雲端模型,而且硬體是你自己的成本。所以這是一個決策,不是一條教條:值不值得,看那份資料外流的後果有多大。後果小的走雲端,後果不可逆的留本機。臉屬於後者,因為它不能重設。

Ultra Lab 自己的紅線

寫別人之前先寫自己,連還沒做到的一起寫。

我們有兩條會碰到臉的路徑,先講送進模型的那條。 MindThread 有「看圖生文」:使用者上傳工作照生成貼文文案,那張圖被轉成 base64 送進 Gemini 做圖片辨識。圖裡如果有人臉,那張臉在那一刻被雲端模型讀過一次。

拿上面四個問題對它跑一遍,答案沒那麼好看:預設就是送出去(這是功能本身);範圍是整張原圖,我們沒有做「圖裡有沒有臉」的檢查;留存在 Firebase Storage,沒有自動到期;撤回目前只能刪貼文,圖不會跟著消失。這條路徑是這篇文章的標準下,我們自己還沒補完的功課。

另一條只存來顯示。 UltraSite 的名片產生器有選填頭像,上傳的圖在瀏覽器端壓成小方圖後存進我們的資料庫,用途只有一個:顯示在你自己那張卡片上。它不進 prompt、不參與生成、不送進任何生成模型。公開介面查那張卡片時回傳的是「有沒有照片」,不是照片本身,取圖要走另一個端點,這是為了不讓爬蟲整批收割。

同樣四個問題:預設不進任何可訓練管線;範圍限縮成一張小方圖;留存跟著那張卡片;撤回刪得掉(Firestore 立即生效,CDN 邊緣快取最多還有五分鐘的失效視窗)。這是我們的答案,不是標準答案,你可以拿去挑。

UltraProbe 的掃描,在未留 email 解鎖完整報告的情況下,預設不保存受測的 system prompt。 但同一套標準要套回自己身上:勾了深度分析,你的 prompt 會被送到 Gemini 做一次性推論,我們自己不落地存檔,卻確實經過了第三方。要完全不經第三方,就只跑不勾深度分析的確定性掃描。這正是上一節那個「我們不儲存您的照片」的坑,我們自己也站在坑邊。

然後是這篇最需要講清楚的一件事。

AASS 裡的 ADP(AI Data Protection)問的是「你有沒有把不該給 AI 的資料給它」。真正跑在已發佈的 ultraprobe 套件裡的,是十類純 regex、二十一條樣式:身分證字號、姓名、電子郵件、手機、地址、生日、信用卡、銀行帳號、API key、內部 IP。

這裡要訂正一件我們自己的事。我們過去在文章裡把統一編號、JWT、密碼、私鑰、資料庫連線字串也列進這份清單。那幾條規則確實寫了,但寫在一支沒有被任何地方引用的檔案裡,等於沒接線。寫了不等於跑著,這是我查自己才發現的。

它偵測不到人臉。 線上掃描器現在做的是 AVS 與 PDS 兩個維度,人臉輸入不在裡面。把「這段輸入裡有沒有一張臉」變成可檢查項,是 ADP 的下一題,不是現有功能。

我在這裡寫清楚,是因為這整個系列的論點就是「不要宣稱你做不到的事」。如果我一邊講這句,一邊讓你以為我們已經掃得到臉,那這三篇就白寫了。

還有:這篇是規格,不是「掃一下就安全」。 上面那四個問題與那份清單,沒有任何一個工具能代替你回答。工具能查的是你有沒有把答案寫進系統,不能替你決定答案該是什麼。

規則最後一條,對我們自己也一樣適用:未來若有功能真的需要臉或證件,必須當成一個新的品類處理,另外取得同意,預設走本機或零留存,禁止當成現有工具裡多出來的一個小選項。

收束

一個產品有沒有在做生物特徵系統,判準不在它怎麼稱呼自己,在它的上傳端點收了什麼。

預設、範圍、留存、撤回。四個問題,四個欄位。它們不難回答,難的是在功能排期壓力下,願意在上線前先回答。

如果這四件事你寫得出來,收臉這個決定至少是被做出來的,不是被默認的。如果寫不出來,那就先不要收。

想知道自己的應用在 AI 面前長什麼樣子,UltraProbe 可以掃給你看,但記得它的作用域:它查的是你有沒有把答案寫進系統,不是替你把答案想出來。

延伸閱讀

常見問題

怎麼判斷我的產品算不算生物特徵系統?

看上傳端點實際收了什麼,不是看產品頁上的動詞。只要有使用者上傳人臉照片這條路徑,資料類別就是身份材料。工程視角下它是一個 image-to-image 任務,資料保護視角下它是身份材料的蒐集與處理,兩邊講的是同一支 API。

上線前該回答哪四個問題?

預設(訓練或改善服務是不是預設開)、範圍(收整張原圖還是裁切去 EXIF)、留存(原圖與生成物各自多久過期)、撤回(能不能一併停用,以及哪一段撤不回來)。四個答案要寫在文件裡,寫不出來就是還沒設計完。

撤回做不到的部分要怎麼處理?

照實寫出來。多數團隊做得到刪檔案,做不到把已經進過訓練批次的抽回。在說明頁寫清楚哪一段撤得回、哪一段撤不回,比寫一句模糊的「您可以隨時刪除您的資料」誠實得多,也安全得多。做不到不是罪,假裝做得到才是。

哪些影像工作該留在本機?

正臉原圖、證件、客戶檔案、家戶與辦公空間照片、任何不是你本人的臉。公開素材、不含人臉與文件的圖、去識別過的截圖可以走雲端。本機推論的代價是模型品質與硬體成本,所以這是決策不是教條:後果不可逆的留本機,臉屬於後者。

UltraProbe 的 ADP 可以掃出使用者上傳的人臉嗎?

不行。目前真正跑在已發佈套件裡的是十類純 regex、二十一條樣式的 PII 偵測(身分證、姓名、電子郵件、手機、地址、生日、信用卡、銀行帳號、API key、內部 IP),線上掃描器做的是 AVS 與 PDS 兩個維度。把「這段輸入裡有沒有一張臉」變成可檢查項是下一題,不是現有功能。

每週 AI 自動化實戰筆記

不廢話,只有能直接用的東西。Prompt 模板、自動化 SOP、技術拆解。

加入一人公司實驗室

免費資源包、每日建造日誌、可以對話的 AI Agent。一群用 AI 武裝自己的獨立開發者社群。

想自己動手試試?

UltraProbe 免費、免註冊,掃一次網站就知道 Google 與 AI 找不找得到你。