TapStack 隐私权政策
最后更新:2026-10-26
TapStack("我们")提供一款浏览器标签页会话管理与同步工具。本政策说明我们收集哪些数据、如何使用、以及您的权利。使用本扩展即表示您同意本政策。
1. 我们收集的数据
- 会话数据:您主动保存的标签页信息(页面标题、URL、标签页分组结构)。其中本地文件的地址(
file://)会被照常保存——否则 PDF、论文这类标签会被悄悄丢掉;这类地址里可能包含您电脑上的文件夹路径与用户名(例如file:///Users/…),它同样属于会话数据,在开启同步后会与其它网址一起上传。浏览器内部页面(设置页、扩展页等)不会被保存。 - 界面偏好设置:主题风格、界面布局、删除前确认、保存固定标签页、通知提醒等开关。这些设置会随同步上传,让同一账号在多台设备上看到一致的界面;其中与设备本身有关的三项(用哪个同步后端、是否开启自动同步、自动同步的间隔)不会上传,始终以本机为准。
- 账户信息:仅当您注册并登录账户后,会话数据才会同步到云端。账户使用邮箱和密码(通过 Supabase Auth 提供)。
2. 数据存储
- 本地存储:会话数据默认保存在您浏览器的 IndexedDB(扩展的本地数据库)中,仅存于您的设备;扩展同时使用
chrome.storage保存登录状态与少量设置标记。在您开启同步之前,这些数据都不会离开您的设备——但请注意:一旦开启同步,其中一部分(会话明细、界面偏好设置)会按下面的说明上传到您自己选择的云端,登录状态与云盘凭据始终留在本机、不会上传。 - 账号归属记录:为避免「换账号后,上一个账号的会话被上传到新账号的云端空间」,扩展会在本机记下每组会话属于哪个账号(只记账号 id,不含会话内容、标题或网址)。它只存在您的设备上,只用于上传前的逐条核对。退出登录不会删除您的会话;登录另一个账号后,上一个账号的会话不会被上传到新账号,本机也会提示您还剩多少组属于上一个账号(那些会话仍在您本机,登录上一个账号即可继续使用)。
- 云端存储:登录后,为支持多设备同步,标签页明细(标题与网址)会在您的设备上加密后上传至我们的托管服务提供商 Supabase 的云服务器。需要如实说明的是:该加密密钥由账户 ID 派生,而不是由您的密码派生,因此它属于服务端静态加密,并非端到端加密——任何取得数据库读取权限的一方都可能解密您的标签页数据。传输层全程使用 HTTPS(TLS)。
- 自带存储(WebDAV):您也可以选择把数据同步到自己的云盘(例如坚果云、自建的 Nextcloud),而不是我们的服务器。此模式下:
- 数据完全不经过 TapStack 的服务器,我们无法访问。
- 会话明细在离开浏览器之前就使用由您的口令派生的密钥加密(PBKDF2-SHA256 + AES-256-GCM),云盘上存放的是密文。口令只存在于您本次浏览器会话的内存中,不会保存到磁盘——因此关闭浏览器后需要重新输入。
- 需要如实说明三点:① 目录清单文件(manifest)以明文存放,其中记录「有多少个会话、各自在何时被修改」,您的云盘服务商能够看到这些信息,但其中不包含会话名称与网址;② 每个会话文件本身也带一个明文头部(会话 id、最后修改时间、是否已删除、含设备编号的操作印记)——这样同步时才能在解密之前判断「哪一份更新」,代价是云盘服务商能看到这些字段,但同样看不到会话名称与网址;③ 清单文件里还存有本库的加密 salt(salt 本身不是秘密,它的作用是阻止跨库预计算攻击),以及您若选择「不加密」时云盘服务商可直接看到的会话名称与网址。
- 此模式下数据是否安全,取决于您所选云盘服务商的安全措施与您自己的口令强度。口令没有找回入口,忘记后云盘上的数据将无法解密。
3. 数据的使用与共享
- 数据仅用于实现"保存/恢复/同步会话"这一核心功能。
- 我们不向任何第三方出售、出租您的个人数据,也不把您的数据用于广告、画像或营销。使用 TapStack 云端时,您的数据由我们的基础设施服务商 Supabase 托管(仅用于存储您的数据与验证您的账户,不代表第三方拿去做别的用途)——这与 Chrome 商店数据使用表里「Shared with Third Parties: Yes」是同一件事:接收方只有 Supabase,接收用途只有托管与鉴权;使用「自带存储」时,数据存放在您自己选择的云盘,我们不接触也不托管。
- 我们不使用数据做广告、用户画像或任何营销用途。
- 「导出诊断信息」是您主动把数据带出本机的唯一出口:该功能会生成一份 JSON 文件,供您在反馈问题时附到 GitHub issue 上。它默认脱敏——采用白名单式输出,只包含规模、分布与环境信息(如会话数量、标签数量分布、浏览器版本、扩展版本),不包含任何网址、页面标题、会话名或设备标识,无法从中反推出您访问过什么。扩展不会自动上传这份文件:是否分享、分享给谁,完全由您决定,我们也不会收到它。
4. 数据与删除
- 删除会话:您可以随时删除任意保存的会话。删除单条会话前会按您的设置弹出确认(「删除所有会话」始终确认),确认后本地副本立即被物理清除,且不可恢复——TapStack 不提供回收站,也没有撤销入口。
- 打开与恢复不是删除,但同样不可恢复:点开一个标签页、或恢复一个会话,会把它从列表中移除(这是本产品的默认行为;锁定的会话除外,它从不被移除)。这类移除没有撤销入口,也没有回收站——移除之后那条记录就找不回来了(它仍会被同步到您的其它设备,一并移除)。如果一个会话需要反复使用,请先锁定它:锁定的会话从不被移除,恢复后仍保留在列表里。恢复按钮上的说明会写明这个后果。
- 云端清理存在延迟:为避免您其他设备上的旧副本把已删会话重新同步回来,云端会把对应记录标记为「已删除」并保留约 30 天(这期间该条记录仍保留在云端:TapStack 云端是一行,自带存储是云盘清单里的一条),满 30 天后由同步任务物理删除。清理任务随同步上传执行,因此如果您在此期间不再登录同步,物理清除会推迟到您下次同步时发生。
- 删除账户:如需删除账户及云端全部数据,请通过下方联系方式联系我们。
5. 权限使用
扩展申请的权限及用途如下:
tabs:读取当前窗口标签页的标题与网址,用于把标签页保存为会话,以及恢复会话时按网址重新打开。storage:在本地保存会话数据、设置与登录状态。会话数据存放在浏览器的 IndexedDB 中(不受chrome.storage的容量配额限制),chrome.storage只存放登录状态与少量设置标记。notifications:保存会话成功或失败时给出系统通知,避免静默操作。通知默认关闭,可在设置里打开「显示通知提醒」;失败提示不受该开关影响,始终会通知。contextMenus:提供四个右键菜单项——在网页或标签标题上右键「保存此标签页并关闭」;右键扩展图标「保存当前标签页并关闭」「保存其他标签并关闭」「打开标签管理器」。前两项会关闭对应标签页,菜单标题里已写明。alarms:仅在您开启「自动同步」后才创建后台轮询定时任务——在您未打开扩展时,按您选择的 5 / 10 / 30 / 60 分钟节奏在后台检查云端是否有其他设备的新变更并合并到本地。此外,每次本地保存 / 重命名 / 删除也会安排一次延迟上传(扩展进程存活时约 1.5–3 秒后触发;浏览器把扩展挂起时改由一个后台 alarm 兜底,而 Chrome 规定 alarm 的最小延迟是 30 秒),与自动同步开关无关。自动同步默认关闭;关掉它只是不再周期性拉取,您本地的改动仍会上传。- 主机权限
https://*.supabase.co/*:仅在您登录后用于鉴权与会话数据的跨设备同步,不访问其他任何网站。 - 可选主机权限:仅当您主动选择「自带存储」并填写自己的云盘地址时,扩展才会请求访问您自己填写的那个地址的权限(单一来源,例如
https://dav.example.com/*),不会获取整个 https / http 域。未使用该功能时不会申请、也不会获得这项权限。可随时在 Chrome 的扩展详情页撤销。
扩展不会采集您未主动保存的其他浏览数据,也不会在后台记录您的浏览活动;用于改进功能的产品事件仅保存在您的设备本地,不会上传。
6. 安全
我们采用传输加密(HTTPS)、服务端行级安全策略(RLS)等业界常规措施保护您的数据。请妥善保管您的账户密码。
7. 政策更新
如本政策发生实质变更,我们会在本页面发布更新并注明日期。
8. 联系我们
如对本政策或您的数据有任何疑问或请求,请发送邮件至:privacy@tapstack.app