隐私

结构性的,
不是许诺的

许诺隐私,谁都会。Lucent 的做法是让侵犯隐私变成一件费力的事——架构里根本就没有给你的数据准备出口。

在你导出、或让模型看之前,没有任何东西离开设备。这是简短版本;完整政策请通过下方按钮阅读,代码也这么认为。

01 — 静态加密

数据库穿着盔甲

你的笔记住在 SQLCipher 加密数据库里,附件逐个上锁。最烫的两条路——PBKDF2 密钥派生与 AES-256-GCM——用 Rust 经 JNI 跑,另有完全一致的 Kotlin 兜底,应用永远不会被一个原生库绑架。拿到你解锁的手机是一回事;拿到你的文件的人,得到的只是一堆噪声。

02 — 应用锁

会数数的锁

这是真正的暴力破解策略,不是一句客气的请求:逐级延长的冷却、重启也清不掉的计数器,可选的安全问题,可选的自毁——指纹(Android)与 Windows Hello 在整个冷却期内礼貌地告假。猜错太多次,应用真的会停止谈判。

03 — 随身备份

一个文件,揣进口袋,设上密码。

备份是单个 .lcb 文件,带着笔记、任务、历史、对话、附件和设置跨设备走——恢复前可预览,可定时自动跑,并能设密码。没人能读的备份是纪念品不是备份,所以它出去读一遍,回来再读一遍。

04 — 默认关闭

连"先问你一句"都省了

分享菜单集成:关。诊断:关,开了也只存本地。你接的助手服务全凭你自己选。云同步是你自己配的模块,走 WebDAV——你的服务器,你的规矩。这个应用里没有任何"默认开启、藏在三级菜单里让你关"的东西。

05 — 你的模型,你的数据

助手只看你给它看的

云端模型看到的,恰好是你摆在它面前的东西——没有任何后台同步、索引或"改进"。想当彻底的隐士?在本地跑一个 .gguf,网络可以一直关着。加密唯一的例外是导出为 Markdown、Word、PDF 或 Excel——那是一份你在别处也能打开的文件,这正是导出的意义。

完整政策

Lucent 隐私政策

Lucent 是一款面向 Android 与 Windows 的笔记与任务应用。本政策说明这款应用会在本机保存什么、会把什么发送到设备之外,以及你如何控制这两件事。这里描述的是本仓库中构建出的 Lucent 本身。

最后更新:2026 年 9 月 25 日

1. 概要

  • Lucent 没有账号、没有注册,也没有由开发者运营的服务器。开发者没有任何途径可以拿到你的笔记、任务、文件或使用情况。
  • 笔记、任务、笔记本、清单、版本历史、助手对话、附件、API 密钥和各项设置都保存在你的设备上,并且静态加密。
  • 应用内没有统计分析、没有广告,也没有遥测。
  • 所有需要联网的功能都是可选的,并且默认关闭:云端助手、网络搜索、语义搜索、云端备份和自动检查更新。
  • 当你使用云端助手时,消息会从你的设备直接发往你所填 API 密钥对应的服务商,不经过 Lucent。
  • 可选的本地模型完全在你的设备上作答,不会向任何地方发送内容。

下文逐条展开这些说明,也包括它们的边界。

2. 本政策的来源

Lucent 由 Jessica Martinez 开发。关于本政策或应用数据处理方式的问题,可发送至 yuan47578@gmail.com。

Lucent 是以 MIT 许可证发布的自由软件。开发者不运营任何收集或存储用户数据的服务,本应用也没有服务端组件。

3. Lucent 会在你的设备上保存什么

你在 Lucent 里创建的一切都存放在设备上应用自己的私有存储区中。该存储区对其他普通应用不可读,卸载应用或清除应用数据时会一并删除。

保存的内容包括:

  • 笔记,包括正文、格式、标签、颜色、置顶与归档状态、清单、涂鸦、链接和版本历史;
  • 任务,包括子任务、优先级、截止时间、重复规则、提醒、备注和版本历史;
  • 笔记本及其归档的项目;
  • 助手对话与消息,包括模型返回的思考过程;
  • 你添加到笔记或任务中的附件,以及你发给助手的附件;
  • 你导入的字体和本地模型文件;
  • 设置,包括你选择的服务商、Base URL、模型名称、API 密钥、备份密码、应用锁凭据和云端备份凭据;
  • 诊断日志——前提是你已经开启诊断日志。

3.1 静态加密

数据库由 SQLCipher 加密。在 Android 上,应用通过 Room 搭配 SQLCipher 使用数据库;在 Windows 上,则通过随应用附带的 JDBC 驱动,以 SQLCipher 加密方式和同样类型的 256 位密钥访问 SQLite。笔记、任务、对话、历史与设置都在这个数据库里。

附件单独加密。每个文件在写入磁盘之前,都会放进一个带认证的 AES-256-GCM 容器,按 64 KiB 分块处理。磁盘上的文件名是随机标识符,而不是你在应用里看到的名字。

备份同样始终加密,见第 6 节。

3.2 密钥与机密信息

数据库密钥和附件密钥都是在你的设备上随机生成的 256 位值。它们不来自你输入的任何内容,也不会以明文写入磁盘。在 Android 上,它们由 Android Keystore 中的密钥包裹保护——设备支持时该密钥由硬件保护;Keystore 不可用时则退回本机加密方案。每把密钥都会保留一份恢复副本,以免 Keystore 出问题就损毁你的数据。

API 密钥、WebDAV 密码、备份密码和应用锁凭据都经过同一条加密路径保存,不是明文。应用锁的密码和安全问题答案则完全不保存:只保留加盐哈希,无法从哈希还原出密码本身。

3.3 加密能做什么,不能做什么

这里的加密保护的是静态数据:一份被带离设备的数据库、附件文件或备份,没有密钥就无法读取。它不能防范有人拿着已解锁的设备、以你的系统账号直接使用;也无法保护应用打开期间的数据——内容正在显示或编辑时,解密后的文本必然存在于设备内存中。

Lucent 不会在这件事上含糊。如果加密库无法加载,或者某个数据库无法加密、无法解锁,应用会记录并如实报告,而不是假装一切正常;设置里提供了加密检查,用于确认存储的值确实被封装并能正确解开。如果数据库无法用已保存的密钥解密,Lucent 会把它搁置到一旁而不是删除,并明确告知你,以便你从备份恢复。

Android 上的桌面小组件会在启动器上显示笔记标题或任务标题。凡是小组件显示的内容,能看到那块屏幕的人都能看到。小组件是可选的,也可以随时移除。

4. 什么永远不会离开你的设备

默认情况下,什么都不会。笔记、任务、提醒、历史、附件、本地搜索和本地助手都不需要联网。

具体来说,Lucent 不包含统计分析 SDK、广告 SDK、崩溃上报服务和追踪标识符。它没有账号体系,也不会向任何地方发送设备指纹。崩溃护盾在你开启后,只会把捕获到的错误写入设备上的本地日志文件,不会上传。诊断日志同理:默认关闭,只在本地写入,只有你主动导出并选择分享时才会离开设备。

由于 Lucent 没有服务器,开发者既无法读取你的数据,也无法替你恢复数据。

5. 什么情况下数据会离开设备

下面每一项都是可选的、默认关闭的,并且由你掌控。启用其中任何一项时,数据都是从应用直接发往你配置的第三方,不经过任何 Lucent 服务——因为并不存在这样的服务。

5.1 云端助手(自带 API 密钥)

云端模式下的助手使用你自己提供的 API 密钥和你自己选择的服务商。Lucent 能使用 OpenAI 兼容、Anthropic 兼容和 Google 兼容的请求格式;任何 OpenAI 兼容地址都可以,包括 DeepSeek 和自建网关。你可以保存多个服务商配置并随时切换。

你发送消息时,Lucent 会从你的设备向配置的 Base URL 发出 HTTPS 请求,其中包含:

  • 你的消息文本;
  • 当前记忆档位所包含的历史对话;
  • 定义助手行为的系统指令;
  • 你随消息附上的文件;
  • 助手为作答所需的笔记、任务、笔记本或搜索上下文,以及助手被允许调用的工具返回的结果。

你的 API 密钥会作为该请求的身份验证头发往这家服务商,不会发往其他任何地方。服务商如何处理收到的文本,请阅读它自己的隐私政策;那属于你和该服务商之间的约定,Lucent 既看不到也无法控制。

助手不会悄悄改动你的数据。在写入任何内容之前,它会先展示打算做什么,而且这个确认步骤默认开启。工具是可选的:本地模型有自己的工具开关,云端助手的工具权限也可以关闭。任何一个关掉之后,模型仍然可以对话,但无法读取或修改你的笔记与任务。

5.2 网络搜索

网络搜索默认关闭。当你开启它、且助手判断需要搜索时,Lucent 会把搜索关键词发送到公开的搜索引擎。引擎由你选择,也可以保持“自动”:自动会依次尝试,直到有一个返回结果——Bing、DuckDuckGo、Google、Brave、Mojeek、Yandex、百度、搜狗、360 搜索,以及 Wikipedia 搜索 API。全程不使用搜索 API 密钥,也不需要账号。关键词会离开你的设备,返回的结果会交给助手并纳入回答。给出结果的那个引擎能看到关键词和你的 IP 地址。网络搜索需要开启 Agent 模式;在本地模型上还需要开启工具开关;隐迹模式会完全阻断它。

5.3 语义搜索

Lucent 的语义搜索跟随你正在使用的助手,无需额外选择。使用本地模型时,索引全部留在设备上,但在当前构建中尚未实现,因此不会有任何内容离开设备。使用云端模型时,为了生成每个向量,被索引的文本会发送到你配置的 AI 服务商的 embeddings 接口,也就是说笔记文本会离开设备。切换两种模型,行为也随之切换。

5.4 云端备份

云端备份默认关闭。开启后,你需要填写自己已有的 WebDAV 兼容服务的地址、用户名和密码,例如坚果云、Nextcloud、Koofr,或任何其他 WebDAV 服务器。Lucent 会把 .lcb 备份文件上传到你指定的文件夹,也可以列出并下载它们以进行恢复。文件在上传前已经加密;服务商保存到的是加密文件,而你填写的凭据会发送给该服务用于身份验证。自动上传是另一个开关,同样默认关闭。

5.5 检查更新

自动检查更新默认关闭。当你开启它,或主动让 Lucent 检查时,应用会向本仓库公开的 GitHub releases API 请求最新版本信息并比较版本号。该请求除了一次 HTTPS 请求本身携带的内容(例如你的 IP 地址和标注为 Lucent 的 User-Agent)之外,不包含任何个人信息。如果有更新的版本,Lucent 会提示你;只有在你选择更新时,才会从 GitHub 下载 APK 或安装程序。

5.6 分享与导出

Lucent 不会自行向外发送内容。有两个功能会把数据交给其他应用,而它们都由你控制:

  • 导出。 把笔记或任务导出为 Markdown、Word、PDF 或 Excel,或导出备份,都会写出一个由你选择位置的文件。导出的文档刻意不做加密,因为导出的意义就是在别处打开;任何拿到该文件的人都能读到内容。请把它放在你认为合适的地方。
  • 分享面板集成。 让 Lucent 成为分享目标是默认关闭的。开启后,Lucent 会出现在其他应用的分享面板中,你可以把文本和文件分享进来,它也会作为分享目标出现在系统分享面板里。分享进来的内容和其他所有内容一样,存进同一个加密数据库。Lucent 依然不会自行向外发送任何东西。

5.7 本地模型

如果你导入 GGUF 模型,助手就可以用 llama.cpp 直接在设备上运行它。这种模式下不会向任何地方发送内容:生成回复不涉及账号、API 密钥或网络请求。模型文件留在你的设备上,离开应用时模型会被卸载。本地工具是独立开关,默认关闭。GPU 加速是可选项,也可以关闭。

5.8 工具箱

除笔记与任务之外,你还可以给助手一套真正的工具箱:一个可以读写的工作区文件夹、终端命令、 文档处理、插件,以及对外部服务的连接。每一项都在「设置 → 高级 → 工具箱」里单独开关,凡是会离开 设备的能力,只有在你打开开关、并且默认情况下先征得你同意之后才会动作。

  • 工作区。 由你指定一个文件夹,助手读取和写入的一切都在其中。除非你允许「工作区之外」权限, 否则工作区以外的文件一律拒绝读取,且永远无法写入。
  • 命令。 运行终端命令默认需要你确认。命令在本机执行,工作目录限定在工作区内,超时时间由你 设定,每一条都会写入操作记录。
  • 文档。 Word、Excel、PowerPoint 文件全部由 Lucent 自己的代码在本机生成和读取,任何一步都 不会上传到服务器转换。
  • 插件。 可选工具(Linux 环境、带文档库的 Python、LibreOffice、Node.js、媒体与 OCR 工具) 只在你主动下载时,从项目官方地址或公共镜像直接下载到你的存储中。Lucent 不会就此发送任何 遥测数据。
  • 连接。 GitHub、Notion、Slack、Google Drive、OneDrive、GitLab、Jira、Linear、WebDAV 以及 你添加的任何 MCP 服务器,都由本机使用你提供的令牌直接访问。只发送你要求的那次请求,只发往 你配置的服务;中间没有 Lucent 的服务器,令牌在设备上加密保存。
  • 令牌与特权终端。 GitHub 访问令牌加密保存,保存后不再回显;最多可以保存五个。安卓上「给予助手 Shizuku 权限」是一个独立开关,默认关闭,只有打开后命令才可能以该权限运行。
  • 子代理报告。 由你手动保存的子代理报告,会写成 Markdown 文件放进工作区的 sub-agents 文件夹, 只留在你的设备上。
  • 设备控制(安卓)。 在你打开该功能并启用无障碍服务后,助手可以读屏、点击、输入、截图、 列出并打开应用、读取通知,以及使用剪贴板和传感器。读屏在设备上进行;只有当包含屏幕内容的 工具结果被发往你选择的模型服务商时才会离开设备,这与发送任何一条消息走的是同一条通道。
  • 留在本地的内容。 工作区、改动前保存的快照、操作记录、记住的事实和技能文件都留在你的设备 上。操作记录包含工具名称、参数(截断到 300 字符)和结果,加密保存,随时可在同一设置页清除。

6. 备份

备份是你自己创建的单个 .lcb 文件。它可以包含笔记、任务、版本历史、笔记本、对话、附件、设置和 API 密钥,并可选地包含导入的字体和本地模型文件。包含哪些内容、写到哪个位置,都由你决定。

每个 .lcb 文件都经过加密,有两种模式:

  • 不设密码。 文件用应用内置密钥加密,只要有 Lucent 和这个文件,任何设备都能恢复。这很方便,也意味着任何同时拿到文件和一份应用副本的人都能读取它。
  • 设置密码。 密钥通过 PBKDF2-HMAC-SHA256 迭代 210,000 次从你的密码派生,除此之外不存在于任何地方。这种方式更安全,代价也照旧:恢复时必须输入同一个密码,它不被保存到任何地方,忘了密码也没有任何人能找回,包括开发者。

带密码的备份可以附加一个安全问题和答案,以便日后找回密码。该选项默认关闭,并且它会让备份的强度只等于密码和答案中较弱的那一个,所以要选一个答案只有你自己知道的问题。

自动备份在你启用后,会写入你选择的文件夹,按你设定的数量保留副本,也可以同时上传到你配置的 WebDAV 文件夹。无论哪种情况,备份文件都是同一个加密容器。备份文件放在哪里、留几份,完全由你决定;删除它们同样由你决定。

7. 设备集成

Lucent 的特权 shell 集成是可选项,默认关闭,并且需要 Lucent 之外的程序和授权。

在 Android 上,当你安装 Shizuku、启动其服务并在系统中向 Lucent 授予权限后,应用可以通过 Shizuku 执行特权操作。它的用途是完成你明确要求的、普通应用自己做不到的事情,例如安装你下载的应用更新。Lucent 无法自行启动 Shizuku,也无法给自己授权;除非你启用了该集成并授予了权限,它不会通过这条路径做任何事。你可以随时在 Shizuku 或 Android 设置中撤销权限,也可以在 Lucent 里关闭该集成。应用会显示实际获得的 uid,以便你确认所取得的是何种身份。

Lucent 还声明了所需的普通 Android 权限,每项都有明确用途,见第 8 节。

8. Lucent 申请的权限

权限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 只会拿到你选中的那一个项目。字体和模型文件也是如此:由你挑选,然后复制进应用自己的存储区。

9. 你手中的控制项

在 Lucent 里,隐私是一组开关,全部由你掌握,也全部位于设置中。主要包括:

  • 应用锁。 设置 → 安全。设定一个密码,并可选地设定一个安全问题,以便忘记密码时重设。存储的只有加盐哈希。
  • 解锁尝试次数限制。 与应用锁在同一页。可设定第一轮和之后每轮允许的尝试次数;失败会触发逐级延长的冷却时间,并且跨重启保留。
  • 连续失败后清除数据。 同样在应用锁一页,默认关闭。在你设定的错误密码次数之后,一切都会被清除。这是永久性的,任何人都无法撤销。
  • 生物识别解锁。 可选,默认关闭。
  • 隐迹模式。 设置 → 隐私。开启期间,任何数据都不会离开设备:云端助手、网络搜索和联网功能被阻断,云端相关界面被冻结,应用从最近任务列表中隐藏且无法截屏,分享目标被移除,每次返回都需要输入密码。它优先于其他所有设置;关闭后会恢复你之前的设置。
  • 诊断日志。 设置 → 隐私,默认关闭且需要你明确同意。它只在本地写入,可能包含你输入给助手的文字,你可以导出,也可以随时清除并关闭。崩溃护盾开启时会把它锁定为开启,以保证被捕获的错误有记录。
  • 崩溃护盾。 设置 → 隐私,默认关闭。它拦截应用内部的错误,使应用保持打开而不是直接退出,并把错误记录在本地。它也明确写出拦不住的情况:本地模型引擎内部的崩溃、系统为释放内存而关闭应用,以及系统因应用无响应而将其终止。
  • 系统集成。 设置 → 隐私,默认关闭。控制 Lucent 是否可以出现在其他应用的分享面板中。
  • 版本历史。 设置 → 隐私。笔记历史和任务历史可以分别关闭,关闭后不再保留新的快照。
  • 助手服务商与记忆。 设置 → 助手,再进入云端模型或本地模型。选择服务商,或导入并使用完全不需要网络的本地模型。两个模型各自保存自己的记忆档位,它决定每次请求包含多少历史对话;档位越低,离开设备的文本越少。
  • 网络搜索。 设置 → 助手 → 个性化。一个开关,默认关闭,旁边选择搜索引擎。当本地模型未开启 Agent 模式时它会隐藏(那时没有东西能用它),之后会原样恢复。
  • 语义搜索。 设置 → 助手。它跟随当前使用的模型:本地模型把索引留在设备上,云端模型会把文本发送给你的服务商。切换模型即切换行为,也可以干脆不用助手。
  • 备份内容与密码。 设置 → 数据。选择备份包含哪些内容,以及是否用密码保护。自动备份、它的文件夹、间隔和保留份数都由你设定,默认关闭。
  • 云端备份。 设置 → 数据,默认关闭。你可以随时填写或清除 WebDAV 凭据。
  • 加密检查。 设置 → 安全。按需确认存储的值确实被封装并能正确解开。
  • 清除全部数据。 设置 → 数据,见第 10 节。

10. 保留与删除

Lucent 会一直把你的数据保存在设备上,直到你删除它。删除的笔记和任务会先进入回收站,除非你提前清空回收站或清除全部数据,否则 30 天后会被永久移除。版本历史只在对应的历史开关开启期间保留,并会随所属的笔记或任务一起移除。

要删除全部内容:

  • 设置 → 数据 → 清除全部数据 会删除所有笔记、任务和对话,移除附件,清除历史,重置包括 API 密钥在内的全部设置,删除导入的模型和字体,清除本地诊断日志并关闭日志记录,同时清空应用缓存。此操作无法撤销。此外还有只清除笔记、只清除任务或只清除聊天记录的分项控制。
  • 在 Android 或 Windows 的系统设置中清除应用数据,会以同样方式移除应用的存储内容。
  • 卸载 Lucent 会移除应用及其私有存储。

有三样东西在 Lucent 的能力范围之外,应用无法替你删除:

  • 你导出到某个文件夹、另一台设备或云服务上的备份文件;
  • 已经上传到你 WebDAV 服务的备份;
  • 你通过助手发送给 AI 服务商的内容,或提交给搜索服务的内容——这些适用该服务商自己的保留政策。

如果这些也要一并清除,请删除相应文件,并使用服务商提供的删除功能。

11. 儿童

Lucent 是一款通用的笔记与任务应用,并非面向儿童,也没有账号体系、广告和社交功能。开发者不从任何人(包括儿童)收集个人信息。应用的数据始终留在使用者自己的设备上。

12. 本政策的变更

如果未来的 Lucent 版本改变了数据处理方式,本政策会随之更新,顶部的日期也会变更。实质性变更——即影响哪些数据会离开你设备的变更——会在引入该变更的版本更新说明中写明。对你适用的政策版本,就是你正在运行的 Lucent 所附带的那一版,它的历史记录可以在仓库的提交历史中查到。

13. 联系方式

关于 Lucent 隐私方面的问题、更正和建议,可发送至 yuan47578@gmail.com。


开发者:Jessica Martinez

Copyright © 2026-2027 Jessica Martinez。