English

隐私

状态:2026-10-08(发布前核对)。这份文档要和代码保持一致:改了权限、网络请求或保存的内容,同一次提交里更新这里,以及英文版 PRIVACY.en.md。 发布到商店时它们就是隐私声明的底稿(pnpm packs:export 生成 privacy.html 和 privacy-en.html)。

一句话

绒伴的一切都留在你的浏览器里。没有账号,没有统计,没有广告,不读取你的浏览历史。向外的请求只有三类:网站图标(默认开,可以关,第一次打开时就有说明)、你点"下载"才发的伙伴素材、你主动打开"真实天气"才发的天气查询。

插件的权限

权限为什么什么时候要
storage保存你的设置和进度安装时
favicon读取浏览器已经缓存的网站图标,用在 Dock 上安装时
search用你浏览器默认的搜索引擎搜索安装时
activeTab你点工具栏按钮、按快捷键(Alt+Shift+S)或在右键菜单里选"把这一页交给绒伴收着"时,读取那一页的网址和标题,交给新标签页的「待整理」。在地址栏用 pf 选中一个结果按回车时,看一眼当前标签页是不是空的新标签页(是就在它里面打开,不是就开一个新标签页),不保存。只在你操作的那一刻、只对那一页生效;不读页面内容,不在后台读任何页面安装时;装的时候不弹警告
contextMenus右键菜单里的"交给绒伴收着"(链接)、"把这一页交给绒伴收着"、工具栏图标右键的"打开绒伴新标签页"和"搜索绒伴…"安装时;不弹警告
scripting你按 Alt+Shift+F(或工具栏图标右键"搜索绒伴…")时,在那一页上放一个搜索框。和 activeTab 一起,只在你按的那一刻、只对那一页生效;放上去的只是一个指向扩展自己页面的框,不读页面内容,页面也看不到你在框里打的字;关掉就整个拿走安装时;装的时候不弹警告
bookmarks(可选)两件事,都要你先在设置里点:①"搜索时也找书签"打开后,你在搜索框(新标签页和 Alt+Shift+F 浮层)打字时,用浏览器自己的书签搜索找匹配的网页列在下面,不复制、不保存、不上传,书签的图标只用浏览器缓存里的(不向 Google 图标服务请求);②"从浏览器书签导入…"读一次书签的文件夹,你勾选的变成桌面卡片(只有你选的会保存,和手动添加的卡片一样)只在你点的那一刻询问;关掉"搜索时也找书签"、或导入结束且没开搜索时,把权限还给浏览器
topSites(可选)把你浏览器的"常用网站"放进 Dock只在你点"好"时才询问;可以拒绝,之后也能手动添加

不需要、也不会申请:history(浏览历史)、tabs、"读取所有网站的数据"。bookmarks 只作为可选权限,见上。

对网页开放的文件(web_accessible_resources):只有搜索框页面 find.html,并且用 use_dynamic_url。网页无法用固定地址探测到它(和没开放的文件一样被拦下),也就不能借它判断你装没装绒伴。

后台脚本(background.js)做三件事,都不发任何网络请求:

保存了什么,保存在哪里

全部保存在这台电脑的浏览器本地存储里(localStorage),不会上传。

键内容
puffkin.companion.v*、puffkin.companion.backups.v*名字(每只伙伴各记一个)、拥抱次数和时长、陪伴记录(及最近几份本机备份)
puffkin.dock、puffkin.dock.askedDock 里的网站(网址、名字);是否问过"常用网站"
puffkin.metrics只有测试版才有(商店版不统计、也没有这一项)。测试数据:每天打开次数、摸过几次、抱过几次、连捏出气了几次、发呆了几次、提醒过几次喝水或起身、Dock 点击和搜索的次数(不含网址和搜索内容),保留 30 天;只有你手动复制才会离开这台电脑
puffkin.appearance、puffkin.power、puffkin.parallax、puffkin.hand、puffkin.sound、puffkin.music、puffkin.music.vol、puffkin.icons.remote、puffkin.recSec、puffkin.minutes各项偏好
puffkin.packs 和浏览器缓存 puffkin-packs-v1你下载过的伙伴(编号和版本)和它们的文件;设置里"删除已下载的……"就清掉;离线时靠它继续用
puffkin.sleep、puffkin.weather、puffkin.roam睡前的声音和时长、天气设置、是否自己走动
puffkin.captions最近用过的 8 条照片短句的编号(免得重复)
IndexedDB puffkin-album你拍的照片(JPEG)和它的短句、日期;最多 200 张;只存在这台电脑,删除相册里的照片就真的删了
puffkin.arrivals、puffkin.arrival它最近做过的 4 件事和今天是否已开过(让每次不一样);这一项的开关
puffkin.care.on、puffkin.care只有你在设置里打开"很轻的照顾"才有:开关本身;这一段"坐着"从什么时候开始、上次打开新标签页、上次提醒起身和喝水的时间、今天提醒了几次(只有时间和次数,看不到你在别处做什么)。关掉就删
puffkin.touchmap你最常摸它的哪里:头、脸、肚子各被碰过几次(只有三个数字,太大时减半);用来让它在迎向你的手时把那里送过来
puffkin.secrets发现过哪几个小秘密(只用来数"还剩几个")
puffkin.iconmiss哪些网站没有图标(一周内不再询问)
puffkin.today你写的今天的事(最重要的一件和小事),第二天自动清理做完的
puffkin.timer专注计时的状态
puffkin.note你写的便签
puffkin.collections你整理出来的卡片(名字和网址;用工具栏收下的页面还有它的标题)
puffkin.onboarded是否回答过首次引导(选了哪些兴趣不保存,只保存它布置出来的 Dock 和卡片)
puffkin.weather.city、puffkin.weather.cache只有你打开"真实天气"才有:你选的城市(名字和大致坐标);最近一次查到的天气(雨/雪/风、温度)
puffkin.opens你从这个页面(Dock、卡片、搜索)、地址栏 pf 和搜索框的结果里打开过哪些网站:网站的标识、次数、最后一次的时间;最多 200 条,旧的自动丢掉。只用来排"最近用过"和搜索结果的先后;不是浏览历史,别处打开的网页不会记
puffkin.inbox.declined「待整理」上那句整理建议你点过"不用"的是哪几组("设计类"或某张卡片的编号)和当时有几个,等同类再多两个才再问;最多 30 条,那一组不在待整理里了就删掉
puffkin.collections.hints你手动把某个网站移到某张卡片后,记住"这个域名→这张卡片",下次同一个网站自动放过去;最多 200 条,只有域名和卡片编号
chrome.storage.local 的 puffkin.queue工具栏按钮、快捷键、右键菜单交过来、还没被新标签页取走的网址和标题;取走就删
chrome.storage.local 的 puffkin.index、puffkin.index.opens给地址栏 pf 和搜索框用的一份副本:Dock 和卡片上网站的名字、网址、页面标题、所在卡片、名字的拼音,以及 puffkin.opens 的内容。由新标签页写、只在内容变了时重写;后台只读。删掉的网站下次打开新标签页时从副本里去掉,回收站里的东西不进副本
chrome.storage.local 的 puffkin.opened从地址栏 pf 或搜索框打开过、还没被新标签页记进"最近用过"的网站:网站的标识和时间,最多 200 条;取走就删
chrome.storage.session 的 puffkin.find.ask在放不了搜索框的页面按了快捷键时,留一个时间给新标签页,让它聚焦搜索;新标签页看到就删,5 秒后作废。session 存储只在内存里,关掉浏览器就没了
puffkin.index.sig上面那份副本对应的数据指纹(两串短字符),用来判断要不要重写
puffkin.trash回收站:你从 Dock 或卡片上移除的网站和卡片(名字、网址),保存 30 天后自动清除,最多 40 项;可随时在回收站里清空。只在本机
puffkin.bookmarks.search只有你在设置里打开"搜索时也找书签"才有:这个开关本身(书签的内容不保存)
puffkin.sync.on、puffkin.sync.device、puffkin.sync.seen只有你打开"在其他电脑上同步 Dock 和卡片"才有:开关、这台电脑的随机编号(用来分辨改动来自哪台电脑)、最后一次同步内容的指纹
chrome.storage.sync 的 pf.meta、pf.s.*同上,只有打开同步才有:Dock 和卡片(名字、网址)切成几段,加一个说明(几段、什么时候、哪台电脑、指纹、大小)。由浏览器自己的同步(Chrome 或 Edge)带到你登录同一账号的其他电脑;关掉同步后留在那里给其他电脑用
puffkin.widgets桌面上显示哪些小组件
puffkin.lang只有你在设置里选了语言才有:zh 或 en。没选就跟随浏览器的语言,什么都不存
puffkin.sync.code仅网页版:同步码(见下)

「陪它睡」时页面会请求让屏幕保持常亮(Screen Wake Lock),结束或唤醒后释放;不需要额外权限。

清除浏览器数据或卸载插件会删除这些内容。设置里的"导出备份"会把上面这些(不含测试数据、缓存、照片)存成一个 JSON 文件,放在你选的地方;"从备份恢复"只读你选的文件。

你写的待办、便签和整理的链接是你自己的内容:只在这台电脑上,不上传,网页版的同步也不包含它们(同步只含毛绒的名字和陪伴记录)。

网络请求

请求发给谁内容能关吗
下载其他伙伴我们自己的素材地址(目录 catalog.json 里的 remote,随扩展发布,下载只能去那里)只在你在设置里点某只伙伴的"下载"时:向它取这只伙伴的几个文件(图片和 JSON,没有代码;素材放在 Cloudflare 上,Cloudflare 的服务器也能看到请求),请求里没有你的任何数据;每个文件都用目录里的指纹核对。对方服务器能看到你的 IP 和请求的文件名,和任何网络请求一样不点就不发。云朵打包在扩展里,永远不需要联网
网站图标t2.gstatic.com/faviconV2(Google 图标服务的静态地址;它不可用时退回 www.google.com/s2/favicons)Dock 和收藏卡片里每个网站的域名(不含路径和搜索);图片由浏览器缓存一周,之后的新标签页不再联网取它;没有图标的网站一周内不再询问能:设置 → "高清网站图标"。关闭后只用浏览器自带的图标,没有就显示首字母
浏览器同步(不是我们发的请求)你在浏览器里登录的账号(Chrome:Google 账号;Edge:Microsoft 账户),由浏览器自己的同步服务处理只在你打开"在其他电脑上同步 Dock 和卡片"后:Dock 和卡片上网站的名字和网址。由浏览器按你账号的同步设置传输和保存(Chrome 可设同步密码加密),不经过我们的任何服务器默认关。设置里随时关
城市搜索geocoding-api.open-meteo.com(Open-Meteo,免费天气服务,无账号)你输入的城市名;只在你点"查找"时发出,输入过程中不发默认不发。只有把设置里的天气选成"真实"并点查找才会发
当前天气api.open-meteo.com你选的城市的大致坐标(保留两位小数,约 1 公里);最多每 45 分钟一次,结果缓存在本机默认不发。把天气改回其他选项,或"忘掉这个城市",就不再发

关于 IP:不会读取或使用定位(没有 geolocation 权限),也不会读取你的 IP;但任何网络请求都会让对方服务器看到请求来源的 IP 地址,这一点无法避免。应用自己不读取、不保存、不转发它。

你自己打开的网页不算插件的请求:在搜索框里选"在网上搜索"或"在 GitHub 里搜"这类站内搜索时,搜的字作为网址的一部分交给那个网站(和你在它的搜索框里输入一样);不选就不发。

此外插件不发送任何请求:毛绒的图片、表情、声音、界面都打包在插件里;背景音是在你的电脑上实时合成的。

网页版(puffkin 的网站)另有

可选的"跨设备同步":开启后,状态在你的设备上用同步码派生出的密钥做 AES-GCM 加密,只上传密文和一个鉴权摘要;服务器没有解密钥匙,丢失同步码无法找回。插件版没有这个功能。

我们不做的

录屏和拍照

录屏、拍照、贴纸都在你的电脑上合成,文件只在你点"下载"或"分享"时才离开浏览器,由你选择发给谁。

联系方式: [email protected]