Use of SMS or Call Log permission groups

Google Play restricts the use of high risk or sensitive permissions, including the SMS or Call Log permission groups. 

If your app does not require access to Call Log or SMS permissions, you must remove these permissions from your app's manifest. Details on policy compliant alternative implementation are also detailed below. 

If you believe your app meets the policy requirements for acceptable use or is eligible for an exception, submit a Permissions Declaration Form as soon as possible for Google Play to review. You will be notified if your request has been approved. You do not need to have implemented APK changes in order to submit the Declaration Form.

For apps with Declaration Forms submitted, Google Play, at its discretion, may grant extensions until March 9, 2019 for you to make changes to bring your app(s) into compliance with this Play policy. If you do not plan on using these permissions, but still require additional time to bring your app(s) into compliance, please complete the Declaration Form

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

When should you access these permissions

You should only access Call Log or SMS permissions when your app falls within permitted uses and only to enable your app’s core functionality. 

Core functionality is defined as the main purpose of the app. It's the feature most prominently documented and promoted in the app’s description; no other feature is more central to the app’s functionality. If this feature isn't provided, the app is “broken” or rendered unusable (i.e., app is deprived of its primary functionality and will not perform as a user would expect).

Collapse All Expand All

Permitted uses of the SMS & Call Log Permissions

For apps requesting access to the SMS or Call Log permissions, the intended and permitted uses include default SMS handling, default phone handling, or Assistant handling capability.

Apps must be actively registered as the default SMS, Phone, or Assistant handler before prompting users to accept any of the above permissions and must immediately stop the use of the permission when they no longer are the default handler. 

Use

Eligible permissions*

Default SMS handler  (and any other core functionality usage while default handler)

READ_SMS, RECEIVE_MMS, RECEIVE_SMS, RECEIVE_WAP_PUSH, SEND_SMS, WRITE_SMS

Default Phone handler (and any other core functionality usage while default handler)

SEND_SMS

PROCESS_OUTGOING_CALLS, READ_CALL_LOG, WRITE_CALL_LOG

Default Assistant handler (and any other core functionality usage while default handler)

READ_SMS, RECEIVE_MMS, RECEIVE_SMS, RECEIVE_WAP_PUSH, SEND_SMS, WRITE_SMS

READ_CALL_LOG


* Subject to Google Play review and approval.

Exceptions

Google Play may provide a temporary exception to apps that aren't Default SMS, Phone, or Assistant handlers when:

  • Use of the permission enables the core app functionality listed below; and
  • There is currently no alternative method to provide the core functionality

Use

Eligible permissions*

Account verification via phone call

Device may be verified by transmitting a phone call; receipt of phone call is confirmed by verifying number in call log

READ_CALL_LOG

Backup and restore for users

User content backup, restore and cloud storage

READ_SMS, RECEIVE_MMS, RECEIVE_SMS, RECEIVE_WAP_PUSH, WRITE_SMS

READ_CALL_LOG, WRITE_CALL_LOG

Enterprise archive and device management

Device management for corporate entities for their employees; corporate login required for access

READ_SMS, RECEIVE_MMS, RECEIVE_SMS, RECEIVE_WAP_PUSH, WRITE_SMS

READ_CALL_LOG, PROCESS_OUTGOING_CALLS, WRITE_CALL_LOG

Caller ID, spam detection, and spam blocking

READ_SMS, RECEIVE_MMS, RECEIVE_SMS, RECEIVE_WAP_PUSH, SEND_SMS,

READ_CALL_LOG, PROCESS_OUTGOING_CALLS

Connected device companion apps that enable sending and receiving of SMS or calls

Apps that enable the user to connect a mobile device to a connected device (for example, a smartwatch, automotive, smart home device, etc.) and send/receive texts and phone calls

READ_SMS, RECEIVE_MMS, RECEIVE_SMS, RECEIVE_WAP_PUSH, SEND_SMS, WRITE_SMS

PROCESS_OUTGOING_CALLS, READ_CALL_LOG, WRITE_CALL_LOG

Cross-device synchronization or transfer of SMS or calls

Apps that enable the user to sync texts and phone calls across multiple devices (such as between phone and laptop)

READ_SMS, RECEIVE_MMS, RECEIVE_SMS, RECEIVE_WAP_PUSH, SEND_SMS

READ_CALL_LOG

Device automation

Apps that enable user to automate repetitive actions across multiple areas of the OS, based on one or more set conditions (triggers) by the user

READ_SMS, RECEIVE_MMS, RECEIVE_SMS, RECEIVE_WAP_PUSH, SEND_SMS, WRITE_SMS

 

READ_CALL_LOG, WRITE_CALL_LOG, PROCESS_OUTGOING_CALLS

SMS-based financial transactions (e.g., 5 digit messages), and related activity including OTP account verification for financial transactions and fraud detection 

READ_SMS, RECEIVE_MMS, RECEIVE_SMS, RECEIVE_WAP_PUSH, SEND_SMS

Track, budget, manage SMS-based financial transactions (e.g., 5 digit messages) and related account verification 

READ_SMS, RECEIVE_MMS, RECEIVE_SMS, RECEIVE_WAP_PUSH

Physical safety / emergency alerts to send SMS

Apps that send SMS alerts in emergency situations

SEND_SMS

Proxy calls 

Apps that provide an intermediary number to enable user calls/texts

PROCESS_OUTGOING_CALLS, READ_CALL_LOG, WRITE_CALL_LOG

SMS Cell Broadcast

Apps that use Cell Broadcast messaging for customer communications

RECEIVE_SMS

Write and Show Call History in Dialer

Apps that document call history in a user’s dialer

WRITE_CALL_LOG


* Subject to Google Play review and approval.

Note: Apps for carrier and OEM services may request permissions 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 risk of data exposure doesn't warrant access. 

Below is a list of common use cases that won't be permitted to access sensitive user data associated with SMS and Call Log permissions: 

  • Account verification via SMS (see Alternatives below)
  • Content sharing or invites (see Alternatives below)
  • Contact prioritization, affinity profiles or social graphs
  • Anti-virus / security

  • Call recorder

  • Device performance booster, space or data management

  • Family or device locator

  • Smart or predictive keyboard

  • SMS or calls appearing in wallpaper, launcher, and other tools

  • SMS Translation

  • Text to voice, speech/voice to text [when not default handler or eligible exception]

  • SMS and Contacts management [when not default handler or eligible exception]

  • SMS or Phone Notification Enhancement and Alerts [when not default handler]

Note: This list is not exhaustive.

Alternatives to common uses

Use

Alternatives

SMS OTP & account verification

With the SMS Retriever API, you can perform SMS-based user verification in your app automatically, without requiring the user to manually type verification codes, and without requiring any extra app permissions.

If the SMS Retriever API is not an option for your app, users can also manually enter a verification code.

Initiate a text message

With the SMS Intent, your apps can initiate an SMS or MMS text message.

Share content

With the Share Intent, your app can enable users to share content or send invites through a variety of supporting apps without requiring sensitive app permissions.

Initiate a phone call

With the Dial Intent, your app can specify a phone number and open the phone app. The user can then explicitly initiate the phone call.

The Dial Intent doesn't require the CALL_PHONE permission.

 

Important: If your app's usage of these restricted permissions changes, you must submit the form again with updated and accurate information. Deceptive and non-declared uses of these permissions may result in a suspension of your app and/or termination of your developer account.

Was this article helpful?
How can we improve it?