Markleaf 隐私政策
最后更新:2026 年 5 月 26 日 · 适用于 Markleaf Android v2.x
核心原则
Markleaf 是一款本地优先的 Markdown 笔记应用。它不运行任何自有服务器,也绝不会把笔记、标签、附件或元数据上传到任何外部服务器。通过 F-Droid 和 Google Play 分发的版本完全没有 android.permission.INTERNET 权限;GitHub Releases 上的侧载版本仅为下文 网络 所述的唯一用途声明该权限。
Markleaf 不收集的信息
- 姓名、电子邮件、通讯录、位置
- 账户或登录信息
- 笔记正文、标题、标签、附加图片、文件名、元数据
- 使用统计、遥测数据、分析事件、广告标识符
- 崩溃报告或设备标识符
应用中也不包含分析、广告、跟踪、远程配置、Firebase 或闭源的崩溃报告 SDK。
网络
这取决于你从哪里获取应用。无论哪一种,你的笔记数据都不会被发送。
- F-Droid、Google Play — 没有
android.permission.INTERNET权限,也完全没有任何网络活动。 - GitHub Releases(侧载) — 声明两个权限:一个用于更新检查,一个用于安装你选择下载的更新。除非你开启检查,否则两者都不会运行。
F-Droid / Google Play INTERNET:无 · REQUEST_INSTALL_PACKAGES:无 GitHub Releases INTERNET:更新检查 · REQUEST_INSTALL_PACKAGES:核对 SHA-256 后安装
侧载版本的更新检查
- 默认关闭。 在设置中亲手开启之前,什么都不会发生。
- 开启后每天一次,对一个描述最新发布版本的静态 JSON 文件发起一次 GET。检查失败会被静默忽略。
- 在更新对话框中点按下载并安装,会触发应用唯一的另一种网络请求 — 对更新文件本身发起 GET。和检查一样,只有你主动要求时才会发生。
- 下载完成后,应用会将文件与该 JSON 中的 SHA-256 比对。如果不一致,文件会被删除,也不会开始安装。
- 只有通过校验的文件才会交给 Android 自带的
PackageInstaller。随后出现的安装确认界面由 Android 本身绘制,而非 Markleaf。此步骤需要REQUEST_INSTALL_PACKAGES权限;如果尚未授权,应用会先引导你前往设置。 - 如果下载或校验失败,你可以重试,或者像以前一样改用浏览器打开。
- 请求只携带该 URL 和标准 HTTP 头。没有查询字符串,没有 Cookie,没有账户。
- 笔记正文、标题、标签、附件、文件名、元数据、设备标识符和使用记录都不会被发送。 这一点在任何版本、这些请求中的任何一个上都没有例外。
- 应用市场版本既没有该权限也没有相关代码 — 不是被禁用,而是根本没有编入。
数据存储位置
- 笔记正文、标题与标签索引存储在应用内部的 Room 数据库中。
- 用户设置存储在 DataStore 中。
- 附加的图片会复制到应用的内部存储,保存时会剥离敏感的 EXIF 元数据。
Android 系统备份策略
Markleaf 设置了 android:allowBackup="false",将应用数据排除在 Android 自动备份和设备间迁移之外。如果你需要更换新设备或在多台设备上使用,请自行选择 Markdown 导出、分享或 SAF 文件夹镜像。
由用户发起的数据移动
以下操作只有在你亲自执行时才会发生,并且都会经过 Android 的明确权限对话框或由你做出的界面选择。
- 将单篇或全部笔记导出为 Markdown(
.md) - 通过 Android 系统分享面板分享笔记文本或文件
- 点击正文中的外部链接,交由系统或默认浏览器处理
- 复制到剪贴板
- 将 Markdown 文件镜像到你选择的 SAF 文件夹
SAF 文件夹是否会被 Drive、Dropbox、OneDrive、Syncthing 或 NAS 挂载等外部同步客户端同步,由那个外部应用负责。Markleaf 自身不执行该同步。
权限
Markleaf 声明的唯一运行时类权限是用于触感反馈的 android.permission.VIBRATE。任何版本都不声明位置、麦克风、摄像头、通讯录、通知、外部存储读取或媒体读取权限。android.permission.INTERNET 和 android.permission.REQUEST_INSTALL_PACKAGES 都不存在于 F-Droid 和 Google Play 版本中,仅出现在侧载版本中,用途是上文 网络 所述的更新检查与可选的安装。
联系方式
如有疑问或需要提交安全 / 隐私报告,请通过 GitHub Issues 与我们联系。