Skip to content
Narvy

AccessibilityService API permission: Play Console declaration

Your build requests BIND_ACCESSIBILITY_SERVICE. Google Play only allows it when the service helps people with disabilities (only such tools may set isAccessibilityTool), or, for any other use, the app shows a prominent disclosure and gets the user's affirmative consent, and asks for a declaration in Play Console (Policy, App content). Qualify and declare, or remove the permission and use the dedicated APIs for what the service does (autofill framework, notification listener, media session), when one exists.

What it means

Starting November 3, 2021, apps that target API level 31 and include an AccessibilityService will need to complete a new policy declaration in Play Console.

Use of the AccessibilityService API

Google Play treats BIND_ACCESSIBILITY_SERVICE as access to sensitive data or capabilities. An app that requests it must qualify for an allowed use and say so in a declaration in Play Console; Google can reject an update, or remove the app, when the use is not declared or not allowed. It is allowed when the service helps people with disabilities (only such tools may set isAccessibilityTool), or, for any other use, the app shows a prominent disclosure and gets the user's affirmative consent.

Rejections for this policy arrive as Play Console policy messages whose wording varies, so this page quotes the policy itself rather than one message.

Deadline

No upcoming date is recorded by the store check: the policy is in force, and the declaration is checked at review.

How to fix it

1. Check whether your app qualifies

The permission is allowed when the service helps people with disabilities (only such tools may set isAccessibilityTool), or, for any other use, the app shows a prominent disclosure and gets the user's affirmative consent. If that is not your app's core feature, do not declare it: remove it.

2. If it qualifies: fill in the declaration

In Play Console, open Policy, then App content, and complete the declaration for this permission: the feature that needs it, why no alternative works, and, when Play Console asks for it, a short video of the feature.

3. Otherwise: remove it, including from libraries

Use the dedicated APIs for what the service does (autofill framework, notification listener, media session), when one exists. If a dependency adds the permission, remove it from the merged manifest:

Remove the corresponding declarations from the manifest, then rebuild.

Check before you submit

Upload the APK, AAB or split-APK set (XAPK, APKS, APKM) on the store check page. It runs PLAY-PERMISSION-DECLARATION against the dates on this page, then deletes the file: nothing about the app is kept. The same engine runs offline in the Narvy CLI, and exits with code 1 when a blocker is found, so it can gate a CI job.

Offline, from a terminal (narvy-cli 1.2.0 or later)
narvy store-check app-release.aab

Check a build in the browser

FAQ

A library added this permission. Is my app concerned?

Yes. Google reviews the uploaded build, and its merged manifest includes the permissions of every dependency. Remove it with tools:node="remove" if the app does not need it.

Does the store check tell me whether my use is allowed?

No. It detects the permission in the build and tells you a declaration is needed. Whether the use qualifies is Google's review decision.