隐私与安全
FlowPick 零数据收集承诺——不追踪、不上传、不收集任何用户信息。所有处理完全在您的设备本地完成。
FlowPick 以零数据收集为核心原则构建。我们坚信,一款下载工具没有任何理由收集用户数据——您的浏览记录、下载内容、个人偏好,全部留在您自己的设备上。
我们的承诺
在您使用 FlowPick 的整个过程中,以下事情永远不会发生:
| 我们不做的事 | 为什么重要 |
|---|---|
| 收集个人信息 | 我们不需要知道您是谁——姓名、邮箱、IP 地址一律不收集 |
| 追踪浏览历史 | 您访问了哪些网站、看了什么视频,我们不知道也不想知道 |
| 上传下载记录 | 您下载了什么文件、从哪个网站下载,这些信息从未离开您的设备 |
| 使用分析/统计脚本 | 没有 Google Analytics、没有埋点、没有任何遥测代码 |
| 嵌入第三方 SDK | 没有广告 SDK、没有数据统计 SDK、没有任何外部依赖 |
| 向服务器发送数据 | FlowPick 没有后端服务器,所有功能完全离线运行 |
| 出售或共享数据 | 我们没有数据可出售,也没有数据可共享 |
您可以亲自验证。 FlowPick 完全开源,代码托管在 GitHub 上。您还可以打开浏览器开发者工具(F12)→ Network 标签页,在使用 FlowPick 时观察——您不会看到任何向外部服务器发送的请求。关于如何自行构建和验证扩展,请参阅 贡献指南 — 开发环境搭建。
数据流向
FlowPick 的数据处理完全在您的设备上闭环,没有任何数据离开您的浏览器:
┌─────────────────────────────────────────────────────┐
│ 您的浏览器 │
│ │
│ 网页请求 ──→ webRequest 监听 ──→ 媒体检测(内存) │
│ │ │
│ ▼ │
│ 清单解析 + 分片下载(内存) │
│ │ │
│ ▼ │
│ FFmpeg WASM 合并(本地计算) │
│ │ │
│ ▼ │
│ 文件写入(您的硬盘) │
│ │
│ 设置偏好 ──→ 浏览器 localStorage(本地) │
│ │
│ ═══════════════════════════════════════════════ │
│ 数据边界:没有任何数据穿过这条线 │
│ ═══════════════════════════════════════════════ │
│ │
│ 外部服务器:❌ 不存在,FlowPick 没有后端 │
└─────────────────────────────────────────────────────┘
关于数据流向中涉及的下载引擎架构(分片下载、FFmpeg WASM 合并、文件写入),请参阅 下载引擎架构。关于 FFmpeg WASM 的本地计算原理,请参阅 格式转换 — FFmpeg WASM 引擎。
本地处理详解
FlowPick 的所有功能都在您的设备上完成,不依赖任何远程服务:
| 操作 | 处理位置 | 使用的技术 | 是否联网 |
|---|---|---|---|
| 媒体检测 | 浏览器内存 | webRequest API | 否(仅监听本地请求) |
| HLS 清单解析 | 浏览器内存 | m3u8-parser 库 | 否 |
| DASH 清单解析 | 浏览器内存 | mpd-parser 库 | 否 |
| 分片下载 | 浏览器内存 → 硬盘 | Fetch API + Streams API | 是(下载目标文件) |
| 分片合并 | 浏览器 WebAssembly | FFmpeg WASM | 否 |
| 格式转换 | 浏览器 WebAssembly | FFmpeg WASM | 否 |
| 文件保存 | 您的硬盘 | File System Access API / StreamSaver | 否 |
| 设置存储 | 浏览器 localStorage | Web Storage API | 否 |
| 主题切换 | 浏览器 localStorage | CSS 变量 | 否 |
"分片下载"是唯一涉及网络的操作——它从您正在访问的网站下载媒体分片,这与浏览器正常加载网页的行为一致。FlowPick 不会将下载请求发送到任何第三方服务器。关于分片下载的并发控制和重试机制,请参阅 下载引擎架构 — 分片下载。
权限说明
FlowPick 仅请求 4 项浏览器权限,每一项都有明确且不可替代的用途:
activeTab — 访问当前标签页
| 项目 | 说明 |
|---|---|
| 用途 | 读取当前标签页的 URL 和 DOM,检测页面中的媒体资源 |
| 激活时机 | 仅在您点击 FlowPick 工具栏图标时激活 |
| 后台运行 | 否——扩展不会在后台持续运行 |
| 数据存储 | 不存储任何标签页数据 |
| 数据传输 | 不向任何地方传输数据 |
webRequest — 监控网络请求
| 项目 | 说明 |
|---|---|
| 用途 | 监听网络请求的响应头,根据 Content-Type 识别媒体资源 |
| 激活时机 | 仅在您激活的标签页上生效 |
| 监听范围 | 仅匹配媒体 MIME 类型的请求 |
| 数据存储 | 不存储任何请求或响应数据 |
| 数据传输 | 不向任何地方传输数据 |
downloads — 文件下载
| 项目 | 说明 |
|---|---|
| 用途 | 将合并完成的媒体文件保存到您的下载目录 |
| 激活时机 | 仅在您主动点击"下载"按钮时触发 |
| 数据存储 | 文件直接写入您指定的目录 |
| 数据传输 | 不向任何地方传输数据 |
storage — 本地存储
| 项目 | 说明 |
|---|---|
| 用途 | 保存您的偏好设置(主题、过滤条件、并发数等) |
| 激活时机 | 当您修改设置时自动保存 |
| 存储位置 | 浏览器 localStorage(您的设备上) |
| 数据传输 | 不向任何地方传输数据 |
关于各项权限在 Manifest V3 中的声明方式和限制,请参阅 已知限制 — Manifest V3 限制。关于扩展安装时的权限确认流程,请参阅 安装指南 — 权限说明。
本地存储的数据
FlowPick 在您的设备上仅存储以下数据,全部位于浏览器的本地存储中:
| 数据类型 | 具体内容 | 存储位置 | 生命周期 |
|---|---|---|---|
| 用户偏好 | 主题(浅色/深色)、语言 | localStorage | 永久(手动清除前) |
| 过滤设置 | 最小文件大小、格式过滤、尺寸过滤 | localStorage | 永久(手动清除前) |
| 下载配置 | 并发线程数、输出格式、保存目录 | localStorage | 永久(手动清除前) |
| 检测缓存 | 当前标签页检测到的媒体列表 | 浏览器内存 | 关闭标签页时自动清除 |
清除所有数据
您可以随时一键清除 FlowPick 存储的所有本地数据:
- 右键点击 FlowPick 图标 → 选项(或点击图标 → 设置齿轮)
- 找到 清除所有数据 按钮
- 点击确认
也可以通过浏览器的扩展管理页面手动清除:
- Chrome:
chrome://extensions/→ FlowPick → 详情 → 清除数据 - Edge:
edge://extensions/→ FlowPick → 详情 → 清除数据
关于各项配置项的具体含义和推荐设置,请参阅 配置参考。
安全架构
内容安全策略(CSP)
FlowPick 网站配置了严格的内容安全策略头,防止 XSS 攻击和数据泄露:
| 安全头 | 作用 |
|---|---|
Cross-Origin-Opener-Policy: same-origin | 防止跨域窗口交互攻击 |
Cross-Origin-Embedder-Policy: require-corp | 控制跨域资源加载,保护 SharedArrayBuffer |
关于
SharedArrayBuffer 和 Cross-Origin-Embedder-Policy 在下载引擎中的技术作用,请参阅 下载引擎架构 — 内存安全。关于不同浏览器对 CSP 头的兼容性,请参阅 浏览器兼容性。无外部依赖
FlowPick 的核心功能不依赖任何外部服务:
- 没有后端服务器:所有逻辑在浏览器端完成
- 没有 CDN 依赖:FFmpeg WASM 等核心库打包在扩展内
- 没有第三方 API:不调用任何外部接口
- 没有遥测端点:不存在数据上报的服务器地址
开源透明
FlowPick 的完整源代码在 GitHub 上公开,任何人都可以:
- 逐行审查代码,确认没有隐藏的数据收集逻辑
- 自行构建扩展,验证发布版本与源代码一致
- 提交安全审计报告
- 贡献代码改进
常见隐私疑虑
"扩展会不会偷偷上传我的浏览记录?"
不会。 您可以通过以下方式验证:
- 打开浏览器开发者工具(F12)
- 切换到 Network 标签页
- 正常使用 FlowPick 检测和下载媒体
- 观察网络请求——您只会看到目标网站的媒体文件请求,不会看到任何发往未知服务器的请求
FlowPick 没有后端服务器,代码中也不存在任何数据上报逻辑。
"为什么需要 webRequest 权限?这个权限很敏感"
webRequest 权限是媒体检测功能的技术前提。FlowPick 需要监听网络请求的响应头来判断哪些请求包含视频/音频/图片资源。这个权限的使用范围严格限制:
- 仅匹配媒体 MIME 类型(
video/*、audio/*、image/*、application/x-mpegURL等) - 不读取请求体内容
- 不修改任何请求或响应
- 不存储任何请求数据
关于
webRequest 权限在媒体检测中的具体工作原理,请参阅 视频嗅探 — 检测原理。"下载的文件会被上传到你们的服务器吗?"
绝对不会。 下载流程完全在本地完成:
- 浏览器从目标网站下载媒体分片 → 存储在内存中
- FFmpeg WASM 在浏览器内合并分片 → 仍在内存中
- 合并后的文件通过 File System Access API 或浏览器下载功能写入您的硬盘
整个过程中,文件数据从未离开您的设备。
关于文件写入的三级策略(FSA → StreamSaver → Blob)和内存安全机制,请参阅 下载引擎架构 — 写入策略。
"FlowPick 如何盈利?是不是靠卖数据?"
FlowPick 不盈利,也不收集数据。这是一个开源项目,由社区维护。没有任何商业模式依赖用户数据。
与其他扩展的对比
| 对比维度 | FlowPick | 典型商业扩展 |
|---|---|---|
| 数据收集 | 零收集 | 通常收集使用数据 |
| 分析脚本 | 无 | 通常包含 Google Analytics 等 |
| 后端服务器 | 无 | 通常有云端服务 |
| 开源 | 完全开源 | 通常闭源 |
| 第三方 SDK | 无 | 可能包含广告/统计 SDK |
| 离线可用 | 完全离线 | 通常需要联网验证 |
最佳实践
为获得最大程度的隐私保护,建议:
- 安装前审查:查看扩展请求的权限列表,确认每项权限都有合理用途
- 阅读源代码:如有技术能力,浏览 GitHub 仓库确认没有可疑代码
- 无痕模式:在敏感网站上使用浏览器的无痕/隐私模式
- 定期清理:定期清除扩展的本地存储数据
- 保持更新:及时更新到最新版本,获取安全修复
关于扩展的安装和权限确认流程,请参阅 安装指南。关于如何从源码自行构建扩展,请参阅 贡献指南 — 开发环境搭建。
报告安全问题
如果您发现 FlowPick 存在安全漏洞或隐私问题:
- 不要公开披露——给我们时间修复
- 通过 GitHub Security Advisory 私下报告
- 我们将在 48 小时内 回复确认
- 有效报告将获得致谢