隐私

这个应用什么都不收集

最后更新于 2026 年 9 月 3 日 · 适用于 FoldRender Android 应用(dev.foldrender.app)及本网站。

简短版

FoldRender 没有账号体系,没有分析统计,我们也不会收到任何关于你的个人数据。但「什么都不会离开你的设备」这句话并不成立 —— 向 git 远端 push 就是把你的文件上传到那个远端,push 本来就是这个意思。成立的是:除非你主动发起,否则什么都不会离开。会离开的场景有三个:你登录、clone、pull 或 push 时发往 GitHub;一键登录时短暂经过我们的登录中继;以及你主动要求读取某个仓库的生成文档、或就该仓库提问时发往 DeepWiki。以下逐条说明。唯一一件不需要你每次主动发起的事,是 Android 自身执行的备份:只要你开着它,它就会把应用数据复制到你的 Google 账户,而不是复制给我们;下面有专门的一节说明。

留在你设备上的

  • 你的文档和仓库。文件通过 Android 的存储访问框架读取,来自你亲自选定的文件夹;clone 下来的仓库写入应用自己的存储空间。应用从不主动把它们上传到任何地方 —— 唯一的例外是 git push,它会在你按下 push 的那一刻,把你的提交发往你自己配置的远端。
  • 阅读偏好 —— 主题、字号、最近打开的文件、上次打开的文件夹 —— 存放在应用私有存储中。
  • 文件是哪个应用给你的。当别的应用把一份文档交给 FoldRender —— 聊天应用、你的邮箱、系统文件管理器 —— 应用会判断出是哪一个,并把答案记在那份文件旁边,这样「别人发给你的东西」这个列表才会写明每一份的来处,而不是摆出一行你认不出来的记录。它是向 Android 询问一个已经装在你手机上的应用叫什么名字;它不向互联网询问任何东西,这个应用发出的任何请求里也都不包含这个答案。日积月累,它会变成一份「你都从哪些应用接收文档」的记录 —— 正因如此,它在这里被单独点名,而不是和字号并作一条。
  • 你的提交身份 —— 你为 git 填写的姓名和邮箱。它们留在设备上,并且会写进你的每一次提交,因此 push 时会随之到达远端。git 本来就是这样工作的,这也是为什么这两个字段由你自己填写,而不是我们去收集。
  • 你的 GitHub 用户名,登录后读取一次,用于显示当前登录者并标注提交。
  • 你的 GitHub 访问令牌(如果你登录)。它存放在应用私有存储中,用设备 keystore 里的密钥加密,且只用于与 GitHub 通信。退出登录会删除它,卸载应用同样会。
  • 你的 Devin API 密钥(如果你为读取私有仓库的 DeepWiki 而填写)。同样的存储、同样的 keystore,并且只会发送给 DeepWiki。

离开你设备的

  • GitHubgithub.comapi.github.com),仅在你登录、clone、pull 或 push 时。这些请求从你的手机直达 GitHub,适用 GitHub 的隐私声明
  • 我们的登录中继foldrender.dev/api/gh/),仅在一键登录 GitHub 期间。GitHub 要求用 client secret 才能把授权码换成令牌,而应用无法保管密钥,所以这一步交换发生在我们的服务器上。这意味着中继在完成那次交换的瞬间会看到你的 GitHub 访问令牌。它不保留任何东西:没有数据库,令牌也从不写入日志。我们的托管方(Vercel)会保留标准请求日志,其中会记录请求 URL,所以请把一次性授权码视为托管方可见 —— 令牌则不在其中。令牌是加密后回到你手机的,并绑定了一个从未离开设备的 nonce。如果你更希望完全不经过我们的服务器,请改用 Use a code(设备码登录) —— 设备码登录只与 GitHub 通信。
  • DeepWikimcp.deepwiki.com,若你填写了 Devin API 密钥,则为 mcp.devin.ai),仅在你主动要求读取某个仓库的生成文档、或就该仓库提问时。发送出去的是仓库名称,以及 —— 若你提了问题 —— 该问题的文字,措辞由你决定;并且,为了让追问说得通,还会带上同一段对话里最多三个更早的问题。不是你的代码,也不是你打开的任何内容。其处理方式适用 Devin 的隐私政策
  • 你的文件,在 git push 时 —— 发往你自己配置的远端,且只在你按下 push 时。没有任何东西会自动推送。
  • 文档自己指向的东西。一个带徽章的 README、一个图片或样式表放在服务器上的 HTML 页面 —— 打开时,这个应用会像任何阅读器那样去取它们,取自文档指名的那台主机。那次请求会把你的 IP 地址带给一台我们既没有选择、也看不到的主机,除此之外不会附加任何关于你的信息。一个不引用任何远程资源的文档,不会产生这样的请求。
  • 除此之外没有别的。应用中没有任何遥测、崩溃上报服务、广告 SDK 或第三方分析。

Android 自己的备份

就 FoldRender 而言,上一节里的所有内容都留在你的设备上:应用不会把其中任何一项发往任何地方。但 Android 本身是另一回事,这一页若不说明这点就会误导人。如果你开着备份 —— 大多数手机默认是开着的 —— 系统会把应用数据复制到你自己的 Google Drive,并在你设置新手机或迁移到新手机时把它恢复回来。它进的是你的 Google 账户,不是我们这里:我们既无法访问它,也没有它的副本。

FoldRender 有意把一些东西排除在那份副本之外。你的 GitHub 访问令牌、你的 Devin API 密钥和本地推送令牌都不在备份范围内 —— 正是这一点,才使退出登录能真正删除令牌,卸载应用同样能。你打开过的文件夹列表同样被排除,随之排除的还有每份文件来自哪个应用的记录:一份「你都从哪些应用接收文档」的清单,不该走后门进入你的云存储。你向 DeepWiki 问过的问题、以及你查阅过哪些仓库,也一并排除:一个问题,是一个人把也许还没做出来的东西,说出声来想了一遍。

仍然会被带走的,是你把阅读器调成的样子 —— 主题、字号、阅读宽度 —— 以及你上次打开的那份文档的地址,好让新手机能接着上一部停下的地方打开。应用保存的其余一切都留在它们产生的那台设备上:你的文件夹和最近打开的文件、你的 clone 及其 git 历史、你的提交身份、你的凭据,以及你问过的问题。如果你连这些也不希望被复制,可在 Android 自带的设置里关掉备份 —— Pixel 上在「系统」→「备份」,三星手机上在「账号与备份」→「Google Drive」。

局域网推送端点

FoldRender 可以开启一个小型 HTTP 端点,让同一局域网内的机器把文档直接送进阅读窗格。它默认关闭,只在你打开期间监听,需要设备上生成的令牌,并且只接收文档 —— 它从不把你的文件传出去。仅局域网内可达,公网无法访问。

权限

应用只申请一个 Android 权限 INTERNET,用于 git 操作和 GitHub 登录。对文件的访问来自你在系统选择器里亲自选定的文件夹,而不是存储权限。

它还声明了一条应用可见性(package visibility)过滤规则。那不是权限,也不授予任何东西:它只是让应用能够向 Android 询问某个「可以接收共享文件的应用」叫什么名字,这样聊天应用发给你的文档才能标上那个应用的名字,而不是标上一串需要你自己解读的标识符。它只匹配能够接收共享内容的应用;而那个能让应用看见你手机上所有已安装应用的笼统权限,本应用有意不去申请。

关于本网站

foldrender.dev 使用 Umami 来了解哪些页面被阅读——它只加载在首页和指南页上,不加载在本政策页面上。它记录页面浏览量,以及由 IP 地址推断的大致地区。它不设置任何 cookie,也不会给你一个能跨天保留的标识符,所以本站在你阅读之前不需要你同意任何东西。我们的 Umami 自托管在 DUOCODE TECHNOLOGY 位于 fluentdojo.com 的服务器上,因此这些页面浏览记录会离开 foldrender.dev。我们不会用其中任何数据构建广告画像,站点也不展示广告。托管在 Vercel,其服务器会保留标准请求日志。

在 2026 年 9 月之前,本站加载的是 Google Analytics 4,它会把客户端标识存放在 _ga cookie 中。它已被移除,本站不再加载它。

这些都与应用无关:FoldRender 本身依然不包含任何形式的分析统计。

儿童

FoldRender 是一款开发者工具,并非面向 13 岁以下儿童。由于我们完全不收集数据,我们不持有关于任何人的信息,儿童也不例外。

变更与联系方式

本政策由 FoldRender 的开发者 DUOCODE TECHNOLOGY(注册号 LA0087244-A,马来西亚)提供,同时也是马来西亚《2010 年个人数据保护法》第 7 条所要求的隐私声明。如有变更,更新后的版本会连同新日期发布在此。关于 FoldRender 隐私的问题可发送至 duocodetechu@gmail.com

本声明以英文、中文和马来文三种语言发布。若各版本之间存在差异,以英文版本为准。