Local-first 應用程式:儲存、隱私與離線使用
把想保留的工作交給應用程式前,先問清楚:工作存在哪裡、哪些內容會傳到別處,以及如何復原。Local-first 是實用的設計方式,但光靠這個標籤無法回答所有問題。
Local-first 是什麼
Ink & Switch 於2019年發表的local-first 論文將資料的主要副本放在使用者自己的裝置上。其他裝置與伺服器仍可能保留同步副本。這個方式既可用於安裝式軟體,也可用於網頁應用程式。只是在瀏覽器中執行計算,並不能證明符合所有 local-first 原則。
本機儲存無法單獨決定隱私
localStorage 是瀏覽器中的儲存空間,網站可用它把偏好設定等資料存到你的裝置上。OWASP 的瀏覽器儲存指引說明,在網頁中執行的惡意指令碼可以讀取該頁面的 localStorage。把資料放在裝置上,本身並不保證機密性。本機處理也可能與同步、使用分析和從外部服務下載資源並存。請確認應用程式聲明會儲存和傳送什麼,也包括可選的分享或同步功能。
保留能復原的副本
儲存在瀏覽器中的資料,包括 localStorage,可能在清除網站資料時,或因瀏覽器的儲存政策而遺失 (WebKit). MDN 的瀏覽器儲存文件說明,私密瀏覽資料通常會在私密工作階段結束時刪除。瀏覽器儲存空間不應是重要工作的唯一副本。規則會因瀏覽器、裝置和應用程式的儲存設定而異。
確認需要的離線功能
MDN 的 service worker 指南介紹快取如何支援網頁應用程式離線使用。已開啟的分頁能正常操作,不代表應用程式能在沒有連線時重新載入或再次開啟。請針對真正需要的操作確認離線支援。
- 使用測試資料: 測試前先另外儲存重要工作。建立可捨棄的範例,重新載入網頁並再次開啟應用程式,確認保留了什麼。
- 測試復原: 如果提供匯出或備份,請用測試範例試用,並確認能開啟或還原已儲存的資料。還原前,先確認應用程式是否會取代目前的資料。若這可能刪除想保留的工作,請停止操作。光有同步並不代表能復原較早的版本。
- 測試離線: 使用範例中斷連線,測試需要的操作,包括再次開啟應用程式。之後重新連線,並確認任何同步結果。不要用重要工作的唯一副本進行這項測試。
在 Lumelis 套用這些檢查
當儲存功能可用時,Lumelis Digital 的語言選擇器可以在此瀏覽器儲存你明確選擇的語言。這個偏好設定不是在工具中建立之工作的備份。請到 Lumelis 工具目錄選擇要評估的功能,並閱讀隱私權政策以了解網站聲明的資料處理方式。請逐一評估各項功能:儲存偏好設定並不能證明支援離線,或完全沒有使用分析。
記錄在所測試的應用程式版本、瀏覽器與裝置上,哪些操作能正常進行。這些實際檢查有助判斷功能是否符合需求,但不代表對整個服務的安全性認證。