欢迎回来
登录你的知识库账户
忘记密码?
还没有账户?立即注册
创建账户
注册你的专属知识库
已有账户?去登录
找回密码
输入注册邮箱获取验证码
返回登录
请输入图片中的验证码以继续注册
加载中...
取消
新建收藏
手动添加你喜欢的内容
取消
编辑头像与昵称
上传新头像或修改你的显示昵称
支持 JPG/PNG,最大 2MB
取消

问题反馈

notebasewww.notebase.cn
控制台
内容库
动态
管理
账户
U
用户
--
在线
v0.8.7 · 知识库
笔记
KnowledgeBase
网络无边,知识有迹。
0笔记
0工具
30推荐

分类导航

按主题直达

编辑精选

站内用户贡献 · 真实笔记

最新收录

每日更新
继续浏览全部内容 →
>
笔记
0
加载中...
工具
0
此页用于记录用户反馈问题后的每一次改进
笔记用法

“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。

md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。

要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。

工具用法

在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。

要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。

工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。

隐藏笔记

写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。

适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。

数据安全

你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。

技术

全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。

理念

这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。

原则

不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。

更多

产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。

举报

如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。

趋势
// 点击导航加载发现
归档
// 归档为空
最近浏览
// 暂无浏览记录
发布
// 加载中...
用户发布
// 加载中...
用户管理
// 加载中...
访问统计
// 加载中...
内容审核
// 加载中...
个人信息
// 加载中...
返回首页

谷歌的14天生死令:Pushbullet扩展遭下架威胁,但没人告诉我们改什么

1970/1/1创业商业

谷歌以"权限使用违规"威胁下架Pushbullet扩展,却未明确具体要求,开发者被迫在猜测中挣扎求生。

谷歌的14天生死令:Pushbullet扩展遭下架威胁,但没人告诉我们改什么

背景:一个百万用户的扩展为何突然面临死刑?

Pushbullet团队收到了一封来自谷歌的邮件,内容令人震惊:如果不在14天内做出必要修改,他们的Chrome扩展将被从Chrome网上应用店强制下架。

但真正棘手的问题不是时间紧迫,而是——谷歌根本没有告诉他们需要修改什么。

这听起来像是某种荒诞剧,但却是真实的开发者困境。Pushbullet的Chrome扩展已经运营超过6年,拥有超过100万用户,平均评分4.5星(满分5星)。更值得注意的是,这个扩展曾多次被Chrome网上应用店团队官方推荐,包括出现在"居家办公"(Work From Home)专题集合中。

就是这样一款被谷歌自己多次认可的扩展,现在被通知14天内不修改就下架,而修改要求却是一团迷雾。

邮件全文:模糊的指控与模糊的要求

谷歌的邮件原文如下:

您的商品不符合我们计划政策中的以下部分:"用户数据隐私"

您的产品违反了政策中的"权限使用"部分,该部分要求您:

  • 请求实施产品功能或服务所必需的最窄权限。
  • 如果多个权限可以实现某项功能,您必须请求那些对数据或功能访问最少的权限。
  • 不要试图通过请求可能有益于尚未实现的服务或功能的权限来"面向未来"。

从字面来看,Pushbullet确实违反了"权限使用"条款。基于这三条原则,Pushbullet团队创始人Ryan Oldenburg的初步判断是:谷歌希望他们减少扩展请求的权限范围。

但这封邮件没有提供任何具体细节——没有指明哪个权限有问题,没有说明需要移除哪些权限,甚至没有举例说明什么样的修改才算合规。这让开发者只能在黑暗中摸索。

权限盘点:Pushbullet究竟请求了什么?

要理解问题的严重性,首先需要盘点Pushbullet扩展的权限使用情况。

必选权限(安装时即授予):

  • tabs — 可以查看用户打开的标签页
  • activeTab — 当前活动标签页的临时访问权
  • contextMenu — 右键菜单
  • cookies — Cookie访问权
  • notifications — 通知推送
  • idle — 检测用户空闲状态
  • https://*/* — 对所有HTTPS网站的数据读取权限
  • http://*/* — 对所有HTTP网站的数据读取权限

可选权限(用户自行开启特定功能时才请求):

  • background — 后台运行
  • clipboardRead — 读取剪贴板
  • clipboardWrite — 写入剪贴板

注意,可选权限必须在用户明确同意后在运行时请求,这与安装时自动授予的必选权限性质完全不同。因此Pushbullet团队认为,谷歌关心的应该是必选权限,因为这些权限在用户点击"添加扩展"的那一刻就被静默授予了。

第一轮修改:大幅缩减权限范围

Ryan审视了这些权限,发现了一个巨大的优化空间:

核心问题:https://*/* 和 http://*/* 的权限过于宽泛。

Pushbullet的实际功能是跨设备同步通知、链接和文件,其核心服务需要访问的是Pushbullet自家的服务器。它根本不需要读取用户访问的每一个网站的数据。

因此,Ryan决定将这些权限从通配符级别收缩为:

  • https://*.pushbullet.com/*
  • http://*.pushbullet.com/*
  • http://localhost/*(用于本地调试)

这是一个数量级的权限缩减——从理论上可以访问用户访问的任何网站数据,变为仅能访问Pushbullet自家域名下的数据。这意味着如果用户正在访问银行网站,扩展将无法读取或操作任何页面内容。

另一个重大牺牲:放弃tabs权限。

Pushbullet使用tabs权限是为了一个实用功能:当用户点击镜像通知(例如在手机上收到某个链接的通知,推送到桌面端)时,如果该网页已经在某个标签页中打开,Pushbullet会复用它而不是新建标签页。这能避免标签页堆积,但说实话,这个功能并非核心需求,为此保留一个可以读取所有标签页列表的高危权限,得不偿失。

Ryan决定:舍弃tabs权限。

修改后必选权限仅剩:

  • activeTab
  • contextMenu
  • cookies
  • notifications
  • idle
  • https://*.pushbullet.com/*
  • http://*.pushbullet.com/*
  • http://localhost/*

从理论上讲,这次修改大幅降低了扩展潜在的数据访问面。Ryan怀着信心将更新提交到了Chrome网上应用店。

残酷现实:提交后24小时内被拒绝

提交更新后大约24小时,Pushbullet的扩展就被拒绝了。

拒绝理由与最初的通知完全相同:还是"用户数据隐私"政策下的"权限使用"条款,还是那三条同样的要求。

没有任何额外的解释,没有指出哪项权限仍然过多,没有反馈为什么他们认为修改不足。

Ryan尝试直接回复邮件询问具体细节,但没有收到任何回复。他对此并不感到意外,但仍然值得一试。

此时,距离谷歌给出的截止日期,只剩下7天。

滑向猜谜游戏的深渊

既然第一次修改被拒绝,且无额外指引,Ryan只能列出一系列"猜测清单",试图找到通过审核的可能路径。以下是他的理论:

理论一:进一步缩小域名匹配范围

现在的权限是https://*.pushbullet.com/*,这是通配子域名的匹配。是否应该缩小为https://www.pushbullet.com这种精确域名?

理论上,这不应该有什么实质影响,因为pushbullet.com毕竟是Pushbullet自己的第一方域名。但也许谷歌的自动化审核系统对"通配符"过敏?缩减到精确域名或许能帮助通过?

理论二:移除剪贴板权限

clipboardRead 和 clipboardWrite 这两个权限目前是可选的——只有当用户启用"通用复制粘贴"(Universal copy & paste)功能时才会请求。但从谷歌最近的策略来看,他们对剪贴板数据非常敏感——别忘了谷歌最近刚刚在Android平台上封杀了所有剪贴板管理器应用。

如果谷歌现在彻底禁止Chrome扩展请求剪贴板权限,那么Pushbullet就必须删除这个功能。虽然"通用复制粘贴"是一个很受欢迎的功能,但当面对扩展被下架的风险时,显然只能忍痛割爱。

反复试验的致命风险

你可能会问:为什么不反复提交修改测试?总有一次能过吧?

但Ryan有一个令人不安的顾虑:

我担心谷歌的自动化系统会认为我在试图寻找绕过规则的方法,从而封禁我的整个Google账号。他们的政策中明确写道:"这可能导致与您的Google账号关联的相关Google服务被暂停。"

也就是说,如果反复提交不符合要求的版本,不仅可能让扩展永久下架,还可能连带账号被封——这等于宣判了Pushbullet整个生态的死刑。

深层矛盾:谷歌的平台治理悖论

这个案例折射出的是一个更大的行业问题,值得深入剖析:

1. 规则的自动执行与缺乏人情味的审查机制

谷歌Chrome扩展审核高度依赖自动化系统。机器可以检测到"权限过于宽泛"这类静态模式,但它无法理解上下文。一个拥有百万用户的成熟扩展,与一个刚上传的恶意扩展,在自动化系统面前是平等的。这导致一个在Chrome应用店获得过官方推荐、运营6年零投诉的扩展,会被一视同仁地收到格式化的拒绝邮件。

2. 模糊政策与权力不对等

谷歌在邮件中讲的三个原则——"最小权限"、"最窄访问"、"不要未来验证"——听起来合理且清晰,但当你问"我到底改什么才能合规"时,无人回应。这种单方面模糊执法让开发者无法可依,也让"14天期限"变成了一种心理战工具,在这个案例里,创作者只能通过试错去发现系统的判定规则。

3. 平台依赖的脆弱性

Pushbullet是一个跨平台工具,但Chrome扩展是其桌面端最主要的载体。

"Pushbullet扩展是我们在桌面上安装量最大的应用。它被移除,很可能就是Pushbullet的终结。"

一个企业把命运完全押在单一平台上,当平台本身变成不可预测的对手时,这种风险是致命的。无论扩展多么优质,无论用户多么忠诚,平台的一个按钮就能让一切归零。

更深的技术理解:Chrome权限系统的演进

为了更透彻地理解这个问题的本质,我们需要回到Chrome扩展系统的设计原理上。

Chrome的扩展权限体系建立在最小权限原则之上,这是安全领域的共识。但问题在于,Chrome的权限模型从诞生至今发生了几次大的演变:

  • 早期(Chrome 28之前):扩展可以声明对https://*/*的访问权限,并通过xhr或fetch请求任意网站数据,这在当时是"正常"的。
  • Manifest V2时代(Chrome 28后):引入了activeTab这一临时授权机制,使得扩展在某些用户交互下可以获取临时的站点访问权,而不必常驻所有站点的读取权限。
  • Manifest V3时代(2020年起逐步推行):核心变动之一就是全面限制远程代码执行,同时在权限系统中进一步压缩后台权限,并将部分网络访问请求转向声明式规则。

Pushbullet的这个案例发生在2020年5月,正好处于Manifest V2向V3过渡的开端。谷歌收紧权限审核,很可能不仅是针对Pushbullet,而是针对所有仍然沿用V2老式宽泛权限的扩展进行一波清剿。

什么是activeTab?

activeTab是Chrome提供的一种临时权限。当用户点击扩展的图标或触发扩展的特定交互时,扩展只能在此次交互中对当前活动的标签页获得一次性访问权,标签切换后权限即失效。这与tabs权限(对所有标签页的持续访问)有本质区别。Pushbullet保住了activeTab而放弃了tabs,从权限原理上来说是正确的取舍。

后续发展:最终结局

在这个时间点(2020年5月13日),Ryan表示将再次尝试提交包含两项新修改的版本:

  1. 将域名匹配从通配子域名精确到www.pushbullet.com
  2. 移除剪贴板读写权限(意味着放弃"通用复制粘贴"功能)

他在Reddit上开设了讨论专区,邀请社区帮助猜测谷歌的真实意图。

(注:截至今天截稿,Pushbullet的Chrome扩展仍在网上应用店中正常运营,说明他们最终通过了审核。但这个过程暴露出的平台治理问题,至今未解。)

给开发者的启示

对于每一个依赖Chrome网上应用店分发扩展的开发者,以下经验值得借鉴:

  1. 尽可能缩减必选权限。如果某项功能可以用可选权限(用户手动授权)实现,就不要放在安装时请求。
  2. 不要使用大量的通配符匹配域名。即使你真的只是偶尔使用,权限系统看的是"最高可能性",不是你实际的代码逻辑。
  3. 权限是有生命周期的。两三年前合规的权限请求,今天可能被视为违规。谷歌的政策在收紧,你所基于的"许可证"可能随时变化。
  4. 自动化审核不可沟通。面对系统化的拒绝邮件,依赖人工解释往往是无效的,唯一可行的方案就是通过调整代码来触发系统的"通过"条件。
  5. 不要分散依赖单平台。如果大部分用户和收入都来自单一渠道,那么平台的一次策略变动就可能让你全盘皆输。

结语:谁是真正的裁判?

Pushbullet的案例在今天比在2020年更加具有警示意义。每当平台以"安全"和"隐私"为名收紧规则,首先受到冲击的往往是那些依赖平台生存的小型独立开发者。它们没有议价能力,没有申诉渠道,只能根据一封不完整的邮件,在14天的期限里做猜谜游戏。

一个曾经被官方推荐、拥有百万用户、稳定运营六年的扩展,收到的却是格式化的拒绝邮件。这让"平台经济"这个词听起来更像是一个讲给自己的童话故事。

原文链接:https://blog.pushbullet.com/2020/05/13/lets-guess-what-google-requires-in-14-days-or-they-kill-our-extension/

编写使用方法
Markdown 格式 · Ctrl+Enter 确定
新建笔记
预览
数据表格
点击单元格编辑 · Tab 移动
A1fx
Sheet1
BIH1H2≡🔗</>
隐私提醒

取消
编辑工具
取消