Alert EnterpriseWiki

Wavelynx vs Hid

Structural diff of the apple · issuance flows. Steps are aligned by their semantic equivalenceKey; the center column surfaces deltas in envelope kinds, actor kinds, and trust crossings. Hover any row to focus it.

apple · issuance17 vs 20 steps
WavelynxApple Wallet
Wavelynx — Apple Wallet issuance
17 steps4 envelopes
Diff
3Aligned
0Identical
14Only A
17Only B
HIDApple Wallet
HID — Apple Wallet issuance (iOS)
20 steps4 envelopes
  1. User opens the credential management app on the deviceOnly in hid
    1UserAE Wallet App

    User opens AE Wallet App

  2. User signs in to the app (email + password / SSO / invitation cred)Only in hid
    2UserAE Wallet App

    Sign in (email + temporary password from invitation)

  3. Partner authenticates and requests a bearer tokenOnly in hid
    3AE Wallet AppAE NFC Cloud

    POST /authenticate/verify

    TLS
    Trust boundary
  4. App / CP generates a 2FA challenge for the userOnly in hid
    4AE Wallet AppAE NFC Cloud

    api/auth/twofactor/generate (optional 2FA)

    API-key
  5. App submits the 2FA code; CP verifiesOnly in hid
    5AE Wallet AppAE NFC Cloud

    api/auth/verifyuser2f (validate OTP)

    API-key
  6. CP returns bearer token to partnerOnly in hid
    6AE NFC CloudAE Wallet App

    Auth token returned

    TLS
  7. App persists auth token to OS keystore and enables biometric unlockOnly in hid
    7AE Wallet AppAE Wallet App

    Save token to iOS Keychain · enable biometric if available

  8. App fetches cardholder profile / photo / metadata for displayOnly in hid
    8AE Wallet AppAE NFC Cloud

    api/mobilecred/user/me (get user profile)

    TLS
  9. App fetches cardholder profile / photo / metadata for displayOnly in hid
    9AE Wallet AppAE NFC Cloud

    api/binaryresource/download (cardholder photo)

    TLS
  10. User taps Add to Wallet inside the credential-management appOnly in hid
    10UserAE Wallet App

    User taps "Add to Apple Wallet"

  11. 1PartnerWavelynx

    POST /provisioning (display, role, photo, group_id)

    TLS
    Trust boundary
    Partner POSTs provisioning request to credential provider
    from actor kind: partner → servicetrust crossing: yes → no
    11AE Wallet AppAE NFC Cloud

    api/mobilecred/card/add

    TLS
  12. 2WavelynxWavelynx

    Persist credential record (status PENDING)

    CP persists credential record in PENDING stateOnly in wavelynx
  13. 3WavelynxPartner

    201 Created (vuid)

    TLS
    CP returns credential identifier to partnerOnly in wavelynx
  14. 4End-user deviceApple Wallet

    User initiates Add to Apple Wallet

    User taps Add to Wallet on deviceOnly in wavelynx
  15. 5Apple WalletWavelynx

    Server-to-server fetch — provisioning bundle / pass credential data

    mTLS
    Trust boundary
    Wallet platform fetches provisioning bundle from CPOnly in wavelynx
  16. 6WavelynxGoogle Cloud KMS

    Decrypt master keyset for partner site

    KMS-wrap
    KMS unwraps master keyset for the credential providerOnly in wavelynx
  17. 7Google Cloud KMSWavelynx

    Master keyset (memory only, not persisted)

    KMS-wrap
    KMS returns keyset plaintext into memory (never persisted)Only in wavelynx
  18. 8WavelynxWavelynx

    Diversify per-credential key, wrap per Apple key-wrapping spec

    Derive per-credential key from a master keyOnly in wavelynx
  19. 9WavelynxWavelynx

    Assemble bundle — DESFire profile, wrapped keys, pass display fields

    CP assembles signed provisioning bundle
    kind: self → requestto actor kind: service → platformenvelopes: [none] → [mTLS]trust crossing: no → yes
    12AE NFC CloudHID Origo

    Issue credential (POST /organization/{orgId}/users · Mobile ID)

    mTLS
    Trust boundary
  20. 10WavelynxApple Wallet

    Provisioning bundle (JWS signed)

    mTLS
    Trust boundary
    CP delivers provisioning bundle to wallet platformOnly in wavelynx
  21. CP returns an issuance token the device-side SDK will redeemOnly in hid
    13HID OrigoAE NFC Cloud

    Issuance token

    mTLS
  22. CP returns an issuance token the device-side SDK will redeemOnly in hid
    14AE NFC CloudAE Wallet App

    Issuance token relayed to app

    TLS
  23. Device-side SDK invokes setupEndpoint to begin pass installationOnly in hid
    15AE Wallet AppHID Origo iOS SDK

    createInitializedMobileKeysManager · listWalletPasses · getAvailableTargets

  24. Device-side SDK invokes setupEndpoint to begin pass installationOnly in hid
    16HID Origo iOS SDKHID Origo

    origoKeysManager?.setupEndpoint (issuance token, target .appleWallet)

    mTLS
    Trust boundary
  25. Mediator / SDK pushes the credential into the wallet platformOnly in hid
    17HID OrigoApple Wallet

    Deliver Seos credential to Apple Pay (HID Origo Integration Service)

    mTLS
    Trust boundary
  26. 11Apple WalletEnd-user device

    Deliver and provision pass on device

    Wallet platform installs credential on device
    kind: async-event → responseto actor kind: device → serviceenvelopes: [none] → [mTLS]
    18Apple WalletHID Origo iOS SDK

    Pass provisioned on device

    mTLS
  27. 12End-user deviceApple Wallet

    Provisioning confirmation

    Device confirms provisioning to wallet platformOnly in wavelynx
  28. 13Apple WalletWavelynx

    POST eventNotification (PROVISIONED)

    mTLS
    Trust boundary
    Wallet sends webhook with provisioning outcomeOnly in wavelynx
  29. 14WavelynxWavelynx

    Update credential status → ACTIVE

    Internal: PENDING → ACTIVE state transitionOnly in wavelynx
  30. 15WavelynxPartner

    Webhook (status ACTIVE)

    x-api-key
    Trust boundary
    CP notifies partner that credential is ACTIVEOnly in wavelynx
  31. 16WavelynxApple Wallet

    200 OK (synchronous response to Apple)

    mTLS
    CP acks wallet platform's bundle fetchOnly in wavelynx
  32. 17PartnerWavelynx

    200 OK (webhook acknowledged)

    x-api-key
    Partner acks CP's webhook deliveryOnly in wavelynx
  33. App reports back to CP that the credential was successfully issuedOnly in hid
    19AE Wallet AppAE NFC Cloud

    api/mobilecred/card/save (mark issued)

    TLS
  34. CP updates internal credential lifecycle statusOnly in hid
    20AE NFC CloudHID Origo

    Status confirmation

    mTLS
Hover a row to focus.
Identical structureStructural deltaOnly in wavelynxOnly in hid
Source
  • src/wallet-api-data-flow-architecture-v1.0.12.pdf §5.2 Issuance flow
  • src/Architecture & Sequence Diagrams/Alert Enterprise - Mobile Credentials Flow - Internal_Engineering_Team.pptx slides 8-9 (HID iOS Credential Provisioning)
  • src/Architecture & Sequence Diagrams/Employee Badge in Apple Wallet Integration Architecture for HID.pptx HID-Apple architecture diagram
  • src/web/hid-origo-api/04-credential-management.md PPPU and setupEndpoint pattern
Verifying access
Desktop only

The AE Mobile Wiki needs a bigger screen.

The diagrams, comparisons, and animated flows aren't built for phones. Open this link on your laptop or desktop browser and you'll see the full reference.

wiki.alertenterprise.app

Same Google sign-in as the AE App Hub — you'll be in once you open it on a larger screen.