為何 100% 客戶端工具處理個人資料比自架 SaaS 更安全
在網路上做「工具」的兩種方式
一個網頁工具能在兩個地方之一處理你的資料。伺服器端的 SaaS 工具收下你輸入的東西,在某處的機器上運算,再把結果送回。一個客戶端(client-side)工具則完全在你的瀏覽器裡運行:資料從不離開你的裝置。對使用者而言兩者看起來一模一樣——一個框、一個按鈕、一個結果——但它們的資料安全性質正好相反。
這裡的論點窄而結構性:對於一次性的個人資料,客戶端處理比自架的 SaaS 等價物更安全。不是因為客戶端開發者更小心,而是因為資料實體上去了哪裡。
你從不傳送的資料無法被外洩
資料保護裡最古老的原則是資料最小化(data minimisation):最安全的資料,就是你從不收集、傳送或儲存的資料。這也是像 GDPR 這類法規的核心,它們把「不持有個人資料」視為最強的保護。
一個 SaaS 工具,依定義會在伺服器上收下你的輸入。資料跨越網路、在處理時待在伺服器記憶體裡、常經過請求日誌,有時被快取或寫到磁碟。其中每一個都是它能外洩之處——被送往第三方的日誌、被留成公開可讀的備份、主機被入侵。一個客戶端工具在你瀏覽器的記憶體裡運算,不往伺服器寫回任何東西,所以根本沒有伺服器端的副本可外洩。
攻擊面:一台伺服器對一個瀏覽器分頁
SaaS 工具的攻擊面又大又共享。它包含伺服器作業系統、Web 框架、資料庫、主機帳號、CI/CD 流水線、每個相依套件,以及每個有存取權的管理員。攻破其中任一個,你就能一次曝露每個使用者的資料——一次入侵,眾多受害者。這種集中正是中央資料庫如此誘人的攻擊目標的原因。
客戶端工具在瀏覽器的沙盒裡、在單一裝置上做事。那裡的入侵只影響一個使用者,而且工具不保有可竊取的中央寶庫。這種不對稱正是重點:一次伺服器入侵是傷害所有人的單點失敗,而隔離的本地處理沒有大獎可贏。
「自架」修好什麼、又修不好什麼
自架一個 SaaS 工具——在自己的伺服器而非廠商的伺服器上運行——移除了第三方信任問題。你不再需要把資料託付給外部公司。但它讓架構原封不動:資料仍會去到伺服器、仍待在記憶體、日誌和磁碟裡,而現在你要負責替作業系統打補丁、設定 TLS、保護備份、管理存取——通常比專職廠商擁有更少的安全資源。
所以自架是把廠商風險換成營運風險。它並未移除伺服器這個你的資料會累積之處。客戶端處理則完全移除那個匯流口:路徑上根本沒有伺服器要去強化、被入侵或設定錯誤。
誠實的取捨
客戶端不是魔杖,假裝它是會是不誠實的。跨裝置的真正協作或同步需要伺服器——純客戶端無法在人與人之間共享狀態。非常吃重的運算,例如大型機器學習模型,可能超出瀏覽器分頁所能。而你仍得信任頁面的程式碼:一段惡意或被入侵的腳本即使在客戶端也能外洩資料,這就是為何強固的內容安全政策(Content-Security-Policy)、子資源完整性,以及可驗證的「無網路呼叫」聲明很重要。
最後那一點也是你的防線。因為處理是在本地,你可以驗證它:打開瀏覽器的網路分頁,確認你的資料沒有被上傳。明智的規則是:對於一次性的個人資料工作——格式化一個權杖、解碼一個 JWT、計算一份薪資——在不需共享時優先用客戶端,只在功能真正需要時才接受伺服器。
要點
對於一次性的個人資料工作,優先用完全在瀏覽器裡處理的工具。 不上傳就沒有伺服器端副本可外洩。
驗證聲明,別假設它成立。 打開網路分頁,確認你的資料從不離開頁面。
自架減少第三方信任,但保留伺服器這個攻擊面——並把安全工作轉移到你身上。
敏感資料最安全的副本,就是那份從未離開你裝置的。
本站正建立在這原則上: 工具在客戶端運行,沒有帳號,也不在伺服器端儲存你輸入的東西。