信任與邊界
CrispGuard 的遮擋是本機處理的嗎?截圖或螢幕錄影時,擴充功能本身會洩漏內容嗎?
CrispGuard 的遮擋在瀏覽器本機完成,不依賴遠端伺服器,也不會把頁面內容送出去。但它運作在頁面層,不是作業系統安全層——系統截圖或螢幕錄影工具若繞過瀏覽器轉譯,遮擋不保證會出現在擷取結果裡。它不是安全產品,不加密螢幕,也不取代防窺片或系統層級的截圖防護。
如果你想知道 CrispGuard 具體能遮什麼,產品頁列出了三種遮擋形態。這一頁討論的範圍更窄:遮擋發生在哪一層,以及這個位置能保護什麼、不能保護什麼。
CrispGuard 的資料路徑——什麼留在瀏覽器裡,什麼不離開
遮擋邏輯執行在擴充功能的內容腳本裡,也就是你正開啟的那個頁面內部。文字比對、圖片替換、區域繪製都發生在頁面本機轉譯階段,這條路徑上沒有任何一步需要先把頁面傳到伺服器。
CrispGuard 是一個 Chrome 擴充功能,真正幹活的部分是內容腳本——瀏覽器注入到你正在瀏覽的頁面裡的程式碼。它讀取頁面裡已經存在的文字與圖片,和你自己設定的關鍵字表做比對,然後改寫瀏覽器即將繪製的內容:命中的關鍵字變成一條遮擋條、一個純色塊或一個 emoji;命中的圖片被替換成佔位塊;框選的區域被一層覆蓋層蓋住。頁面本身照常可用,連結能點、表單能填、捲動不受影響。
上面每一步都是對「已經下載到本機的那份文件」做的本機操作。比對用的是擴充功能裡存的那份關鍵字表,不是伺服器上的模型。這條路徑上沒有哪一步需要把頁面送出去才能完成遮擋。
這句話只涵蓋遮擋路徑,值得把它的邊界說清楚:「本機遮擋」和「零網路請求」是兩個不同的說法。後者更強,也可被檢驗,這一頁不會把前者升級成後者。根據商店頁的功能描述,CrispGuard 的遮擋判定與繪製都發生在你的裝置上。至於擴充功能在網路上會存取什麼——授權驗證、以及其它任何請求——由它的隱私政策定義,那才是你下判斷之前該讀的文件。CrispGuard 的設計目標是盡可能減少資料離開瀏覽器,具體網路行為以擴充功能的隱私政策為準,而不是以一篇介紹頁為準。
值得對照的是把更強說法公開寫出來的產品。ContextBlur 的隱私政策明確寫了 100% 本機處理、零網路請求,自動模糊只在使用者點擊「Run auto-blur now」時執行,而且只存 CSS 選擇器、不存頁面內容。不論你還從裡面讀出什麼,它說明了一件有用的事:在這個品類裡,「本機處理」是一個廠商可以公開聲明、並且可以被追問的說法,不是 CrispGuard 獨有的說辭,也不該憑任何一家廠商(包括這一家)的自述就採信。
這裡還有一條邊界要單獨說:遮擋改變的是頁面顯示出來的內容。它不加密頁面,不把頁面從瀏覽器自身的行程裡藏起來,也攔不住任何能接觸你已解鎖電腦的人開啟開發者工具直接讀 DOM。CrispGuard 是共用空間裡的隱私便利工具,不是安全產品,也不應該被描述成安全產品。
截圖和螢幕錄影時,遮擋會發生什麼——能覆蓋什麼,不能覆蓋什麼
這完全取決於擷取路徑。工具如果讀取的是瀏覽器轉譯出來的頁面,遮擋通常就在圖裡;如果讀取的是作業系統的影格緩衝區,或者用攝影機拍螢幕,擴充功能沒辦法把遮擋放進那張圖。
機制決定結果。瀏覽器擴充功能活在頁面的轉譯管線裡:它改的是 DOM 和掛在 DOM 上的樣式,然後由瀏覽器把結果畫出來。截圖與錄影工具分兩類:一類向瀏覽器索取「目前顯示的內容」,讀到的就是擴充功能已經改過的那份轉譯結果;另一類直接讀作業系統的影格緩衝區,也就是整塊螢幕合成後的影像,壓根不去問頁面。
行動平台示範了第二類在平台配合時能做到什麼。Android 的 FLAG_SECURE 在平台安全層攔下截圖,作業系統直接拒絕擷取。Chrome 擴充功能沒有對應的一層——沒有任何 API 能讓擴充功能要求 Windows、macOS 或擷取裝置「拒絕這一個影格」。
| 擷取方式 | 遮擋是否通常出現在結果中 | 原因 |
|---|---|---|
| 瀏覽器內截圖(Chrome DevTools 截圖、擴充功能自身的 captureVisibleTab) | 通常會出現,但取決於擷取時機和擴充功能實作 | 擷取的是轉譯結果,遮擋層可能被包含;如果擷取發生在遮擋套用之前,也可能缺失。 |
| 作業系統截圖(Win+Shift+S、macOS Cmd+Shift+4) | 不保證 | 擷取發生在 OS 影格緩衝層,而擴充功能只工作在頁面的 DOM 層,擴充功能不控制作業系統擷取到什麼。 |
| 第三方螢幕錄影軟體(OBS、Loom 等,螢幕擷取模式) | 不保證 | 錄影路徑可能繞過瀏覽器的轉譯合成、直接讀螢幕,因此錄到的影格裡不含擴充功能繪製的覆蓋層。 |
| 外接攝影機或手機拍攝螢幕 | 不保證 | 攝影機記錄的是螢幕發出的光;擴充功能改的是頁面像素,不改變實體顯示輸出,照片拍到的就是面板當下顯示的樣子。 |
| 會議軟體分享「整個螢幕」而不是「單一分頁」 | 不保證 | 整螢幕分享可能連帶擷取遮擋頁之外的其他視窗與系統通知,而擴充功能構不到瀏覽器以外的任何東西。 |
CrispGuard 的遮擋是頁面層的可見性控制,不是截圖阻斷。如果你需要硬體層級的截圖阻止,應該使用作業系統或平台提供的安全顯示機制,而不是瀏覽器擴充功能。
由此有兩條實用推論。第一,凡是你沒實測過的擷取方式,先假定遮擋不在結果裡,而不是假定它在。第二,這個測試很便宜:拿你實際會用的那個工具,對一個你實際遮過的頁面截一次,看結果。
網鎖的 PIN 是怎麼存的——一個可驗證的信任訊號
網鎖的 PIN 只以加鹽雜湊的形式保存,不存明文。即使有人讀取擴充功能的本機儲存,拿到的也不是一個能直接填進解鎖框的值。開啟設定仍是正常介面,只有解鎖時才詢問 PIN。
網鎖是 PRO 功能:給某個網站上鎖之後,要解鎖得先輸入 PIN。擴充功能存下來的是這個 PIN 的加鹽雜湊——把 PIN 和一個隨機值一起送進單向函式——而不是 PIN 本身。所以讀到擴充功能本機儲存的人,拿不到可直接使用的口令。鹽也有意義:兩台機器即使碰巧設了同一個 PIN,存下來的值也不一樣,儲存內容不會洩漏「這兩個 PIN 相同」這件事。
這個選擇值得掂量,因為它可以被檢查。把 PIN 明文存起來的產品,暴露的是它對「儲存」這件事的思考方式;存雜湊的產品,說明它假設過這份儲存早晚會被人讀到。兩個選擇本身都不能讓一個產品變得可信,但對一個裝在你每個頁面上的工具,你會想看到後者。
雜湊做不到的事同樣要說清楚。它保護的是儲存下來的值,不是「已解鎖」這個狀態:網站已經解鎖、有人站在你身後,他讀到的是頁面,不是雜湊。短數字 PIN 在嘗試次數足夠多時也可被猜中,而雜湊本身不說明允許試幾次。雜湊只回答一個問題——「有人讀到這個檔案能拿到什麼」——這個問題它答得很好,其它問題它不管。
如果你在評估「要不要信任一個螢幕隱私擴充功能」,應該檢查什麼
五件事能定下大半:隱私政策有沒有明說頁面內容不外傳、遮擋究竟在哪一層完成、申請了哪些與遮擋無關的權限、自動辨識是不是等你觸發、以及產品認不認自己的邊界。
這些都不需要技術背景,只需要讀一份政策和一張權限表——在把一個能讀你所有頁面的工具裝進來之前,這點工作量是合理的。
- 隱私政策裡有沒有逐字寫明「不傳輸頁面內容、截圖、瀏覽紀錄」?點名這三類的政策是一個可被否證的承諾;只說「我們尊重你的隱私」的不是,而無法否證的話事後也無從檢驗。
- 遮擋是在內容腳本/頁面層完成的,還是必須先把內容送到伺服器?這決定了「本機」是架構屬性還是文案裡的一個詞——只有前者能撐過斷網。
- 擴充功能有沒有申請與遮擋無關的敏感權限(剪貼簿、請求攔截、遠超功能需要的網站存取)?每一項權限都是一種能力,它是否存在與目前版本是否使用無關,所以權限表說的是「可能發生什麼」,不只是「現在發生了什麼」。
- 自動辨識功能是不是只在你明確觸發時才執行?預設掃描每個頁面的功能,和等你點一下才動的一樣,隱私姿態並不相同,哪怕螢幕上看到的結果一樣。
- 產品有沒有承認自己的邊界(例如「不是安全產品」「攔不住系統層級截圖」),還是聲稱能阻斷截圖?寫清邊界的廠商通常想過邊界在哪;聲稱什麼都能攔的,要不是搞錯了,就是在賣別的東西。
這不是一張評分表,這一頁也不會替 CrispGuard 把它填完。凡是無法從公開文件確認的項目,就當作未確認,去讀隱私政策。這是這個問題誠實的答法,也是唯一一個在下一個版本發布之後依然成立的答法。
常見問題
CrispGuard 會把我的頁面內容送到伺服器嗎?
遮擋路徑不需要這麼做。比對在內容腳本裡完成,用的是存在擴充功能裡的關鍵字表,替換直接畫在頁面裡,這條路徑上沒有哪一步要上傳頁面。擴充功能是否還有其它網路請求(例如授權驗證)由隱私政策定義,那份文件才是該查的地方。
我用系統截圖工具截圖,遮擋還在嗎?
不保證。系統截圖讀的是作業系統的影格緩衝,而擴充功能只改瀏覽器轉譯出來的內容,所以遮擋在不在結果裡取決於擷取路徑,而不是取決於遮擋有沒有開啟。如果擷取走的是瀏覽器轉譯結果,遮擋通常會被包含進去。
螢幕錄影軟體錄到的畫面會有遮擋嗎?
取決於錄影軟體的擷取模式。讀取轉譯頁面或瀏覽器合成結果的工具通常會帶上覆蓋層;在作業系統層直接抓螢幕的工具可以完全繞過它。CrispGuard 裡沒有任何設定能改變這一點,因為限制在擷取路徑上,不在擴充功能裡。
網鎖的 PIN 如果忘了,擴充功能會洩漏明文嗎?
不會——擴充功能只存 PIN 的加鹽雜湊,所以讀取本機儲存看不到 PIN 本身。這保護的是存下來的東西,不是別人能看到的東西:如果網站已經解鎖、有人正看著你的螢幕,PIN 與此無關。
螢幕隱私擴充功能能替代防窺片嗎?
不能。防窺片收窄的是實體螢幕的可視角度,旁邊的人根本讀不到;擴充功能改的只是瀏覽器裡的像素。防窺片還蓋住螢幕上的一切——別的應用程式、通知、視訊通話——這是瀏覽器擴充功能構不到的範圍。這也是本文那條邊界聲明的意思:頁面層的可見性控制不是截圖阻斷。
如果我真的需要防止截圖,應該用什麼?
用平台機制,而不是瀏覽器擴充功能。Android 的 FLAG_SECURE、受 DRM 保護的播放通路、以及停用了擷取的受管裝置原則,都工作在作業系統或平台層——截圖真正經過的就是那一層。多數共用空間場景裡,防窺片加上把螢幕轉開就是務實的答案。