為什麼我做了 Gaze Guard:咖啡廳工作者的隱私保護工具開發緣起

在咖啡廳工作,最怕有人偷看螢幕。這篇文章記錄了 Gaze Guard 的開發緣起——一個用 Zero-Data 原則打造、完全本機運行的隱私保護 Chrome Extension。

分享
為什麼我做了 Gaze Guard:咖啡廳工作者的隱私保護工具開發緣起
Photo by Alex Knight on Unsplash

我很喜歡在咖啡廳工作,但我必須承認一件事:我是一個對隱私非常敏感的人。沒有什麼事比感覺到有人在背後偷看我的螢幕,更能打斷我的專注。

很長一段時間,我只是默默忍受。但最近 AI 工具和本地模型變得越來越成熟、越來越容易取得,我意識到:是時候自己動手,打造一個解決這個問題的工具了。

這就是 Gaze Guard 誕生的緣起——一個用筆電鏡頭幫你留意背後有沒有人偷看螢幕、而且完全在本機運行的 Chrome 擴充功能。

為什麼隱私才是核心問題?

要做一個「用攝影機偵測是否有人偷看」的工具,第一個念頭就是:這個工具本身會不會變成另一個隱私威脅?

現在太多軟體工具要求你建立帳號、交出 Email,甚至蒐集並儲存你的臉部資料,就為了用一個基本功能。我相信,有很多人跟我一樣——想要智慧工具的便利,但絕對不願意犧牲個人資料。

所以這個專案我用很嚴格的 Zero-Data(零資料)原則 來做:

  • 不需要註冊:安裝即用,不用帳號。
  • 不蒐集任何資料:不傳任何東西到雲端,所有運算都在你的機器上完成。
  • 不記錄臉部特徵:你的臉部資料永遠不會被儲存或上傳。

怎麼做到偵測,卻又不蒐集臉?

為了實現 Zero-Data,我選了 MediaPipe 的輕量人臉偵測模型(MediaPipe FaceLandmarker),用 WASM 完全在本機跑。

這個選擇有一個技術上的取捨:因為模型非常輕量,它完全沒辦法識別「這個人是誰」。它只知道「有一張臉正在看螢幕」,但認不出你是你,也認不出站在你身後的人是誰。

有人可能覺得這是缺陷,但對我來說,這恰恰是最完美的設計。因為 AI 從物理上就無法識別身份,你獨特的臉部特徵永遠不會被記錄下來。為了保證絕對隱私而放棄人臉識別,這個取捨完全值得。

一直在背景跑,會不會很耗電?

帶著筆電在外面跑一整天,相信一定會很注意耗電的問題。
我依照硬體的使用率下去推算:開啟監控大約多耗 277 mW,大概比沒開的狀態下少 12–17 分鐘(約 2.8%)續航力,在可接受範圍內。

如果想看完整的數據,我另外寫了一篇〈Gaze Guard 耗電量實測〉,有興趣可以看。

結語

我為自己打造了這個工具,但選擇公開分享,因為我相信有很多人和我有同樣的價值觀——重視真實世界的隱私(不被人偷看螢幕),也重視數位世界的隱私(不想把資料交給不熟悉的公司)。

如果你也是這樣的人,歡迎試試 Gaze Guard。它輕量、免費、開源,而且永遠不會要你的帳號。第一次用的話,可以照〈完整安裝與使用教學〉一步步設定。

常見問題

Gaze Guard 會蒐集我的臉部資料嗎? 不會。它採 Zero-Data 原則,所有影像分析都在你的瀏覽器本機完成,臉部資料不會被儲存、也不會上傳到任何伺服器。

需要註冊或付費嗎? 都不用。安裝即用,免費、開源,不需要帳號。

Gaze Guard 會很耗電嗎? 開啟監控大約多耗 277 mW,日常輕度使用下筆電電池約少 12–17 分鐘(約 2.8%)。完整實測見〈耗電量實測〉。

怎麼安裝、怎麼設定? 到 Chrome 線上應用程式商店點「加到 Chrome」即可,詳細設定步驟看〈完整教學〉。


GitHub:steepinglogic/gaze-guard

Read more

Gaze Guard 短影片旁白的 TTS 成本與隱私防護示意圖

短影片旁白的成本,其實比我想像低

我最近在做一支 Gaze Guard 的 20 秒產品介紹影片。 原本想說簡單做個動畫就好。 後來想說如果有配音,會感覺比較生動也比較能夠描述使用的情境和達成的效果。 這次我測了什麼 我測的是產品介紹影片用的英文旁白。 工具底層使用的是 Edge TTS,也就是 Microsoft Edge 的線上 Text-to-Speech 服務。常見的底層工具是 edge-tts。 這不是正式 Azure Speech API 的計費路徑。 在我這次的環境裡,它沒有要求 API key,也沒有回傳可見的 per-use billing。 所以這次測試本身,比較像是快速 prototype。 如果未來要正式商用、穩定大量產出,就要回頭看 Azure Speech、OpenAI TTS、ElevenLabs 這類正式付費方案。

By SteepingLogic
用 Cloudflare Tunnel,從外面連回本機 Hermes Dashboard

用 Cloudflare Tunnel,從外面連回本機 Hermes Dashboard

# 用 Cloudflare Tunnel,從外面連回本機 Hermes Dashboard 我有一台 local Hermes。 平常它就在自己的機器上跑。 可能是家裡的桌機。 可能是 NAS。 可能是一台一直開著的 Linux box。 也可能只是我自己的筆電。 問題是,人一離開那個網路,Hermes dashboard 就變成一個只存在於 localhost 的東西。 我想在外面打開它。 但我沒有 static IP。 沒有買網域。 也不想進路由器開 port forwarding。 因為那條路通常長這樣: * 找 public IP * 設定 NAT * 開 port * 處理防火牆 * 補 HTTPS * 設定憑證 * 再擔心 origin IP 被掃 非常友善。 所以這篇先走另一條路:

By SteepingLogic
Invoshot 開發日記|正向回饋

Invoshot 開發日記|正向回饋

想信很多人在開發的時候都常常會做一件事,那就是: 不斷地反覆思考,在腦袋內把流程跑過很多次,然後思考哪裡可以做得更好 不限坐在電腦前的時後,可能是在捷運上,在人行道上, 在馬桶上或是在洗澡的時候 🤪 我不斷地在想:AI 辨識完一張發票後,使用者接下來最需要的是什麼? 每個欄位都要核對嗎? 這麼多欄位真的不會漏看嗎? 所以我在 Invoshot 裡加了提醒功能。 辨識結果出來後,系統會把比較需要注意的地方標出來。 不是把所有不確定都丟給使用者,而是把他真正需要介入的那幾秒鐘留出來。 今天收到一則訊息: 今天用了有新增提醒功能很棒! 真的有變輕鬆 😎 看到這句的時候,我第一個想到的是: 原來那些只是我腦內風暴的優化項目,使用者是真的可以感受到差異的! 感覺又有動力了!

By SteepingLogic