最近更新:2026 年 10 月 20 日 · 适用 Chrome 扩展 v0.3.0(完整版与仅书签管理版适用同一份政策)
一句话概括
Hub.Bookmark 把浏览器书签整理成左右交错的阶梯索引。它没有账号、没有服务器、没有统计后台——
你的书签、分类、备注、封面全部留在你自己的浏览器里,我不会看到,也无法取回。
网络请求只发生在两件事上:给某条书签配图、给某条书签猜分类,且都由你主动触发。
数据存在哪里
-
索引与快照:
书签标题、网址、分类、备注、封面图缓存在本机扩展存储区(
chrome.storage.local),
不随设备漫游,卸载即消失。
-
设置项:
主题、语言、卡片选择等少量配置走
chrome.storage.sync,随你的 Chrome 账号同步。
不想要跨设备同步,可在 chrome://settings/syncSetup 里关闭。
-
网页版(H5)模式:
同样的数据存在当前站点的浏览器数据库(IndexedDB)里,同样不离开本机。
扩展读什么(对应每一项权限)
-
书签:
读取书签标题、网址、所属文件夹,用于建立索引。点「写回浏览器」时会创建分类文件夹并移动书签,
同时清理「因为书签被搬走而变空」的旧文件夹——里面有内容的文件夹一律不动。
-
最常访问(topSites):
新标签页的六张卡片默认取「最常访问」。这是浏览器在本地算好的域名清单,
扩展只读结果,拿不到你的浏览历史明细;在卡片上长按即可换成任意一条书签。
-
网站图标(favicon):
用于在列表和卡片上显示站点图标。
-
当前标签页截图(activeTab / captureVisibleTab):
只有你点「截图补封面」且当前打开的正是这条书签时,才拍一次可见区域,
并在本机转成封面(JPEG),不上传。若当前页与目标书签不是同一页,扩展会拒绝截取。
-
所有网站(<all_urls>):
为了让任意一条书签都能抓封面、取图标、判断是否还能打开。
扩展没有内容脚本:不注入页面、不读正文、不监听输入、不拦截请求。
-
侧边栏 / 右键菜单:
只是入口(打开工作台、把当前页存入),本身不涉及任何数据。
什么时候会有数据离开你的浏览器
只有在你执行「AI 语义归类」「AI 重设分类体系」「补封面」这几类动作时,才会有请求发往外部。
每一处发什么,逐条列在这里:
-
猜分类 → text.pollinations.ai(Pollinations 的免密钥文本接口):
发送这一条书签的标题(截断到 90 字)、域名 + 路径(截断到 80 字)、原来的文件夹名(截断到 44 字)。
「重设分类体系」时还会带上文件夹分布(文件夹名与条数)。不发送完整网址、不发送备注、不发送其他书签。
-
取分享大图与网页标题 → api.microlink.io:
发送这一条书签的完整网址(含查询参数),换回
og:image 等页面元数据。
-
取站点图标 → icon.horse / favicon.im / f1.allesedv.com / favicon.yandex.net:
只发送域名,不含路径与参数;前一个取不到才试下一个。
-
抓封面与判断失效 → 直接请求书签本身的网址:
这一步不经过任何第三方,和你自己用浏览器打开它没有区别(对方服务器能看到你的 IP,与平时上网一致)。
-
截图补封面 → 全程在本机完成:
图片以 data URL 形式存进本地存储,不经过网络。
关于「失效链接」的判定
抓封面本来就要发一次请求,返回的状态码顺带用于判断:404 / 410 / 451 记为「已失效」,
连不上记为「打不开」,而 401 / 403 / 429 视为「站点活着、只是不让抓」,不会牵连书签。
一键清理前会列出完整清单等你确认,删掉的书签先进入回收站,可撤销。
不会做的事
- 不收集姓名、邮箱、电话、设备标识——没有账号体系,也无从关联到你。
- 不做使用统计、崩溃上报、A/B 实验;不含任何广告 SDK 或追踪脚本。
- 不把数据出售、出租或交换给任何第三方。
- 不读你正在浏览的页面内容,不记录浏览历史,不监控输入。
-
不含远程代码:所有 JS 都在安装包里,运行时不加载外部脚本,因此商店审核中「远程代码」一项为「否」。
数据留存与删除
-
本机数据:卸载扩展即全部清除;扩展内的「回收站 / 清空」可按条或整体删除;
chrome.storage.sync 里的设置项可在 Chrome 设置中单独清除。
-
第三方请求:上文四个服务会按各自政策处理请求日志,我无法访问、也无法代你删除。
不想产生这类请求,可以关掉 AI 归类、不改用自动补封面,或者断网整理(离线规则整理仍然完全可用)。
儿童、变更与联系
- 儿童:本扩展不面向 13 岁以下儿童,也不会有意收集任何人的可识别信息。
-
政策变更:出现实质变化时会更新本页日期,并在扩展的版本说明里注明。
-
联系方式:任何隐私疑问、数据导出或删除请求,发邮件至
hello@cellopulse.app
(标题写「Hub.Bookmark 隐私」即可),我将在 7 个工作日内回复。
English summary
-
No account, no server, no analytics. Bookmarks, categories, notes and covers
are stored in
chrome.storage.local on your own machine; a few settings sync via
chrome.storage.sync with your Chrome account and can be turned off in Chrome settings.
-
Outbound requests happen only on your action. “AI classify” sends one bookmark’s
truncated title (90 chars), domain + path (80 chars) and original folder name (44 chars) to
text.pollinations.ai. “Fetch cover” sends that bookmark’s full URL to api.microlink.io for
og:image metadata. Site icons are requested by domain only from
icon.horse, favicon.im, f1.allesedv.com or favicon.yandex.net. Cover fetching and link checks go
straight to the bookmarked site itself, exactly as opening it in your browser would.
-
Tab capture stays local.
captureVisibleTab is used only when you press
“capture cover” on the page you have open; the image is stored locally and never uploaded.
-
The <all_urls> permission exists to fetch covers, icons and link status for
arbitrary bookmarks. The extension has no content scripts: it never injects into pages, never reads
page content, never tracks browsing.
-
No sale, no ads, no remote code. Nothing is sold or shared, and no JavaScript is
loaded at runtime — everything ships inside the package.
-
Deletion: uninstalling the extension removes all local data. Third-party request logs
are handled under those services’ own policies.
-
Contact:
hello@cellopulse.app
— replies within 7 business days.