你的小程序剛提審就被駁回,理由只有一行字:「未配置隱私保護(hù)指引」或「隱私指引內(nèi)容與實(shí)際采集行為不一致」。這不是系統(tǒng)誤判——自2023年9月15日微信強(qiáng)制執(zhí)行隱私保護(hù)指引新規(guī)后,所有涉及用戶個(gè)人信息采集的小程序,必須在 mp 后臺完成隱私保護(hù)指引配置,并在代碼中通過 wx.onNeedPrivacyAuthorization 或隱私彈窗組件完成授權(quán)觸發(fā),缺一步都會直接阻斷核心接口。

問題不在“有沒有填”,而在“填的和代碼做的是不是同一件事”

微信對隱私保護(hù)指引的要求,本質(zhì)是一次數(shù)據(jù)處理行為的實(shí)名制登記。你在后臺聲明了會采集哪些信息、用于什么目的、是否提供給第三方,開發(fā)者就必須在代碼的 <privacy-popup />wx.requirePrivacyAuthorize 之前,如實(shí)同步這些字段。后臺聲明與前端調(diào)用之間的錯(cuò)配,是目前審核駁回最主要的原因。

常見的錯(cuò)配場景包括:

  • 后臺只勾選了“位置信息”,但代碼里實(shí)際調(diào)用了 wx.chooseLocationwx.getFuzzyLocation,后者屬于“模糊位置”,需要單獨(dú)聲明“獲取用戶位置信息”并區(qū)分精度。
  • 聲明了“手機(jī)號”,但未在隱私指引中說明快速驗(yàn)證組件 (phone-number) 的用途和第三方服務(wù)商。
  • 使用了 <camera> 組件或上傳圖片功能,卻沒有勾選“攝像頭”或“相冊”權(quán)限對應(yīng)的指引項(xiàng)。

配置入口與字段規(guī)則

進(jìn)入 mp.weixin.qq.com → 左側(cè)菜單「設(shè)置」→「服務(wù)內(nèi)容聲明」→「用戶隱私保護(hù)指引」,你會看到一份基于模板的配置界面。這不是隨意填寫的文本區(qū),而是結(jié)構(gòu)化選項(xiàng)+補(bǔ)充說明的組合。

1. 開發(fā)者收集的用戶信息項(xiàng)

每個(gè)復(fù)選框?qū)?yīng)一類敏感數(shù)據(jù),選中后必須填寫“用途描述”。關(guān)鍵詞規(guī)范如下:

  • 手機(jī)號:若使用微信快速驗(yàn)證組件,需注明“通過微信手機(jī)號快速驗(yàn)證組件獲取”,并說明本地存儲方式與是否關(guān)聯(lián)會員體系。
  • 位置信息:區(qū)分“精確定位”與“模糊定位”。如果項(xiàng)目僅需城市級推薦,選擇模糊定位,避免申請精準(zhǔn)位置帶來的審核復(fù)雜度。
  • 相冊/攝像頭:圖片上傳功能必須同時(shí)勾選“攝像頭”和“相冊”,并在描述中寫出具體使用時(shí)機(jī)——例如“用戶在發(fā)布動(dòng)態(tài)時(shí),可選擇拍照或從相冊選取圖片”。
  • 麥克風(fēng):只有使用 wx.startRecord 或音頻接口時(shí)才需勾選,音頻播放不需要。
  • 剪貼板:如果僅在用戶主動(dòng)觸發(fā)的按鈕中讀取一次剪貼板用于智能填寫,要寫明“由用戶手動(dòng)觸發(fā)讀取,不做后臺同步”。

所有描述應(yīng)遵守“具體時(shí)機(jī)+具體字段+存儲策略”的三要素格式。示例如下:

收集目的:用于完成訂單配送
收集時(shí)機(jī):用戶提交收貨地址時(shí)
處理方式:將地址信息加密傳輸至后臺服務(wù)器,配送完成后 30 天自動(dòng)刪除

2. 第三方 SDK 披露

如果你使用了任何涉及采集用戶數(shù)據(jù)的插件或第三方服務(wù)(如地圖 SDK、推送服務(wù)、自建統(tǒng)計(jì)埋點(diǎn)),必須在「是否關(guān)聯(lián)第三方服務(wù)」中逐項(xiàng)列出 SDK 名稱、提供商及其處理的信息類型。很多團(tuán)隊(duì)漏掉了:

  • 微信原生組件 <map> 背后引用的騰訊地圖服務(wù),如果開啟了 show-location 并獲取用戶位置,也應(yīng)當(dāng)披露。
  • wx.login 獲取 code 換取 openid 的行為本身不算第三方,但你若將 openid 傳遞給自建后臺后再轉(zhuǎn)發(fā)給其他數(shù)據(jù)分析工具,該工具就屬于第三方處理者,需要在此披露。

3. 隱私協(xié)議文本

隱私協(xié)議有兩種承載方式:

  • 默認(rèn)模板:直接在 mp 后臺文本框中填寫條款內(nèi)容,適合小型項(xiàng)目快速上線。
  • 自定義 URL:適合已經(jīng)有自建隱私政策頁面的大型應(yīng)用。注意必須使用 HTTPS 鏈接,且頁面內(nèi)容要與指引勾選項(xiàng)一致。微信會在審核時(shí)爬取該頁面,若發(fā)現(xiàn)內(nèi)容不符,會直接駁回。

多版本管理與同步問題

很多開發(fā)者發(fā)現(xiàn)修改了隱私指引并重新提交審核后,線上版本仍然適用舊指引,導(dǎo)致用戶看到的彈窗與后臺設(shè)置不一致。這是因?yàn)殡[私保護(hù)指引存在三個(gè)狀態(tài):

  • 開發(fā)版/體驗(yàn)版:實(shí)時(shí)讀取當(dāng)前 mp 后臺的草稿狀態(tài)指引,用于調(diào)試。
  • 審核版本:提交代碼審核時(shí),會生成一份隱私指引快照,跟隨該版本審核。審核通過后,該版本的指引快照即成為線上指引。
  • 線上版本:每個(gè)已發(fā)布的版本綁定各自的指引快照,互不影響。

要更新線上隱私指引而不發(fā)版代碼,正確的做法是:在 mp 后臺修改隱私指引后,點(diǎn)擊「提交審核」,選擇「僅該隱私指引聲明」模式。審核通過后,指引更新會覆蓋到所有未有獨(dú)立審核中版本的線上用戶,無需重新提交小程序代碼。

邊界情況:如果你的小程序在隱私指引審核期間,有新的代碼版本提交審核,兩個(gè)審核會產(chǎn)生關(guān)聯(lián)。代碼審核會檢查隱私指引是否已通過或至少一致,若不一致,代碼審核會被卡住。建議在發(fā)版窗口期先完成指引更新,再提交代碼。

行動(dòng)建議:從駁回最多的五個(gè)點(diǎn)自查

在準(zhǔn)備配置或修改之前,先按以下 checklist 自查你的代碼和后臺配置是否一致,能減少 90% 的駁回:

  1. 手機(jī)號獲取方式:如果用到 getPhoneNumber,后臺必須勾選“手機(jī)號”并說明組件來源。
  2. 位置精度wx.getLocation 申請的是精確定位還是模糊定位?后臺勾選項(xiàng)必須與調(diào)用的 API 完全對應(yīng)。
  3. 圖片上傳路徑:是否勾選了相冊和攝像頭兩種權(quán)限?即使只打開相冊,也必須描述用戶每次選擇圖片的動(dòng)作。
  4. 剪貼板讀取:是否使用了 wx.getClipboardData?如果是靜默讀取且沒有用戶主動(dòng)觸發(fā),屬于違規(guī)行為,即使配置了指引也可能被線上監(jiān)測封禁。
  5. 第三方內(nèi)容:凡是后臺傳遞用戶數(shù)據(jù)到外部域名,都需披露。用開發(fā)者工具查看 Network 請求,找出所有非 https://api.weixin.qq.com 的目標(biāo),逐一確認(rèn)。

每項(xiàng)配置完成后,使用開發(fā)者工具的「真機(jī)調(diào)試 2.0」模式驗(yàn)證隱私彈窗的觸發(fā)時(shí)機(jī)和顯示文本是否與后臺一致。測試過程需調(diào)用對應(yīng)接口觸發(fā)授權(quán),確保不會出現(xiàn)空白彈窗或無效跳轉(zhuǎn)。只有后臺聲明、前端彈窗、代碼接口三者對齊,你的隱私保護(hù)指引配置才算真正落地。

← 上一篇 定制電商系統(tǒng)開發(fā)的真實(shí)成本:別再為“爛尾”和隱形支出買單 下一篇 → 湖州外貿(mào)網(wǎng)站建設(shè):避開這5個(gè)坑,你的海外詢盤才能落地