Skip to content
  • There are no suggestions because the search field is empty.

Appsflyer Integration

Automating privacy operations by integrating MineOS to AppsFlyer

This integration enables you to automate Data Subject Requests (DSR) for user data in AppsFlyer:

  • Delete (AppsFlyer erasure request)
  • Copy (AppsFlyer access request)

Requests are sent to AppsFlyer's OpenDSR (GDPR requests) API. MineOS opens the request, then tracks it to completion on its own — no manual follow-up is needed.

This is the API-based AppsFlyer integration. It is separate from AppsFlyer (Email request), which sends a privacy request by email. Use one or the other, not both.

Prerequisites

  • Your MineOS plan must support integrations
  • An AppsFlyer account with access to the OpenDSR (GDPR requests) API
  • An AppsFlyer API V2 token. An admin creates it in AppsFlyer: open the account menu (your email address in the top bar) → Security centerAppsFlyer API tokensManage your AppsFlyer API tokens. AppsFlyer shows the token only once, so copy it before closing the dialog.
  • The App ID of the app the requests should cover (for example com.example.app or id123456789)

Choosing the right integration type

AppsFlyer has no email or phone identifier of its own. A user is matched by the identifier your app reports to AppsFlyer — in practice the Customer User ID (CUID). MineOS therefore offers three integration types, which differ only in which identifier MineOS takes from the privacy request:

Integration Type MineOS sends AppsFlyer Use it when
AppsFlyer (API, email) The requester's email address Your app sets the CUID to the user's email
AppsFlyer (API, phone) The requester's phone number Your app sets the CUID to the user's phone number
AppsFlyer (API, user ID) The user's internal ID in your systems Your app sets the CUID to your own user ID

Whichever you pick, the value is sent under the AppsFlyer identifier field you configure (Customer User ID by default). If your app does not populate that field, AppsFlyer will not be able to find the user.

Setup instructions

  1. Navigate to Data Inventory > Data Sources in the left sidebar
  2. Click Add data source
  3. Select AppsFlyer from the catalog
  4. Go to the AppsFlyer page in Data Inventory
  5. In the Request Handling tab:
    • Check "Handle this data source in privacy requests"
    • Choose Integration handling style
  6. Select the Integration Type that matches the identifier your app reports — AppsFlyer (API, email), AppsFlyer (API, phone) or AppsFlyer (API, user ID)
  7. Fill in the connection details:
    Field Required Value
    V2 API Token Yes Your AppsFlyer API V2 token
    App ID Yes The AppsFlyer App ID the requests are scoped to
    Platform (ios / android) Yes The platform of that app
    AppsFlyer identifier field No The AppsFlyer identity the value is sent as. Leave empty for customer_user_id. Other accepted values: appsflyer_id, idfv, ios_advertising_id, android_advertising_id, fire_advertising_id, microsoft_advertising_id
  8. Click Test your integration to validate the connection
  9. Click Test & Save

How requests are handled

Deletion requests — MineOS opens an AppsFlyer erasure request and keeps the privacy request open until AppsFlyer reports it completed.

Copy requests — MineOS opens an AppsFlyer access request. Once AppsFlyer has generated the report, MineOS downloads it automatically and attaches it to the copy report.

Timeline — what to expect

AppsFlyer fulfils privacy requests on a fixed ~10-day cycle, so both request types are asynchronous:

Stage AppsFlyer status Duration
Request received, grace period before processing starts pending 48 hours
Request being processed in-progress up to 8 days
Done — deletion applied, or report ready to download completed

MineOS checks the status once a day and completes the request as soon as AppsFlyer reports completed. A request that has not completed after 14 days (deletion) or 21 days (copy) is flagged so an agent can review it.

Because the cycle is measured in days, an AppsFlyer request will normally be the last one in the privacy request to close. This is expected and does not indicate a failure.

Limitations

  • No Preview / content discovery. This integration handles deletion and copy requests only; it does not scan AppsFlyer for PII and cannot preview a user's data before the request is executed.
  • No email or phone matching inside AppsFlyer. A user is only found if your app reports the identifier you configured. See Choosing the right integration type above.
  • A canceled request is not a completed one. If the request is canceled in AppsFlyer, MineOS reports an error rather than marking the request as fulfilled.
  • Reports are not retained. AppsFlyer does not guarantee how long a completed copy report stays available, so MineOS downloads it as soon as the request completes.

Troubleshooting

Message What it means
Failed to connect to the AppsFlyer API. Please check the V2 API token and try again. The token is wrong, revoked, or lacks OpenDSR access. Regenerate it in AppsFlyer's Security center.
AppsFlyer App ID is missing The App ID field is empty.
'…' is not an AppsFlyer identifier field The AppsFlyer identifier field value is not one of the accepted identities. Leave it empty to use customer_user_id.
AppsFlyer does not know request … The request ID is no longer recognized by AppsFlyer. Re-trigger the action on the privacy request.
AppsFlyer request … was canceled The request was canceled on the AppsFlyer side and has to be re-opened.

Next steps