Prepare for App Store Submission

App Privacy

HyperTrack values user privacy and is not engaging in tracking the user across apps. All the data that the HyperTrack SDK collects is used only to power HyperTrack features. The data is collected on device, and then securely transferred to HyperTrack cloud.

Submitting the App Privacy report

In the App Store Connect select your app and go to App Store > App Privacy. If this is the first time you are submitting a report tap the "Get Started" button; if you already have an existing report tap the "Edit" button next to the "Data Types" section.

  1. Data Collection. Choose "Yes, we collect data from this app" and tap "Next"
  2. Scroll to "Location" section and choose "Precise Location". This is the primary data that the SDK collects and securely transfers to HyperTrack cloud to power all the features
  3. Scroll to "Identifiers". Choose "User ID". HyperTrack SDK generates a random device_id when the SDK is unlocked with the publishable key for the first time. This ID is completely random and does not encode any user-specific information. It is used to identify the user's device in our APIs and it is reset when a user reinstalls the app
  4. Choose "Device ID". HyperTrack SDK uses Identifier for Vendor (IDFV) to identify the user between app reinstalls if the user has multiple apps from you. If the user only has one app from you, this identifier is also reset when a user reinstalls the app. This identifier is available as os_hardware_identifier in our APIs
  5. Tap "Publish"

Setting up how the data is collected

If this is the first time you are submitting a report tap "Set Up ..." next to a data identifier. If you already have an existing report tap the "Edit" button next to the specific data identifier.

Precise Location
  1. Choose "App Functionality" and tap "Next"
  2. Select "Yes, precise location data collected from this app is linked to the user’s identity" and tap "Next". This data is linked to the user through the randomly generated "device_id"
  3. Select "No, we do not use precise location data for tracking purposes" and tap "Publish"
User ID
  1. Choose "App Functionality" and tap "Next"
  2. Select "Yes, user IDs collected from this app are linked to the user’s identity" and tap "Next". In this case the "device_id" is used to identify the user
  3. Select "No, we do not use user IDs for tracking purposes" and tap "Publish"
Device ID
  1. Choose "App Functionality" and tap "Next"
  2. Select "Yes, device IDs collected from this app are linked to the user’s identity" and tap "Next". This data is linked to the user through the randomly generated "device_id"
  3. Select "No, we do not use device IDs for tracking purposes" and tap "Publish"

Complying with App Store Review Guidelines

HyperTrack SDK requires the use of the UIBackgroundModes key inside the Info.plist file to collect the location data when the user is on the move and the app is not on-screen. This is the typical automating work on the move use case. If the App Store review team is not convinced that background location access is justified for your app, they may reject it for violating the 2.5.4 section of App Store Review Guidelines.

Here are some tips that will help you avoid this:

  • Your app should have permission strings that clearly explain to your worker why the app needs their location. Those strings will be displayed in permission dialogs and in Settings.app.
  • Don't ask for permissions right when the app starts. Instead ask for permissions after the user action that starts location tracking session. It is best to have a separate screen in the app, explaining the use of location tracking with a button that triggers permission dialog.
  • App Store review requires your app to have visible features that depend on background location access. For example, your app can have a map, showing the worker his route to a customer, or a visual element explicitly explaining that location tracking is currently active and is used to automatically complete a task the worker is performing.
  • When submitting your app for review, include a video showcasing all your app features that require location permissions to test. App Store review team usually doesn't want to grant those permissions and the video significantly speed ups the review process. A link to an unlisted YouTube video works great in most cases.
  • If you comply with all of the above and still receive a review rejection, try resubmitting the build with a message response qualifying the needs location tracking in background, and why it's important:

    Tracking worker location in background is an essential feature in our system. It is used for accurate payout calculation, dispute resolution, and estimating arrival to destination (among other features). This is in line with the intended “location” use of background services.