跳过主要内容
全部文章
privacy

照片放进 OrganizePhotos 后会上传吗?

说明照片导入 OrganizePhotos 后保存在哪里, 哪些数据不会离开设备, 以及你可以怎样自行验证.

OrganizePhotos 上线后, 一位用户提出了这样的疑问.

一般都是做成手机应用或者电脑应用, 网页端代码随时可能更新, 隐私这一块不放心.

也有人把这种顾虑说得更具体.

安卓、iOS、Mac 端都有审核人员审核后才能上架, 而且手机端能设置相册权限, 或者仅允许应用读取部分图片.

手机和 PC 端也能关闭网络权限.

相比之下, 一个运行在网页中的照片工具如何证明自己没有上传照片, 的确需要说得更清楚.

这个疑问指向的不是“网页和应用谁天然更安全”, 而是用户能否知道 OrganizePhotos 访问了哪些照片、照片保存在哪里、整理时是否发出上传请求, 以及这些行为能不能自行验证. 现在, OrganizePhotos 的编辑器已经以 organizephotos 开源, 你可以查看负责导入、存储和整理的代码. 这篇文章就把照片进入 OrganizePhotos 之后的保存位置、处理方式和联网边界说明白.

先说结论

照片导入 OrganizePhotos 后, 仍然保存在你的设备上. OrganizePhotos 不会把你的照片上传到 OrganizePhotos 的服务器, 也不会把资源库同步到云端.

这里说的资源库包括照片文件、缩略图、文件夹、标签、排序和资源库索引. OrganizePhotos 的核心整理流程不需要这些内容离开你的设备. 编辑器的源代码和数据架构也已经公开, 你可以在 organizephotos 仓库 中检查这条边界.

这不等于整个网站永远不会联网. 网站需要发送页面、加载必要的代码, 账户、客服和统计等支持模块也可能产生各自的网络请求. 这些请求和你的照片资源库是两条不同的数据边界.

OrganizePhotos 本地数据流与服务器边界

照片实际保存在哪里

OrganizePhotos 提供两种本地资源库, 编辑器默认使用 IndexedDB, 也支持把资源库投影到你明确选择的本地目录.

当前设备的本地资源库

如果你直接把照片导入 OrganizePhotos, 图片和整理状态会保存在当前设备的本地资源库中. 这个资源库使用运行 OrganizePhotos 的浏览器提供的本地存储能力, 不会因为你打开了一个网页就自动进入 OrganizePhotos 的服务器.

你可以在 OrganizePhotos 中继续预览、搜索、筛选、添加标签、调整文件夹和整理图片. 这些操作读取的是设备上的本地数据.

你选择的本地文件夹

如果你选择一个本地文件夹作为资源库, 原始照片、缩略图、索引和每张图片的 metadata 文件会写入你选择的目录, 工作状态仍由浏览器本地数据库管理. 这适合希望自己管理文件、使用网盘同步目录, 或者需要在不同工具之间保留普通文件的人.

无论使用哪一种方式, 资源库的保存位置都由你掌握, 而不是由 OrganizePhotos 的云端账户掌握.

OrganizePhotos 如何完成整理

导入之后, OrganizePhotos 会在本地完成照片预览和资源库操作, 包括这些常用任务.

  • 按文件名、文件夹和标签查找照片.
  • 创建文件夹、子文件夹和标签.
  • 切换网格、列表、瀑布流和自适应展示方式.
  • 计算照片的颜色信息, 让资源库可以为后续的颜色筛选做准备.
  • 批量整理、移入回收站、恢复和导出照片.

这些任务不需要把照片发送给服务器, 也不需要先注册账户. 删除操作先进入回收站, 由你决定是否恢复或永久删除, OrganizePhotos 不会替你自动清空原文件.

编辑器已经开源

OrganizePhotos 的编辑器源码公开在 github.com/meetqy/organizephotos, 并以 organizephotos npm 包和 shadcn 源码的形式提供. 其中明确包含本地存储、目录投影、导入、导出、删除和恢复等实现, 编辑器没有远程存储适配器、服务器同步队列或公开链接服务.

开源让你可以检查实现, 也可以在自己的 React 项目中安装源码运行. 但它不会自动证明线上网站加载的每一行代码都与仓库相同, 所以仍然建议结合浏览器 Network 面板和断网测试, 不要只依赖一句隐私承诺.

OrganizePhotos 开源仓库与本地存储说明

OrganizePhotos 的服务器能看到什么

为了避免把“照片不上传”误解成“网站完全没有网络请求”, 这里把边界拆开说明.

OrganizePhotos 的服务器可能需要处理网站页面、静态资源和必要的产品请求. 如果你主动使用登录、头像、账单、客服或其他账户功能, 这些支持模块会按照各自的功能处理你提交的信息.

但首页照片资源库不会把下面这些内容发送给 OrganizePhotos 的服务器.

  • 照片原文件.
  • 照片缩略图和预览数据.
  • 文件夹名称、标签和排序状态.
  • 资源库索引以及你对照片做过的整理记录.

统计或客服工具可能知道页面被访问, 或收到设备和使用情况等基础信息, 但它们不需要也不应该接收照片内容. 如果未来增加需要上传文件的功能, 它也应该明确告诉你上传对象、目的和处理范围, 而不是在整理流程中悄悄完成.

网页代码会更新, 这意味着什么

网页应用的代码确实可能随着网站更新而变化. 现在编辑器已经开源, 你可以查看本地处理和持久化的实现, 也可以安装公开的 npm 包或 shadcn 源码. 这提高了可审计性, 但线上部署仍可能使用不同的版本, 因此开源不是对所有运行时行为的绝对保证.

真正重要的是当前资源库的数据流是否清楚. 照片进入 OrganizePhotos 后, 核心整理操作在设备本地完成, 资源库内容没有对应的上传流程. 你可以随时查看请求, 也可以在加载和导入完成后暂时断开网络, 继续测试已经打开的资源库.

你可以怎样自行验证

你不需要只听我们解释, 可以用一组小照片做一次验证.

  1. 先查看 organizephotos 仓库, 重点检查本地存储、目录投影和导入相关代码.
  2. 打开 OrganizePhotos, 在开发者工具的 Network 面板中开始记录请求.
  3. 导入几张不敏感的测试照片, 观察请求列表和请求详情, 确认没有把照片文件发送到 OrganizePhotos 的服务器.
  4. 在照片已经导入后断开网络, 继续进行预览、搜索、添加标签和切换文件夹等操作, 再重新连接网络检查资源库状态.

通过 Network 面板和断网测试验证照片不上传

这组验证不能替代对设备安全的保护, 但可以帮助你确认 OrganizePhotos 的核心整理流程没有依赖照片上传.

本地处理也有自己的边界

本地保存减少了把照片交给第三方服务器的风险, 但它不是对所有风险的保证. 你仍然需要留意这些事情.

  • 恶意扩展或设备上的恶意软件可能读取本地内容.
  • 给 OrganizePhotos 的文件夹权限越大, 它能够访问的文件范围就越大.
  • 本地资源库可能受到设备清理、应用设置或存储空间限制影响.
  • 本地资源库不是备份, 重要照片仍应保留你自己的备份和同步方案.

最后再说一遍

OrganizePhotos 的定位是开源的本地照片整理工具. 你可以把照片导入 OrganizePhotos, 但不需要把照片交给 OrganizePhotos 的云端服务器. 图片、缩略图和整理信息留在你的设备或你选择的本地文件夹中, 你还可以查看编辑器源码、安装它或按自己的方式整理、导出和保管它们.

如果你仍然不放心, 先用几张测试照片查看请求, 再断开网络完成一次整理. 对本地工具来说, 可观察、可验证和可带走, 比一句“请相信我们”更重要.