1. From us
-
baseUrl, yourappCredential,trustOperatorKey, the trust bundle URL, and the policy bundle URL and digest (What you need from us). - The platforms you’ll verify, each confirmed to have an SDK pack.
- Confirmation that production is live for your users’ region. Until then, integrate against the test configuration we give you.
2. Decide
- Your minimum OS, at or above the SDK’s: iOS 14.0 and Android 7.0 (API 24).
- How your app hashes its user id into
userIdHash. Never send the raw id. - Your disclosure text, in each language your app supports.
3. Integrate
- Your backend creates a new SDK run for every attempt, and terminates runs the app abandons (Create an SDK run).
- Your backend handles the webhook, including results that arrive after the user has left the app.
- Your app pins the version:
from: "1.0.0",~> 1.0or1.0.0. Read the changelog before every upgrade. - One
ZktlsClientper run, and one run at a time, as in the iOS and Android code. - Background time held from the
attestingphase untilrunTreereturns:ZkTlsLifecycle, plusZkTlsSessionServiceon Android. - A message for every error case, and no automatic retry.
- No token, cookie or credential in your logs.
4. Test
- On a real iPhone at your minimum iOS, and on a mid-range and a low-end Android phone.
- Decline the disclosure. Close the sign-in page. Tap a link off the platform. Leave the app during the hand-off. Switch from Wi-Fi to cellular. Each case ends cleanly, and the user can start again.
- Your release build (R8 on Android) launches and completes a run.
5. Store submission
- App Store privacy. The SDK’s privacy manifest is included for you. Add its answers to your App Privacy: User ID and Coarse Location, linked to the user, for App Functionality. Then add the data types your verification collects. Details.
- Google Play Data safety. Declare the SDK’s part, and the permissions and
shortServiceforeground service it adds. Details. - Export compliance. Get your counsel’s answer, and set
ITSAppUsesNonExemptEncryptionin yourInfo.plist. Details. - App Review. Write notes on the sign-in WebView, and provide a working demo account for each platform. Details.
- Confirm you have the right, under each platform’s terms, to access the account on the user’s behalf (Apple guideline 5.2.2).
- Add the SDK’s open-source notices to your app’s notices screen.
6. Go live
- Point
baseUrl, the bundle URLs and your Partner API key at production. - Fetch the trust bundle before every run, and pass its URL as
trustBundleUrl. - Watch the error cases you log. A
PolicyorWrongEvidenceerror that repeats is worth reporting to us.
