WeChat Mini Program: configure the user privacy protection guideline (用户隐私保护指引)

By Paul Cranmer, Founder · Last verified October 2026 · WeChat Mini Program · MP admin backend → Settings → Service content declaration

WeChat does not take a URL field like Western stores. A mini program declares which user information it collects in the 用户隐私保护指引 (user privacy protection guideline) inside the mini program admin backend, and only the information types declared there can be used: an undeclared interface or component is disabled, calls return error 112, and a new declaration takes about five minutes to apply. Enforcement started October 17, 2023 (after being set for September 15 and postponed), with base library 2.32.3 or later intercepting privacy API calls. The guideline is what the platform opens from wx.openPrivacyContract; your fuller privacy policy page is where you send users for the rest. This page gives the path, the APIs, and the division of labour between the two.

Who this is for

  • Mini program developers hitting error 112 or disabled interfaces after a release
  • Teams shipping a first mini program and asked for the privacy guideline at review
  • Developers who maintain an English privacy policy and need the WeChat-side declaration to match

Not for

  • WeChat Official Accounts (公众号) articles and menus
  • Legal advice on PIPL (China's Personal Information Protection Law)

What the platform requires

  • Configure the guideline in the mini program admin backend: 设置 → 服务内容声明 → 用户隐私保护指引 (Settings → Service content declaration → User privacy protection guideline).
  • Only the user information types declared in the guideline can be used; undeclared interfaces and components are disabled, a missing declaration returns errno 112, and a new declaration takes about five minutes to take effect.
  • If the guideline declares 未采集隐私 (no privacy data collected) or has no privacy agreement, the platform can revoke the interface permission.
  • Enforcement since October 17, 2023, base library 2.32.3 or later; before that date __usePrivacyCheck__: true in app.json turned the checks on.
  • APIs: wx.getPrivacySetting (needAuthorization, privacyContractName), wx.openPrivacyContract (opens the guideline), wx.onNeedPrivacyAuthorization (fires when a privacy API is called without consent), wx.requirePrivacyAuthorize, and <button open-type="agreePrivacyAuthorization"> to record consent.

Get a live URL first

Your WeChat declaration lists the data types; your privacy policy page explains purpose, retention, sharing and contact in full. Run the wizard as a Mobile App (free), tick the same data types you declare in the guideline, and link the hosted page from the mini program's about or settings page so the two stay consistent. The wizard and the page are available in Chinese.

Create the privacy policy page for your mini program (free)

Step-by-step: paste your privacy policy URL

  1. List the user information the mini program uses. Location, phone number, camera, album, clipboard, device info, user info: write down every type the code calls, because each needs a declaration.
  2. Fill the guideline in the admin backend. mp.weixin.qq.com → 设置 → 服务内容声明 → 用户隐私保护指引. Declare each information type and its purpose, add the developer's contact, and submit. Allow about five minutes before testing.
  3. Handle the privacy authorization in code. Call wx.getPrivacySetting on launch; if needAuthorization is true, show your own prompt with <button open-type="agreePrivacyAuthorization"> and wx.openPrivacyContract for the full text, or let WeChat's official popup handle wx.onNeedPrivacyAuthorization. A refusal returns error 103 or 104 and is not re-prompted within ten seconds.
  4. Publish the full privacy policy and link it. Host the complete policy (purpose, retention, sharing, rights, contact) on a stable HTTPS page and link it from the mini program's about page and from your app store listings, so the WeChat declaration and the policy say the same thing.
  5. Test on base library 2.32.3 or later and release. Verify that each privacy API works after consent and is blocked before it; then submit the release for review.

Field labels to look for

MP后台 → 设置 → 服务内容声明 → 用户隐私保护指引
The declaration form; the only place WeChat reads the privacy scope from.
errno 112
Returned when a privacy API is called without a declaration.
wx.openPrivacyContract
Opens the configured guideline inside the mini program.

Common reasons the form fails

  • Declaring 未采集隐私 while the code calls location or phone APIs
  • Testing within five minutes of saving the declaration
  • An English-only policy page for a Chinese-language mini program
  • Guideline and policy page listing different data types

FAQ

Does WeChat ask for a privacy policy URL?

Not as a URL field. It asks for the 用户隐私保护指引 declaration in the admin backend and enforces it in the APIs; your full privacy policy page is linked from the mini program itself.

Why do privacy APIs return error 112?

The information type is not declared in the guideline. Declare it under 设置 → 服务内容声明 → 用户隐私保护指引 and wait about five minutes.

When did enforcement start?

October 17, 2023, after the date was moved from September 15, 2023; base library 2.32.3 or later intercepts privacy API calls.

Related

Sources