---
updatedAt: 2026-03-02T11:14:11.000Z
---

# Android SDK Permissions

# ENGAGE® Android SDK Permissions

The ENGAGE SDK requires certain Android app permissions to be managed and coordinated by the host app. Without prompting users to enable these permissions, the SDK will not perform as expected. Some services provided by the SDK will not work properly without them. The main permission set supported:

* **Contact**

</br>

ENGAGE functionality is driven by the permissions a host app is comfortable asking the consumers. The set of ENGAGE components included in the host app’s `build.gradle` file also relates to the functionality and permissions required.

| **Permission Set**                     | **Functionality**                                                                                                                                            | **ENGAGE Components**                                                                                                                              |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| **READ\_CONTACTS and WRITE\_CONTACTS** | <ul><li>Displays content</li><li>Content is **not** cleaned up immediately after call</li><li>Call telemetry and answer rates are **not** captured</li></ul> | <ul><li>'com.firstorion:engage-core:3.1.X'</li><li>'com.firstorion:engage-contacts:3.1.X'</li><li>'com.firstorion:engage-firebase:3.1.X'</li></ul> |

</br>

* **Contact** - the system dialer shows a contact that has been previously created by the SDK on an incoming call
  * *READ\_CONTACTS* and *WRITE\_CONTACTS*
    * The Contacts group is categorized as a  ***dangerous permission***
    * *READ\_CONTACTS* is required to prevent the SDK from overwriting an existing contact
    * *WRITE\_CONTACTS* is required to create and remove the contact

[block:callout]
{
  "type": "info",
  "body": "The host app has the option of alerting ENGAGE to permission changes manually.\n\n ``` kotlin\n EngageApp.onPremissionChanged()\n ```\n\nThis step is optional as ENGAGE will check the permission state on its own.",
  "title": "NOTE"
}
[/block]