Use of All files access (MANAGE_EXTERNAL_STORAGE) permission

Google Play restricts the use of high-risk or sensitive permissions, including special app access called All files access. This is only applicable to apps that target Android 11 (API level 30) and declare the MANAGE_EXTERNAL_STORAGE permission, which is added in Android 11. Also, this policy does not impact the usage of the READ_EXTERNAL_STORAGE permission.

If your app does not require access to the MANAGE_EXTERNAL_STORAGE permission, you must remove it from your app's manifest in order to successfully meet the policy review requirements. Details on policy-compliant alternative implementations are also enumerated below.

If your app meets the policy requirements for acceptable use or is eligible for an exception, you will be required to declare this and any other high-risk permissions using the Permissions Declaration Form in Play Console.

Apps that fail to meet policy requirements or do not submit a Permissions Declaration Form may be removed from Google Play.

When should you request the All files access permission?

You should only access the All files access permission when your app cannot effectively make use of the more privacy-friendly best practices, such as the Storage Access Framework or the MediaStore API. Keep in mind that your app shouldn’t declare permissions that it doesn’t need or use.

Core functionality

Additionally, the app’s usage of the permission must fall within permitted uses and must be directly tied to the core functionality of the app. Core functionality is defined as the main purpose of the app. Without this core functionality, the app is "broken" or rendered unusable. The core functionality, as well as any core features that comprise this core functionality, must all be prominently documented and promoted in the app's description.

When an app’s core functionality requires All files access permission, the developer must complete the Permissions Declaration Form and receive approval from Google Play.

Collapse All Expand All

Permitted uses of the All files access permission

For apps requesting access to the All files access permission, intended and permitted use includes file managers, backup and restore apps, anti-virus apps, and document management apps.

Apps granted access to this permission may not extend its use to undisclosed or invalid purposes.

Use

Eligible permission*

File management

App’s core purpose involves the access, editing, and management (including maintenance) of files and folders outside of its app-specific storage space

MANAGE_EXTERNAL_STORAGE

 

Backup and restore apps

App must have a need to automatically access multiple directories outside of its app-specific storage space for the purpose of backup and restore

Anti-virus apps

App’s core purpose is to scan the device and provide anti-virus security features to the device user

Document management apps

Apps that must locate, access, and edit compatible file types outside of its app-specific or shared storage

App must justify in their Console declaration why the solutions documented in the Access app-specific files or Storage Access Framework (a privacy-friendly option) documentation are not sufficient for their purpose

Search (On Device)

App’s core purpose is to search through files and folders across the device’s external storage

Disk/Folder Encryption and Locking

App’s core purpose is to encrypt files and folders

Device Migration/Phone transfer

App’s core purpose is to help the user migrate to a new device


* Subject to Google Play review and approval.

Exceptions

Google Play may provide a temporary exception to apps that do not qualify as permitted use designated above, when:

  • The use of the permission enables the app’s core functionality.
  • There is currently no alternative method to provide the core functionality, or the use of privacy-friendly alternatives (for example, MediaStore API or Storage Access Framework) has a substantially detrimental impact on the critical features of the app that are tied to the core functionality.
  • The impact on user privacy is mitigated by security and privacy best practices.

The developer must justify in their Console declaration why the Storage Access Framework or MediaStore API is not sufficient for their app’s purpose.

Note: Apps for carrier and OEM services, and private apps published under the Managed Google Play distribution platform may request permission access for the above use cases, in addition to critical services that require access.
Invalid uses

In some cases, apps may wish to access sensitive user data for purposes where a safer and more secure alternative exists, or where the risk of data exposure doesn't warrant access.

Below is a list of common use cases that won't be permitted to request the MANAGE_EXTERNAL_STORAGE permission

  • Media Files access (see Alternatives below)
  • Any File selection activity where the user manually selects individual files (see Alternatives below)

Note: This list is not exhaustive. For in-depth guidance, refer to the All files access documentation and Scoped storage best practices guidance for developers.

Recommended privacy-friendly alternatives

Use

Alternatives

Access of Media Files

With the MediaStore API, apps can contribute and access media that’s available on an external storage volume without the need for the access All files permission. With the MediaStore API, users can easily retrieve and update media files. These files remain in the external storage volume on the user’s device — even after the app is uninstalled.

User selects files for importing/transferring/processing

Developers should consider using Storage Access Framework as the privacy-friendly option for accessing files in shared storage. This framework supports the vast majority of use cases for apps to accomplish a full range of functionality.

Important If you change how your app uses these restricted permissions, you must submit the form again with updated and accurate information. Deceptive and undeclared uses of these permissions may result in a suspension of your app and/or termination of your developer account.

Was this helpful?

How can we improve it?
Search
Clear search
Close search
Main menu
10629761984582869138
true
Search Help Center
true
true
true
true
true
92637
false
false