Browser Extension Store Compliance

浏览器扩展商店:上架要求 / 政策红线 / 技术坑汇总

覆盖 5 个主要扩展分发渠道——Chrome Web Store、Microsoft Edge Add-ons、Firefox 附加组件商店 AMO、Safari(经 App Store)、Opera 附加组件商店。每条规则尽量追溯到官方开发者文档(标注 L1=官方文档 / L2=开发者自述或官方通知 / L3=第三方整理),并针对「起始页 / 新标签页 + AI 调用」这类产品标出专门红线。

报告更新点
2026-09-22 11:05v2:S7 每条红线补「依据(完整 URL)」列 + 5 条真实案例链接(v1 2026-09-22 10:14)
覆盖渠道
5 个商店Chrome / Edge / AMO / Safari / Opera
内容结构
要求 + 拒审码 + 技术坑共 9 个章节,可勾选清单见 S9
可信度分级
L1 官方文档 / L2 官方通知·自述 / L3 第三方整理每条表格均有标注
适用产品
起始页 + 侧边栏 + 右键菜单兼看「多 AI 对比」形态

S1摘要与五家商店速览

五家商店的共同底线并不复杂:代码全部打包进产品、权限最小够用、列表描述与实际行为一致、收数据必须披露并获得同意、单一用途。真正的差异在「谁能上架」和「多久能过审」。

商店开发者账号 / 费用包格式清单版本要求审核方式与时长是否要交源码依据等级
Chrome Web Store开发者账号 + 一次性 5 美元注册费;必须开启两步验证;需验证联系邮箱zip(根目录含 manifest)必须 MV3;MV2 条目已于 2026-08-31 从商店移除自动 + 人工;官方称 90% 在 3 天内;宽权限 / 新账号可延至数周否,但禁止混淆,压缩可读即可L1 / L2 / L3
Microsoft Edge Add-ons免费注册(官方明言无注册费);需 Microsoft 账号为主所有者,个人 / 公司两种账号类型zip,经 Partner Center 上传Chromium 扩展,极少改动即可移植;MV3 为主流人工认证(certification);第三方经验约 3–7 个工作日否;但必须在隐私页声明是否使用远程代码L1 / L3
Firefox AMO免费;需 Mozilla 账号zip / xpi / crx,单包上限 200MBWebExtension API;支持 MV3自动校验打底,任何版本随时可能被人工复审;签名通常 24 小时内,人工复审更久是(经压缩 / 打包工具时必交,含构建说明与依赖)L1
Safari(App Store)Apple Developer Program,99 美元 / 年;必须有 Xcode扩展必须包在宿主 App 内并签名Safari Web Extension(WebExtension 变体)App Review;第三方经验 1–7 天(均值约 3 天)以 App Store 规则为准;不因压缩单独要求L1 / L3
Opera 附加组件免费;开发者账号即可提交zip / nex(现行文档以 zip 为准)基本兼容 Chromium 扩展人工审核 + 三平台(Windows / Mac / Linux)功能测试;无 SLA是(混淆必须提供未混淆源码与复现步骤,且优先级降低)L1

五条最该先记住的结论

  1. 起始页产品有一条专属红线。所有起始页 / 新标签页形态都要遵循所属商店的搜索与起始页规则,Opera 明令禁止替换其默认起始页——详见 S7。
  2. 「一切远程代码」是跨商店共识的硬禁区。把第三方统计 SDK 当作普通网页引入、或在运行时 eval 远端字符串,都是直接拒审项(Chrome 拒审码 Blue Argon)。
  3. 压缩可以,混淆不行;工具链开源才有资格过 AMO 与 Opera。AMO 要求构建工具必须是开源或永久免费且能在 Windows / macOS / Linux 上跑。
  4. 权限申请必须能在代码里被找到对应调用。Chrome 拒审码 Purple Potassium 专门打「为未来功能预留权限」,MV3 时代 storage 与 IndexedDB 的取舍也是送分题。
  5. 上架后不是终点。Firefox 随时复审、Chrome 周期性复审并可能下架;引入新权限的更新会被当作新提交重审。

S2Chrome Web Store:要求、拒审码、素材规格

五家里最制度化的一家:它有公开的开发者计划政策、公开的违规排查页,甚至给每类违规起了「颜色 + 化学元素」代号。先建 https://chrome.google.com/webstore/devconsole/ 项目,再按下面三张表的顺序自检。

2.1 硬性要求

项要求不遵守的后果依据
注册费与账号一次性 5 美元;Google 账号必须开启两步验证;联系邮箱需验证(拒审 / 警告邮件都发到这里)无法新建或更新条目L3(2026 上架清单整理)
清单版本必须 "manifest_version": 3;MV2 扩展已在 Chrome 138 全渠道停用,2026-08-31 起从商店全部移除直接拒审:「Extensions using Manifest V2 are no longer accepted」L2(Chrome Web Store 官方邮件通知)
单一用途一个扩展只能有一个「窄而易懂」的用途;不同用途应拆成不同扩展拒审码 Red Magnesium / Red Copper / Red LithiumL1(Chrome 违规排查页)
新标签页搜索新标签页若提供网页搜索,必须尊重用户现有搜索设置并使用官方搜索 API;改动默认搜索体验与替换任一浏览器默认页(override page)均属「可独立存在的用途」,不可与其他功能混装拒审;替代方案见 S7L1(Chrome 单一用途 FAQ)
远程代码禁止执行包外代码(远端 script 标签、对远端字符串 eval、远端下发的解释器)拒审码 Blue ArgonL1 / L3
代码可读性可以压缩(minify),不可以混淆;base64 或字符编码包裹也算违规拒审码 Red TitaniumL3
用户数据显著披露 + 事先取得同意 + 安全传输;只能为单一用途采集数据拒审码 Purple Nickel / Purple Copper / Purple LithiumL1
账号额度每个开发者账号上限 20 个已发布条目无法再发布新条目L3

2.2 拒审代号速查(Chrome 用「颜色 + 元素」标识违规类别)

代号含义常见触发修复动作
Blue ArgonMV3 远程托管代码HTML 里外链 script;对接口返回串执行 eval;把远端配置当代码解释执行所有 JS 打进包;远端只返回数据(JSON),不带逻辑
Purple Potassium权限过多manifest 里声明了没有对应调用的权限;用了比功能需要的更宽的模式删除闲置权限;宽模式换具体站点;改申 optional_permissions 运行时再要
Yellow Magnesium功能跑不起来审核员按描述操作但未复现;依赖登录态却没给测试账号在审核备注里给演示路径 / 测试账号;剔除隐藏开关
Yellow Zinc元数据不足描述没讲清功能;列表与权限声明对不上补描述、补截图、补权限说明
Red Magnesium / Copper / Lithium单一用途违规多个不相关功能打包(例:下载管理器 + 计算器)拆扩展;或把所有入口收敛到一个用途叙事
Red Titanium代码混淆把源码做成不可读形式用常规 minify,保留可读性
Red Zinc欺骗性安装CTA 没写明「这是安装扩展」;落地页 / 推广页含糊所有按钮写明安装行为;广告与推荐页同样适用此规则
Purple Nickel / Copper / Lithium用户数据:醒目披露 / 安全传输 / 其他隐私政策缺失;明文传输;先收后说政策页面上 + 产品内披露 + 同意 + HTTPS
Yellow Argon / Nickel关键词堆砌 / 垃圾内容标题与描述塞大量无关热词写人话;标题前置品牌词
Grey Titanium联盟广告类违规联属导流未披露或形式不当显性披露 + 入口可关闭(见本报告主报告的「联属收益变现」章节)

代号是「类别索引」不是诊断结论;接到拒审邮件后先按代号定位政策条目,再回包内自查。完整排查页见 https://developer.chrome.com/docs/webstore/troubleshooting/。

2.3 素材与字段规格

素材 / 字段规格坑点
图标128×128 PNG(列表用,与 manifest 内图标分开上传);96×96 图形 + 四周各 16px 透明留白用截图缩放代替会被打回
截图1–5 张,1280×800(推荐)或 640×400;PNG 或 24 位 JPG,不带 alpha 通道截图内容与描述功能不一致是高频拒审点
小推广图440×280,强烈建议提供缺失影响搜索排名与推荐位
大横幅1400×560,进精选位需要只在被推荐时必需,提前备好
名称上限 75 字符搜索结果磁贴约 35 字符即截断,品牌词前置
简介132 字符,直接出现在搜索结果写「用户收益」而非实现细节
隐私政策必须可公开访问的 URL;处理个人数据即要求(建议无数据也提供)通用模板 / 与实际行为不符会被判定披露不足
隐私实践表单一用途一句话 + 逐权限理由 + 数据类别勾选 + 合规勾选大多数拒审其实出在这张表没填满

更新与版本机制(必知)

  • 每次上传版本号必须递增(按点分数字比较,1.2.0 → 1.10.0 合法);不能回退到曾用过的版本号。
  • 新增权限的更新会按新提交的同等强度复审;纯净代码更新可能几分钟内自动过。
  • 已发布条目随时可能被周期性复审,甚至下架——保持联系邮箱有效。
  • 发布可见性可选:公开 / 不公开(仅直链可装)/ 私有(限定 Workspace 账号或群组)。

S3Microsoft Edge Add-ons:Partner Center 八步流程

Edge 是 Chromium 系里迁移成本最低的一家(同一份包几乎能直接传),但它的提交流水答own在 Partner Center,字段比其他商店多。注册与提交均免费,官方明说无注册费。

步骤要做什么关键字段 / 坑点
0. 注册开发者用 Microsoft 账号(MSA)作为 Partner Center 主要所有者,选个人 / 公司并完成验证不支持用工作或学校账号注册;部分字段注册后只读(国家 / 地区、账号类型)
1. 准备原型与 zipmanifest 内的 name / description / 默认语言会被带到列表页这些字段在列表页只读,写错只能改包重传
2. 新建扩展条目拖入 zip校验失败要先修再传
3. 可用性可见性与市场选错市场会缩小曝光
4. 属性分类(必填)、官网、支持联系方式、是否含成人内容官网必须指向自有站点,不能填商店列表地址
5. 隐私信息是否访问 / 收集 / 传输个人信息;必填隐私政策 URL勾选「否」但事后被发现处理个人信息,直接导致认证失败
6. 隐私页四项单一用途 / 权限理由 / 是否使用远程代码 / 数据实践认证 + 隐私政策官方已把隐私信息独立成页,2026-05 起逐步全量开放给用户
7. 多语言列表逐语言填名称、简介、描述、截图、搜索词、可选视频支持一个 objęzy语言 ↔ 多语言的资源复制
8. 认证说明与提交填写测试说明并提交若被判定为潜在恶意件会进入专门流程

Edge 的特性与坑

  • Featured 徽章:按 Microsoft 对安全、隐私、性能与体验的最佳实践自动评估获得,非安全背书;缺少徽章不代表不安全。
  • 发布 API 自动化:需 Client ID + API Key + Product ID;Product ID 是小写 GUID,不是列表 URL 里的大写 Store ID;API Key 只显示一次、约 72 天过期,需要轮换。
  • 审核时长:第三方经验约 3–7 个工作日;每次更新都会重新认证。
  • AI 生成描述:Partner Center 提供 AI 生成简介能力,使用时应复核内容,责任仍在开发者。

S4Firefox AMO:签名、源码提交与四类审核

AMO 的门槛不在钱而在「可复核性」:所有扩展必须经 Mozilla 签名才能装进正式版 / Beta 版浏览器,而签名的前提是审核员读得懂你的代码。

4.1 签名与分发

机制说明影响
强制签名无论上架 AMO 还是自行分发(unlisted),都要先签名自行分发不等于绕过审核
包体积上限200MB超限直接校验不过(视频素材 / 大模型文件尤需注意)
无需签名的情况字典类不需要;开发者版 / Nightly / ESR 可用 xpinstall.signatures.required 关闭校验仅可做开发自测,不可作为分发方案
提交方式网页上传、web-ext sign、AMO API(v8 起支持首次提交与更新,覆盖上架与自行分发)适合做 CI 自动化
随时复审通过后任何时候都可能被人工复审,历史版本也可能被拒或拉黑不要指望「过审即安全」

4.2 源码提交:什么时候必须交、交什么

必须提交源码包的情况

  • 使用了压缩 / 混淆工具(如 uglifyJS、Closure Compiler);
  • 用打包 / 单文件生成工具(如 browserify、webpack 类 bundle 步骤);
  • 任何「多文件进、预处理、产出文件出」的自定义工具链;
  • 包含二进制组件(插件、 applet、js-ctypes 动态库等)。

额外要求:用于压缩 / 混淆 / 构建的工具必须是开源或永久免费,且能在审核者的 Windows / macOS / Linux 机器上跑起来;第三方库必须来自官方站点或仓库、不得修改,已压缩的需附源码链接;每个版本都要附最新源码;必须附 README 说明从源码到 xpi 的完整命令,且生成的产物与上传包必须逐字节一致(审核者会用 diff 验证,不一致不仅拒绝还可能牵连信任)。未简化第三方库、已知系统库则可免交,给链接即可。

4.3 审核通道差异

通道适用审核强度代价
上架 · 完整审核公开列表,希望获得最佳权重全代码审核 + 功能测试,最高门槛耗时最长;换来搜索最优先和安装最顺滑
上架 · 初步审核公开列表但功能简单代码审核,一般不做功能测试展示权重低,安装前会向用户提示潜在质量问题
自行分发 · 网页安装Beta 或限定受众自动校验通过即可,失败才转人工需自行分发与更新
自行分发 · 侧载安装由安装器装到浏览器接近上架级全代码 + 功能测试必须自建更新机制

S5Safari:必须包一层 App,且 API 缺口最大

Safari 的分发逻辑与其他四家完全不同:不是「上传 zip」,而是「提交一个含扩展的 App 上架 App Store」。成本最高,但它是唯一能触达 iOS / iPadOS 用户的渠道。

环节要求说明
账号Apple Developer Program,99 美元 / 年这是前置条件,没有账号无法签名
工程转换用 Xcode 命令行工具 safari-web-extension-converter 生成 Xcode 工程需要 Mac 与 Xcode,建议在产品设计期就考虑,不要事后补
打包方式 AXcode 归档 → App Store Connect 上传传统方式
打包方式 BSafari Web Extension Packager(Xcode Cloud)免 Xcode 打包;占用会员每月 25 小时 Xcode Cloud 额度
BetaTestFlight(iOS / visionOS 推荐);macOS 可发未签名副本让用户手动允许macOS 未签名扩展需要用户在 Safari 里开启允许未签名扩展
审核App Review,第三方经验 1–7 天(均值约 3 天)受 App Store 审核准则约束,扩展类另有设计条款
站外分发macOS 可用 Developer ID 签名 + 公证(notarization),绕开 Mac App Store仍要有付费会员

Safari 的 API 缺口(做 Chromium 移植前先看这里)

能力Safari 情况对方案的影响
webRequest完全不支持(连变体都没有)依赖请求拦截的能力要重构为 declarativeNetRequest 或放弃
declarativeNetRequest部分支持,需逐类规则实测不要假设与 Chromium 行为一致
storage.session2026 年初仍不支持会话状态需另找容器
侧边栏Chromium 的侧边栏能力并非通用标准「侧边栏」形态在 Safari 需要替代交互设计
storage 跨端sync 走 iCloud,覆盖 Mac 与 iOS这是 Safari 的加分项,可替代自建同步后端

注意:以上差异条目主要来自第三方年度整理(L3),开发前请以 https://developer.apple.com/documentation/safariservices 的当前版本为准逐项验证。

宿主 App 不能是空壳

扩展必须被包装在一个 App 里,而 App Store 对这个空 App 有最低要求:通常做法是在 App 内提供「如何启用扩展」的说明页或必要设置界面。评审也会沿用 App Store 准则中的扩展设计条款——权限范围与 App 核心用途要对得上,元数据不能暗示没有实现的行为,评审备注要写清启用步骤与测试条件。

S6Opera 附加组件:条款最短,红线最具体

Opera 的验收标准文档篇幅不大,但句句有牙——它对「起始页」和「联属导流」两件事写得比其他任何商店都直白。做起始页产品的人必须先看它。

规则(原文意译)类型对本项目的含义
扩展不能替换 Opera 的默认起始页硬红线起始页产品在 Opera 商店基本没有空间,只能做不替换默认页的其他形态
不能只是「一个链接到网站的按钮 / 弹窗」硬性必须有实质转换或多信息展示
单一目标政策;浏览器按钮只能服务主功能硬性「起始页 + AI + 页签」的 bundle 描述在 Opera 会吃亏
不得有外部 JavaScript硬红线与 MV3 一致,但 Opera 自己单独写了一遍
代码不得混淆或压缩(第三方库除外)硬性若必须混淆,要提供未混淆代码下载链接与复现步骤,且会被降优先级处理
不得有多余文件、冗余权限或多余 manifest 项硬性提交前做一次文件与权限清单核对
不得改动推荐参数(referral)、不得干扰 Opera 的变现机制或截流硬红线对联属变现模型直接杀伤:改跳转参数、替换他人联盟 ID 一律不可行
内容脚本里不得放广告硬性 monetization 只能走合规路径
不得未经授权收集私人信息,不得用异步请求把私人数据发到外部存储硬性默认本地优先是最省事的做法
隔行扫描(interlaced)PNG 不支持技术坑截图 / 图标导出时要关掉 interlaced 选项,否则图 CDN 库解析失败
各级图标风格需一致;图标不能只是色底 + 文字;地址栏内图标不能是锁形素材早期就该出一套规范 icon
不得在标题里含「Opera」或暗示由 Opera 出品;不得影射第三方公司出品品牌「X 增强器」应写成「Improver for X™」这类表述
第三方库必须原样、来自官方站点或 CDN,并保持无已知漏洞的版本供应链魔改依赖会被拒
默认授权:未附 EULA 时按 CC BY-NC-ND 4.0 授权法务想要别的授权必须显式附 EULA

流程侧:提交后由版主逐条比对验收标准,通过再做三平台(Windows / Mac / Linux)功能测试;拒绝后改完点 Upgrade 重新提交。没有 SLA,排期要留buffer。

S7起始页 / 新标签页类产品的专门红线

这一节是把前面分散的规则按「如果你做的是起始页 + AI 入口」重新排一遍。也是本项目最该照着做设计评审清单的一节。

红线出处规则摘要可执行的规避方案依据(完整 URL)
新标签页不得改用户的网页搜索体验Chrome(L1)提供网页搜索的新标签页必须使用官方搜索 API,尊重用户现有搜索设置;AI 聊天机器人与「垂直搜索」(如在打开的标签页内搜索、站内垂搜)是被允许的搜索框接官方搜索 API;做「页签搜索 / 站内垂搜」按垂直搜索叙事写进用途说明https://developer.chrome.com/docs/extensions/mv2/single_purpose
不支持「可选的新标签页」Chrome(L1)想既提供某功能又提供可选新标签页,必须拆成两个扩展起始页做成独立扩展,侧边栏 / 右键能力另出扩展或只做同一叙事下的入口https://developer.chrome.com/docs/webstore/troubleshooting/
Override page 与改默认搜索是「独立用途」Chrome(L1)替换任一 override page、或修改默认搜索 provider,除「搜索优先」的合规形态外不得与其他功能混装把产品叙事收敛成「搜索优先的起始页」,其他能力作为该叙事的配套https://developer.chrome.com/docs/extensions/mv2/single_purpose
改默认搜索只能用 Settings Overrides APIChrome(L1)用请求重定向等手段改默认搜索 / 首页 / 启动页会被下架若要提供设置变更,走官方 API 并给出显著告知https://developer.chrome.com/docs/extensions/mv2/single_purpose
禁止替换 Opera 默认起始页Opera(L1)扩展不得替换 Opera 的默认起始页Opera 渠道改投「不替换默认页」的形态,或明确放弃该渠道https://dev.opera.com/extensions/acceptance-criteria
CTA 必须写明「安装扩展」Chrome(L1)广告、营销物料、推荐落地页全部纳入监管范围,按钮必须说明这是安装扩展落地页与投放素材统一文案模板https://developer.chrome.com/docs/webstore/program-policies/
不得改动推荐参数 / 截流他人变现Opera(L1)不得篡改 referrer、不得干扰商店或其合作方的变现联属只做「明示链接 + 可关闭入口」,不做参数改写https://dev.opera.com/extensions/acceptance-criteria
违约不等于免罚:代码与服务条款之外还有用户数据规则各商店(L1)显著披露 + 同意 + 安全传输,且只能为单一用途采集默认本地优先,同步做成开关;隐私政策与产品内提示同步更新https://developer.chrome.com/docs/webstore/program-policies/

真实案例链接(可点开核对)

把「合规」前置到信息架构里

起始页产品最容易踩的不是技术,而是「叙事越界」——一个 Column 里同时讲美化、页签、多 AI,审核员就会读到多个用途。推荐做法:对外只讲一个用途,把其余能力写成该用途的支撑能力;同时在商店后台把「单一用途」一句话写短、写死,所有截图与描述都不偏离它。

S8技术坑清单(跨商店通用)

按「运行时 / 代码与 CSP / 第三方站点嵌入 / 权限 / 存储与同步 / 版本与更新 / 素材与列表 / 变现合规」八组整理,每组给出现象与规避动作。

8.1 MV3 运行时

坑现象规避
Service Worker 会被回收内存变量丢失、定时任务静默失效、WebSocket 断连状态一律落 chrome.storage;周期任务用 alarms;长时间连接的心跳要自行重建
持久化后台页不存在沿用 MV2 写法导致首启慢、后台缺失按事件驱动重写;所有初始化都要幂等
webRequest 拦截能力被削原来靠阻塞式请求改写的功能失效改用 declarativeNetRequest 的规则集;注意 Safari 支持面不同
异常没人看见SW 抛错后功能静默停止,用户只体感「不好用」全局错误边界 + 上报(上报走 HTTPS 接口,不要引远端 SDK)

8.2 远程代码与 CSP

坑现象规避
远端 JS / eval / new FunctionChrome Blue Argon、Opera 明文禁止全部逻辑进包;远端只回数据
第三方统计 SDK 直连SDK 安装片段是远端 script,装不上;改造后数据链路断裂改用服务端测量协议(走 HTTPS 上报),或自研轻量埋点
MV3 CSP 禁内联脚本popup / options 页里内联 handler 失效事件绑定写进打包脚本;页面内资源走 chrome.runtime.getURL
混淆/压缩的边界Chrome 判 Red Titanium;AMO 与 Opera 要求补源码只做 minify;AMO 场景附源码包 + README + 可复现构建
web_accessible_resources 未声明页面拿不到扩展内的图片 / 脚本,报「资源不存在」显式声明资源与匹配模式,引用统一用 getURL

8.3 嵌入第三方 AI 站点(多模型对比类形态)

坑现象规避
目标站点禁嵌套响应头含 X-Frame-Options 或 CSP frame-ancestors,iframe 直接空白提前探测目标站点;fallback 到侧边栏 / 新窗口方案
目标站点 UI 改版选择器 / DOM 结构变化,注入脚本全挂(本调研中 AI 比一比、ChatBrawl、AI 圆桌均依赖对方页面)做站点适配层 + 单点失效不影响整体;建立改版监控与快速修复流程
登录态与风控需要用户自行登录;频繁操作触发验证码 / 风控明示「复用你自己的登录态、不代持账号」;敏感动作保留人工确认,不做批量爬取
权限与站点的平衡为转 многих站点申请宽权限会招来人工复审按站点逐个申Host 权限或用 optional_host_permissions 运行时申请
跨域请求流向扩展页发起的跨域请求需 Host 权限;内容脚本受页面 CSP 约束网络请求放后台 / SW,页面侧只做消息传递

8.4 权限最小化

常见误解实际口径建议
activeTab 能给当前标签持续访问权只在用户主动唤起扩展时临时授权,不提供被动访问用 activeTab 替代宽权限
用了 tabs API 就要申 tabs 权限只有读 url / title / favIconUrl 等字段才需要;已有的宽 Host 权限本身覆盖这些数据按实际读取字段决定
存数据就要申 storage只有 chrome.storage 需要;IndexedDB 与 Web Storage 不需要纯本地大对象可走 IndexedDB,顺便减少权限声明
先申请着以后可能用Chrome 明确禁止「为未实现功能预留权限」每次发布做一次权限审计,删掉无调用的项
消息通道是安全的外部页面可以发消息给未校验来源的监听者每个 onMessage 都校验 sender.id 与消息结构

8.5 存储配额与多端同步

容器容量 / 条件适用坑
storage.localMV3 默认约 10MB,申 unlimitedStorage 可提升壁纸缓存、本地历史大对象不持久化会有清理风险
storage.sync总量约 100KB、单项约 8KB,且有写入频率限制小体积设置跨设备装不下历史 / 附件;高频写会被节流
IndexedDB按浏览器磁盘配额,持久化需用户授权历史、离线数据Safari 的行为需实测
iCloud 同步(Safari)sync 走 iCloud,覆盖 Mac 与 iOSApple 生态内多端与其他平台的同步体系不互通
自建后端需账号体系、冲突处理、增量与限流历史 / 收藏 / 提示词库同步 = 上传,隐私叙事与合规成本同步上升

8.6 版本、更新与 Listing

坑现象规避
版本号必须递增且不可复用线上出问题时无法「退回」到旧版本号用新版本号发布「功能回退」版本
新增权限触发重审功能更新被当成新提交,可能几周权限一次到位或走运行时申请
描述与行为不一致截图演示的功能包里没有,或反之发布前让一个人按描述走一遍
关键词堆砌Chrome Yellow Argon标题与描述写人话
图不规范带 alpha 通道的截图、interlaced PNG(Opera 直接不支持)导出时统一「无隔行 + 无 alpha」
破解自动化凭证过期Edge API Key 约 72 天过期;AMO 凭证需 JWT设轮换提醒;CI 里用环境变量

8.7 变现合规

S9提交前检查清单(可直接照做)

  1. 先定用途一句话:能在一句话内说清,且截图、描述、权限、隐私披露表单全部对齐这句话。
  2. 删权限:逐个对照代码确认有调用;确认宽泛匹配模式(如全站通配)都已换成具体站点或可选权限。
  3. 删文件:包内无未使用资源、无 source map、无遗留 demo。
  4. 全量打包:构建产物里 grep 一遍 src="http、eval(、new Function(,确认零命中。
  5. CSP 落到位:扩展页实现为仅 script-src 'self'、object-src 'none'。
  6. 消息校验:所有监听校验来源与消息结构。
  7. 异常兜底:SW 有全局错误边界;所有定时任务走 alarms。
  8. 隐私就绪:隐私政策页可访问 + 产品内披露 + 同意 + HTTPS;AMO / Edge / Chrome 的隐私表全部填满。
  9. 起始页专属核对:搜索接官方 API;不做可选新标签页;不涉及改默认搜索;Opera 渠道形态已调整。
  10. 素材齐备:128×128 图标、规范截图(无隔行、无 alpha)、推广图;标题与简介字符数合规。
  11. AMO 专用:如需提交源码,准备 README + 开源工具链 + 依赖说明,并本地复现一遍确认产物一致。
  12. Safari 专用:宿主 App 有真实内容页;完成 storage、declarativeNetRequest、webRequest 差异项实测。
  13. 审核备注:写明功能路径、是否需要登录、测试账号、demo 视频链接。
  14. 版本号:确认严格递增且未曾用过。
  15. 发布节奏:新{array}账号或含宽权限的提交预留数周;错开活动与投放档期。
  16. 上线后运维:盯 review 邮箱(加入白名单)、盯评分与评论、准备热修版本。

一句话总结

把「合规」当成产品的第一条功能需求来做:它决定了叙事怎么定、权限怎么申、多少 AI 站点被依赖、以及能不能在 Opera 上架。

S10来源(按商店分组,均为完整可点 URL)

Chrome Web Store

Microsoft Edge Add-ons

Firefox AMO

Safari / App Store

Opera 附加组件

跨商店流程对照

可信度与免责声明

  • L1=商店或浏览器官方文档(MDN / 微软学习平台 / 苹果开发者文档 / Chrome 开发者文档 / Opera 开发者站点);L2=官方通知或开发者自述;L3=第三方整理与实践经验。
  • L3 条目(尤其审核时效、Safari 的 API 缺口、政策执行口径)随时间漂移较快,落地前请以对应官方文档的当日版本为准。
  • 涉及资金往来的条款(证书、退款、税务与出口管制)建议由法律 / 合规岗再确认一遍。
  • 本文件仅为政策与技术整理,不构成合规承诺;具体能否上架以各商店审核结论为准。