許諾隱私,誰都會。Lucent 的作法是讓侵犯隱私變成一件費力且不可行的事——架構裡根本就沒有給你的資料準備出口。
在你匯出、或讓模型看之前,沒有任何東西離開裝置。這是簡短版本;完整政策請透過下方按鈕閱讀,程式碼也這麼認為。
你的筆記住在 SQLCipher 加密資料庫裡,附件逐個上鎖。最燙的兩條路——PBKDF2 金鑰衍生與 AES-256-GCM——用 Rust 經 JNI 跑,另有完全一致的 Kotlin 兜底,應用程式永遠不會被一個原生函式庫綁架。拿到你解鎖的手機是一回事;拿到你的檔案的人,得到的只是一堆雜訊。
這是真正的暴力破解防禦策略,不是一句客氣的請求:逐級延長的冷卻時間、重啟也清不掉的計數器,選用的安全問題,選用的自我銷毀——指紋(Android)與 Windows Hello 在整個冷卻期內禮貌地告假。猜錯太多次,應用程式真的會停止談判。
備份是單個 .lcb 檔案,帶著筆記、任務、歷史、對話、附件和設定跨裝置走——還原前可預覽,可定時自動跑,並能設密碼。沒人能讀的備份是紀念品不是備份,所以它出去讀一遍,回來再讀一遍。
分享選單整合:關。診斷:關,開了也只存本機。你接的助手服務全憑你自己選。雲端同步是你自己設定的模組,走 WebDAV——你的伺服器,你的規矩。這個應用程式裡沒有任何「預設開啟、藏在三級選單裡讓你關」的東西。
雲端模型看到的,恰好是你擺在它面前的東西——沒有任何後台同步、索引或「改進」。想當徹底的隱士?在本機跑一個 .gguf,網路可以一直關著。加密唯一的例外是匯出為 Markdown、Word、PDF 或 Excel——那是一份你在別處也能開啟的檔案,這正是匯出的意義。
Lucent 是一款面向 Android 與 Windows 的筆記與任務應用程式。本政策說明這款應用程式會在自訂儲存空間保存什麼、會把什麼發送到裝置之外,以及你如何控制這兩件事。這裡描述的是本儲存庫中建置出的 Lucent 本身。
下文逐條展開這些說明,也包括它們的邊界。
Lucent 由 Jessica Martinez 開發。關於本政策或應用程式資料處理方式的問題,可發送至 yuan47578@gmail.com。
Lucent 是以 MIT 授權條款發布的自由軟體。開發者不營運任何收集或儲存使用者資料的服務,本應用程式亦無伺服器端元件。
你在 Lucent 裡建立的一切都存放在裝置上應用程式自己的私人儲存空間中。該儲存空間對其他普通應用程式不可讀,解除安裝應用程式或清除應用程式資料時會一併刪除。
保存的內容包括:
資料庫由 SQLCipher 加密。在 Android 上,應用程式透過 Room 搭配 SQLCipher 使用資料庫;在 Windows 上,則透過隨應用程式附帶的 JDBC 驅動程式,以 SQLCipher 加密方式和同樣類型的 256 位元金鑰存取 SQLite。筆記、任務、對話、歷史與設定都在這個資料庫裡。
附件單獨加密。每個檔案在寫入磁碟之前,都會放進一個帶認證的 AES-256-GCM 容器,按 64 KiB 分塊處理。磁碟上的檔名是隨機識別碼,而不是你在應用程式裡看到的名字。
備份同樣始終加密,見第 6 節。
資料庫金鑰和附件金鑰都是在你的裝置上隨機產生的 256 位元值。它們不來自你輸入的任何內容,亦不會以純文字寫入磁碟。在 Android 上,它們由 Android Keystore 中的金鑰封裝保護——裝置支援時該金鑰由硬體保護;Keystore 不可用時則退回本機加密方案。每把金鑰都會保留一份復原複本,以免 Keystore 出問題就損毀你的資料。
API 金鑰、WebDAV 密碼、備份密碼和應用程式鎖憑證都經過同一條加密路徑保存,不是純文字。應用程式鎖的密碼和安全問題答案則完全不保存:只保留加鹽雜湊,無法從雜湊還原出密碼本身。
這裡的加密保護的是靜態資料:一份被帶離裝置的資料庫、附件檔案或備份,沒有金鑰就無法讀取。它不能防範有人拿著已解鎖的裝置、以你的系統帳號直接使用;亦無法保護應用程式開啟期間的資料——內容正在顯示或編輯時,解密後的文字必然存在於裝置記憶體中。
Lucent 不會在這件事上含糊。如果加密函式庫無法載入,或者某個資料庫無法加密、無法解鎖,應用程式會記錄並如實回報,而不是假裝一切正常;設定裡提供了加密檢查,用於確認儲存的值確實被封裝並能正確解開。如果資料庫無法用已儲存的金鑰解密,Lucent 會把它擱置到一旁而不是刪除,並明確告知你,以便你從備份復原。
Android 上的桌面小工具會在啟動器上顯示筆記標題或任務標題。凡是小工具顯示的內容,能看到那塊螢幕的人都能看到。小工具是選用的,亦可隨時移除。
預設情況下,什麼都不會。筆記、任務、提醒、歷史、附件、本機搜尋和本機助手都不需要連網。
具體來說,Lucent 不包含統計分析 SDK、廣告 SDK、當機回報服務和追蹤識別碼。它沒有帳號體系,亦不會向任何地方發送裝置指紋。當機防護罩在你開啟後,只會把擷取到的錯誤寫入裝置上的本機記錄檔,不會上傳。診斷記錄同理:預設關閉,只在本機寫入,只有你主動匯出並選擇分享時才會離開裝置。
由於 Lucent 沒有伺服器,開發者既無法讀取你的資料,亦無法替你復原資料。
下面每一項都是選用的、預設關閉的,並且由你掌控。啟用其中任何一項時,資料都是從應用程式直接發往你設定的第三方,不經過任何 Lucent 服務——因為並不存在這樣的服務。
雲端模式下的助手使用你自己提供的 API 金鑰和你自己選擇的服務商。Lucent 能使用 OpenAI 相容、Anthropic 相容和 Google 相容的請求格式;任何 OpenAI 相容端點都可以,包括 DeepSeek 和自建閘道。你可以儲存多個服務商設定並隨時切換。
你發送訊息時,Lucent 會從你的裝置向設定的 Base URL 發出 HTTPS 請求,其中包含:
你的 API 金鑰會作為該請求的身分驗證標頭發往這家服務商,不會發往其他任何地方。服務商如何處理收到的文字,請閱讀它自己的隱私政策;那屬於你和該服務商之間的約定,Lucent 既看不到亦無法控制。
助手不會悄悄改動你的資料。在寫入任何內容之前,它會先展示打算做什麼,而且這個確認步驟預設開啟。工具是選用的:本機模型有自己的工具開關,雲端助手的工具權限亦可關閉。任何一個關掉之後,模型仍然可以對話,但無法讀取或修改你的筆記與任務。
網路搜尋預設關閉。當你開啟它、且助手判斷需要搜尋時,Lucent 會把搜尋關鍵字發送到公開的搜尋引擎。引擎由你選擇,亦可保持「自動」:自動會依序嘗試,直到有一個傳回結果——Bing、DuckDuckGo、Google、Brave、Mojeek、Yandex、Baidu、Sogou、360 搜尋,以及 Wikipedia 搜尋 API。全程不使用搜尋 API 金鑰,亦不需要帳號。關鍵字會離開你的裝置,傳回的結果會交給助手並納入回答。給出結果的那個引擎能看到關鍵字和你的 IP 位址。網路搜尋需要開啟 Agent 模式;在本機模型上還需要開啟工具開關;隱跡模式會完全阻斷它。
Lucent 的語意搜尋跟隨你正在使用的助手,無需額外選擇。使用本機模型時,索引全部留在裝置上,但在目前建置中尚未實作,因此不會有任何內容離開裝置。使用雲端模型時,為了產生每個向量,被索引的文字會發送到你設定的 AI 服務商的 embeddings 介面,也就是說筆記文字會離開裝置。切換兩種模型,行為亦隨之切換。
雲端備份預設關閉。開啟後,你需要填寫自己已有的 WebDAV 相容服務的位址、使用者名稱和密碼,例如 Nextcloud、Koofr、堅果雲,或任何其他 WebDAV 伺服器。Lucent 會把 .lcb 備份檔案上傳到你指定的資料夾,亦可列出並下載它們以進行還原。檔案在上傳前已經加密;服務商保存到的是加密檔案,而你填寫的憑據會發送給該服務用於身分驗證。自動上傳是另一個開關,同樣預設關閉。
自動檢查更新預設關閉。當你開啟它,或主動讓 Lucent 檢查時,應用程式會向本儲存庫公開的 GitHub releases API 請求最新版本資訊並比較版本號。該請求除了一次 HTTPS 請求本身攜帶的內容(例如你的 IP 位址和標註為 Lucent 的 User-Agent)之外,不包含任何個人資訊。如果有更新的版本,Lucent 會提示你;只有在你選擇更新時,才會從 GitHub 下載 APK 或安裝程式。
Lucent 不會自行向外發送內容。有兩個功能會把資料交給其他應用程式,而它們都由你控制:
如果你匯入 GGUF 模型,助手就可以用 llama.cpp 直接在裝置上執行它。這種模式下不會向任何地方發送內容:產生回覆不涉及帳號、API 金鑰或網路請求。模型檔案留在你的裝置上,離開應用程式時模型會被卸載。本機工具是獨立開關,預設關閉。GPU 加速是選用項目,亦可關閉。
除筆記與任務之外,你還可以給助手一套真正的工具箱:一個可以讀寫的工作區資料夾、終端機指令、文件處理、外掛程式,以及對外部服務的連線。每一項都在「設定 → 進階 → 工具箱」裡單獨開關,凡是會離開裝置的能力,只有在你打開開關、並且預設情況下先徵得你同意之後才會動作。
備份是你自己建立的單個 .lcb 檔案。它可以包含筆記、任務、版本歷史、筆記本、對話、附件、設定和 API 金鑰,並可選地包含匯入的字型和本機模型檔案。包含哪些內容、寫到哪個位置,都由你決定。
每個 .lcb 檔案都經過加密,有兩種模式:
帶密碼的備份可以附加一個安全問題和答案,以便日後找回密碼。該選項預設關閉,並且它會讓備份的強度只等於密碼和答案中較弱的那一個,所以要選一個答案只有你自己知道的問題。
自動備份在你啟用後,會寫入你選擇的資料夾,按你設定的數量保留複本,亦可同時上傳到你設定的 WebDAV 資料夾。無論哪種情況,備份檔案都是同一個加密容器。備份檔案放在哪裡、留幾份,完全由你決定;刪除它們同樣由你決定。
Lucent 的特權 shell 整合是選用項目,預設關閉,並且需要 Lucent 之外的程式和授權。
在 Android 上,當你安裝 Shizuku、啟動其服務並在系統中向 Lucent 授予權限後,應用程式可以透過 Shizuku 執行特權操作。它的用途是完成你明確要求的、普通應用程式自己做不到的事情,例如安裝你下載的應用程式更新。Lucent 無法自行啟動 Shizuku,亦無法給自己授權;除非你啟用了該整合並授予了權限,它不會透過這條路徑做任何事。你可以隨時在 Shizuku 或 Android 設定中撤銷權限,亦可在 Lucent 裡關閉該整合。應用程式會顯示實際獲得的 uid,以便你確認所取得的是何種身分。
Lucent 還宣告了所需的普通 Android 權限,每項都有明確用途,見第 8 節。
| 權限 | Lucent 為什麼需要它 |
|---|---|
網路存取(Android INTERNET) | 向你設定的助手服務商發送訊息、在你開啟後執行網路搜尋、在你開啟後上傳 WebDAV 備份,以及在你開啟後檢查更新。上述任何一項沒有啟用時,不會有資料被送出。 |
通知(Android POST_NOTIFICATIONS) | 顯示任務提醒,以及你啟動的下載、備份或生成任務的進度。 |
精確鬧鐘(Android SCHEDULE_EXACT_ALARM) | 讓任務提醒在你設定的時間觸發,而不是大約在那個時間。 |
開機啟動(Android RECEIVE_BOOT_COMPLETED) | 裝置重啟後重新註冊提醒,使明天到期的提醒能挺過一次重啟。 |
前台服務(Android FOREGROUND_SERVICE、FOREGROUND_SERVICE_DATA_SYNC) | 在應用程式不處於前台時繼續完成備份、下載或模型生成,避免中途被系統終止。 |
生物辨識解鎖(Android USE_BIOMETRIC;Windows 上為 Windows Hello) | 讓你有指紋或面容解鎖應用程式,而不必每次輸入應用程式鎖密碼。選用、預設關閉,且只用於本機解鎖。 |
震動(Android VIBRATE) | 輸入觸感和觸覺回饋。 |
安裝應用程式套件(Android REQUEST_INSTALL_PACKAGES) | 透過系統安裝程式安裝你選擇下載的更新。 |
Shizuku 服務權限(Android moe.shizuku.manager.permission.API_V23) | 第 7 節所述的選用特權整合。宣告它只是為了讓 Shizuku 能夠運作;除非你安裝 Shizuku 並授予權限,它不產生任何效果。 |
Lucent 不申請對檔案或儲存空間的廣泛存取權限。檔案和資料夾都由你透過系統自帶的檔案選擇器挑選,Lucent 只會拿到你選中的那一個項目。字型和模型檔案亦是如此:由你挑選,然後複製進應用程式自己的儲存空間中。
在 Lucent 裡,隱私是一組開關,全部由你掌握,亦全部位於設定中。主要包括:
Lucent 會一直把你的資料保存在裝置上,直到你刪除它。刪除的筆記和任務會先進入垃圾桶,除非你提前清空垃圾桶或清除全部資料,否則 30 天後會被永久移除。版本歷史只在對應的歷史開關開啟期間保留,並會隨所屬的筆記或任務一起移除。
要刪除全部內容:
有三樣東西在 Lucent 的能力範圍之外,應用程式無法替你刪除:
如果這些也要一併清除,請刪除相應檔案,並使用服務商提供的刪除功能。
Lucent 是一款通用的筆記與任務應用程式,並非面向兒童,亦無帳號體系、廣告和社群功能。開發者不從任何人(包括兒童)收集個人資訊。應用程式的資料始終留在使用者自己的裝置上。
如果未來的 Lucent 版本改變了資料處理方式,本政策會隨之更新,頂部的日期亦會變更。實質性變更——即影響哪些資料會離開你裝置的變更——會在引入該變更的版本更新說明中寫明。對你適用的政策版本,就是你正在執行的 Lucent 所附帶的那一版,它的歷史記錄可以在儲存庫的提交歷史中查到。
關於 Lucent 隱私方面的問題、更正和建議,可發送至 yuan47578@gmail.com。
開發者:Jessica Martinez
Copyright © 2026-2027 Jessica Martinez。