Open Banking Vietnam

Digital Trust and Zero Trust Device Security for Banking

In large-scale banking environments, identity alone is not enough. Institutions must establish trust in the user, the device, the session, and the transaction context — and re-establish it continuously. Curity is positioned as the identity and policy control plane that orchestrates trusted journeys across channels and integrates with specialized device, biometric, risk, and signing services.

Overview

CIAM for Digital Trust and Zero Trust Access

Modern banking and digital financial ecosystems require more than basic user authentication. In large-scale environments such as mobile banking, internet banking, open banking, partner ecosystems, and high-risk digital service channels, identity alone is not sufficient. Financial institutions must be able to establish trust not only in the user, but also in the device, the session, the channel, the transaction context, and the surrounding risk signals. This is the foundation of a Digital Trust architecture and a practical Zero Trust operating model.

Within this model, a CIAM platform is no longer limited to login and token issuance. It becomes the central orchestration and policy layer that coordinates user authentication, device trust, contextual evaluation, approval journeys, and adaptive decisions across onboarding, login, step-up authentication, and transaction authorization. This aligns with the architecture described in the technical materials, where Curity acts as the orchestration and control layer, while specialized services such as OCR/eKYC, device intelligence, fraud engines, biometrics, and signing components can be integrated as external capabilities through APIs and extensibility mechanisms.

In this architecture, trust is established through multiple layers working together. User identity is verified through strong authentication methods. Devices are evaluated based on registration status, device binding, posture, and integrity. Sessions and requests are enriched with contextual signals such as IP address, location, operating system, browser, time, and behavioral anomalies. Transactions are assessed based on value, sensitivity, and channel. The solution then applies policy to determine whether to allow, challenge, step up, restrict, or deny the request. This approach reflects the contextual access and real-time decisioning model already described in the solution materials.

The following overview defines how Curity should be positioned within this model: as the identity and policy control plane for Digital Trust and Zero Trust access, designed to orchestrate trusted journeys across banking channels and integrate with external trust, risk, and verification services.

Curity as the Identity and Policy Control Plane

In a Digital Trust architecture, Curity should be positioned as the identity and policy control plane rather than as a monolithic platform expected to natively perform every specialized trust or fraud function. This distinction is important both technically and architecturally.

Curity’s primary role is to centralize and orchestrate authentication, authorization, session control, token issuance, account-related flows, and policy-driven decisions. It provides the core mechanisms required to enforce consistent identity and access rules across channels and systems. These include support for modern standards and protocols, API-driven authentication through HAAPI, strong extensibility through Authentication Actions and scripting, user and account management integration, CIBA-based decoupled authentication, and the ability to enrich flows with contextual and external data. This positioning is directly supported by the technical materials, which describe Curity as the orchestration layer for registration journeys, trusted-device authentication, contextual access, and external API-driven verification flows.

As the control plane, Curity performs several core functions.

First, it authenticates users through strong and flexible authentication patterns. These may include passwords, MFA, passkeys, WebAuthn, device-bound credentials, decoupled authentication, and cross-channel approval. Second, it issues tokens and sessions that represent not only user identity, but also achieved assurance level and, where designed, the relevant device or contextual state. Third, it orchestrates complex flows such as onboarding, QR login, push approval, CIBA-based backchannel approval, biometric authentication, and step-up challenges. Fourth, it evaluates or consumes policy inputs from internal logic and external systems in order to allow, deny, step up, or redirect the journey.

What Curity does not need to do natively is replace every surrounding specialist system. In a bank-grade architecture, device intelligence, fraud scoring, OCR/eKYC processing, liveness verification, transaction signing, app attestation, and other advanced trust services may be provided by external components. Curity integrates these capabilities into a unified identity and policy framework. This model allows financial institutions to preserve flexibility, avoid lock-in, and evolve individual trust services without rewriting the core CIAM layer.

This orchestration model is clearly reflected in the provided materials. For onboarding, Curity coordinates registration journeys while external OCR/eKYC and biometric engines perform extraction and verification. For trusted-device and push/QR login use cases, Curity orchestrates the authentication and approval journey while external device or mobile components provide trusted-device interaction and device trust signals. For contextual access, Curity consumes context and risk information and enforces adaptive policies.

This is why Curity should be described as the control plane for Zero Trust identity: it centralizes decision logic, orchestrates trust-aware journeys, and ensures policy consistency across distributed channels and external trust services.

Trusted Identity, Trusted Devices, and Adaptive Access

Traditional identity systems focused mainly on proving who the user is. In modern banking, that is only one part of the trust decision. The institution must also determine whether the request is coming from a registered and trusted device, whether the device posture remains acceptable, whether the session context is normal, and whether the requested action fits the user’s expected profile and policy.

This creates a three-part trust model: trusted identity, trusted devices, and adaptive access.

Trusted identity means that the user has been authenticated with a level of assurance appropriate to the action being performed. This may include password-based login, MFA, local biometrics unlocking device-bound credentials, passkeys, WebAuthn, or step-up authentication. The materials already describe Curity’s support for passkeys, WebAuthn, biometrics-related orchestration, HAAPI-based mobile flows, and strong authentication patterns for banking.

Trusted devices means that the platform can associate a customer or account with one or more registered devices and evaluate whether a current request originates from a known and acceptable device. This is not limited to storing a device identifier. In the proposed solution, trusted devices include device binding, device lifecycle handling, device relationship models, first-device policy, replacement and re-binding logic, and device trust status. The solution materials explicitly describe account-to-device relationships, multiple devices per customer, trusted-device approval flows, and device-related management needs such as lost device, replace device, and add new device.

Adaptive access means that the platform does not make static, one-time trust decisions. Instead, access is evaluated dynamically based on context and risk. Signals such as IP address, location, operating system, browser, device status, time, geolocation anomalies, and other risk inputs can affect the result of an authentication or authorization decision. Based on this evaluation, the platform may allow the request, require step-up authentication, invoke additional checks, limit functionality, or deny access entirely. This model is consistent with the contextual access capability described in the technical materials, including Conditional Multi-Factor, geolocation actions, time-based deny logic, action and context attributes, and integration with external risk engines.

Together, these three elements create a stronger and more realistic trust model for digital banking. A valid user identity without a trusted device may not be sufficient. A trusted device without current contextual validation may not be sufficient. A low-risk login posture may not be sufficient for a high-risk transaction. By combining trusted identity, trusted device, and adaptive access, the bank can apply security proportionate to risk while maintaining a smoother customer experience for routine actions.

This model also supports a shift away from weak, standalone authentication factors toward higher-assurance journeys that combine device binding, local biometrics, passkeys, push approval, QR-based cross-channel confirmation, and context-aware step-up. In this sense, CIAM becomes the operational foundation for Digital Trust rather than merely an identity repository.

Zero Trust for Banking Channels and Transactions

Zero Trust in banking should not be interpreted only as a network architecture principle. It must also be applied to customer identity journeys, digital channels, approval workflows, and transaction authorization decisions. Banking environments operate across multiple access channels, including mobile apps, web banking portals, kiosks, open banking APIs, partner channels, customer support-assisted flows, and internal operational systems. A customer may start a session on one channel and approve it on another. A transaction may originate from a web browser but require confirmation on a registered mobile device. A device that was trusted during onboarding may later show integrity issues or unfamiliar behavior. Under these conditions, trust cannot be granted permanently or globally. It must be established and re-established continuously.

A Zero Trust model for banking therefore requires the following principles. Every channel must be subject to the same identity and policy framework, even if the UX differs. Strong authentication and approval flows must be orchestrated consistently across mobile, web, and cross-channel journeys. Device trust must be continuously evaluated rather than assumed. Contextual and environmental signals must influence access decisions. Sensitive transactions must trigger stronger controls than routine actions. External trust services, such as risk engines, OCR/eKYC providers, biometric engines, and signing systems, must be integrated into a unified decision model rather than operating as disconnected tools.

The technical materials already describe this type of architecture. For onboarding, Curity orchestrates registration journeys and can integrate external OCR/eKYC and biometric verification services. For cross-channel authentication, it supports push approval, QR-based login, device-centric approval, and CIBA-style decoupled authentication. For contextual access, it supports continuous, risk-aware decisions based on live data and external inputs. For strong authentication, it supports passkeys, WebAuthn, biometrics-related orchestration, and device-related trust logic.

This makes Zero Trust highly relevant not only to user login, but also to transaction approval. A bank should be able to distinguish between a low-risk session refresh and a high-value funds transfer. It should be able to apply contextual rules such as requiring step-up authentication for new devices, suspicious geolocation changes, unusual operating system versions, high-risk transaction types, or elevated fraud signals. It should also be able to bind approval to a trusted device and, where necessary, integrate cryptographic confirmation or signing mechanisms to ensure that the approved transaction is the one the user actually intended to authorize.

From a product positioning perspective, Zero Trust for banking channels and transactions means that Curity should be described as the central policy and orchestration layer that ensures access decisions are consistent, adaptive, auditable, and based on open standards. It does not replace the need for specialist trust components, but it ensures they are coordinated into a unified identity and access decision framework. This is the key architectural value of Curity in a Digital Trust platform for large-scale banking environments.

Decoupled Authentication, Push, QR, and CIBA Guide

QR Code Login

The solution provides a unified QR Code Login capability for banking channels, enabling a customer to initiate login on a browser or other non-mobile channel and complete secure approval on a registered mobile device. This capability is built on Curity Device Flow as the standards-based authentication foundation and extended with the integrated OEM mobile SDK/mobile app to deliver trusted-device execution, QR scanning, local approval, and device-aware policy enforcement. Curity documents Device Flow as the OAuth 2.0 Device Authorization Grant and returns device_code, user_code, verification_uri, verification_uri_complete, and, when enabled, qr_code, where the QR code encodes the complete verification URI. Curity also documents that the initiating client polls the token endpoint with the device_code until the user has completed verification and granted access.

In the complete platform capability, QR Code Login is therefore not treated as a standalone QR convenience feature. It is a controlled cross-channel trusted-device authentication journey in which:

  • Curity creates and governs the standards-based Device Flow transaction,
  • the browser channel presents the QR code,
  • the OEM mobile SDK/mobile app scans and resolves the QR context,
  • the platform validates the QR transaction and verifies that the scanning device is a trusted device,
  • the customer performs local strong authentication on the registered mobile device,
  • and the browser session is completed only after the Curity Device Flow transaction has been successfully verified and authorized.

QR Code Generation

QR Code Login begins when the web channel or browser-side login flow requests a Device Flow transaction from Curity. Curity creates the transaction and returns the values required for the QR-assisted login path:

  • device_code
  • user_code
  • verification_uri
  • verification_uri_complete
  • interval
  • expires_in
  • and optionally qr_code when QR generation is enabled. Curity explicitly documents that the qr_code value is a PNG image encoded in Base64 and that it represents the verification_uri_complete.

The solution can therefore support QR generation in two standard ways:

  • by directly rendering Curity’s returned qr_code; or
  • by generating its own QR image from verification_uri_complete.

This means QR generation is grounded in Curity’s native Device Flow transaction model rather than relying on a proprietary QR login protocol. From a product perspective, this should be described as a standards-based QR login initiation capability built on Curity Device Flow.

QR Code Validation

After the QR code is scanned, the platform validates the QR transaction before allowing the mobile approval step to continue. This validation is not limited to checking whether the QR payload can be decoded. It includes checking whether the underlying Device Flow transaction is still valid and eligible for approval.

In the proposed solution, QR validation includes:

  • verifying that the Device Flow transaction exists,
  • confirming that the transaction is still within the allowed validity window defined by expires_in,
  • ensuring the transaction has not already been completed or consumed,
  • confirming that it is still associated with a live browser login attempt,
  • and ensuring that the login can still proceed into trusted-device approval.

Device Flow transactions are time-bound, that the client must respect the returned polling interval, and that a redeemed device_code cannot be reused. Curity also notes that replay or reuse of an already redeemed device_code may lead to token revocation as a breach-protection measure.

From a product-guide perspective, QR validation should therefore be positioned as: a transaction-level security control that ensures the QR still maps to a valid, live, and not-yet-consumed Curity Device Flow authorization context before trusted-device approval is allowed.

Trusted-Device Verification

The OAuth Device Flow standard does not define how a banking platform identifies a trusted device. To address this, the solution extends Curity’s Device Flow foundation with integrated trusted-device verification through the OEM mobile SDK/mobile app and the surrounding device trust services. This trusted-device verification layer is implemented by the integrated mobile/device-management components in the proposed solution and consumed by Curity as policy input. Once the QR transaction has been validated, the mobile side performs trusted-device verification before the approval step is allowed to continue. This trusted-device verification can include:

  • resolving the scanned QR to the corresponding Device Flow transaction,
  • identifying the current device in the registered device relationship model,
  • verifying that the device belongs to the correct customer or account,
  • validating that the device is in an allowed state,
  • optionally validating app-instance continuity or device-bound credential continuity,
  • and optionally applying posture or integrity checks if required by policy.

This is the key step that turns a standards-based QR-assisted authorization flow into a banking-grade QR trusted-device login capability. In product terms, this should be described as an integrated trusted-device control layer that extends Curity Device Flow with device recognition, device-state validation, and approval eligibility checks on the registered mobile device.

Local Approval on the Registered Mobile Device

After trusted-device verification succeeds, the user completes local approval on the mobile device. This local approval may use:

  • device biometric verification,
  • application PIN,
  • passkey,
  • or another device-bound approval method supported by the integrated mobile trust layer.

At the Curity level, the verification continues through the Device Flow verification path. Curity documents that the user accesses the verification URI, the user_code is verified, the user is authenticated according to the configured authentication policy, and the user then explicitly grants access to the device client. Once this is complete, the initiating client can redeem the device_code at the token endpoint.

This allows the product to describe QR Code Login as a capability that combines:

  • Curity’s standards-based Device Flow transaction,
  • OEM-provided mobile QR scanning and trusted-device verification,
  • and local strong user approval on the registered mobile device.

Browser Completion and Login Finalization

While the user is completing approval on the mobile device, the browser-side client continues polling Curity’s token endpoint using the device_code and the returned interval. Once the user has successfully completed verification and granted access, Curity returns the token response and the login session on the browser is completed. This polling and token redemption behavior is part of Curity’s documented Device Flow model.

This means the full QR Code Login capability can be described as:

  • Curity creates and governs the standards-based authorization transaction,
  • the OEM mobile SDK/mobile app executes the QR scan and trusted-device approval,
  • and the browser session completes only after the Device Flow transaction has been successfully finalized.

Web and Mobile Interaction Model

From a product capability perspective, the interaction model is as follows:

Web channel

  • initiates login,
  • requests a Device Flow transaction from Curity,
  • receives device_code, user_code, verification_uri, verification_uri_complete, and optionally qr_code,
  • displays the QR code,
  • polls Curity’s token endpoint until approval completes.

OEM mobile SDK/mobile app

  • scans the QR code,
  • resolves the Device Flow transaction context,
  • validates that the QR still maps to a live transaction,
  • performs trusted-device verification,
  • executes local strong authentication on the registered device,
  • completes the Curity verification step,
  • and enables the Device Flow transaction to be redeemed by the initiating client.

This is the clearest way to describe the feature as a single integrated product capability rather than as disconnected parts.

Trusted-Device Verification Steps

Step A – Resolve the QR transaction context

After scanning the QR code, the mobile app resolves the QR payload and opens the Curity Device Flow verification path using verification_uri_complete, or directs the user to the verification_uri where the user_code is entered or resolved automatically. In Curity Device Flow, the user must access the verification endpoint, verify the user_code, and then continue through the configured authentication and consent flow.

Step B – Identify the current device as a registered device In parallel with opening the Curity verification flow, the integrated mobile SDK/mobile app sends the current device context to the platform’s trusted-device service for lookup. This lookup may use a combination of:

  • device identifier,
  • app instance identifier,
  • device fingerprint or device reference,
  • device-bound credential or public key reference,
  • and current device status.

Step C – Validate trusted-device state

The solution then verifies that:

  • the device belongs to the account or customer associated with the login request,
  • the device is in an allowed state such as active or trusted,
  • and the device is not blocked, suspended, revoked, replaced, or expired.

Step D – Optional posture and integrity evaluation

If required by bank policy, the platform may also evaluate additional device trust signals, such as:

  • root or jailbreak indicators,
  • emulator or simulator indicators,
  • app integrity status,
  • and runtime anomaly signals.

These checks belong to the integrated trusted-device capability of the platform and should not be presented as native Device Flow capabilities of Curity.

Step E – Local strong authentication on the mobile device Once trusted-device validation succeeds, the mobile app requires the user to complete local strong authentication on the registered device, for example by using:

  • operating-system biometric verification,
  • application PIN,
  • passkey,
  • or another device-bound approval method supported by the platform.

Step F – Complete user verification and consent in Curity At the Curity verification endpoint, once the user_code has been accepted, the user is authenticated according to the configured authentication policy for the device client and must then explicitly allow access. This is a key standards-based part of Curity Device Flow: the device client can redeem the device_code only after user verification and consent have been completed.

Step G – Return the approval result and complete login After the user has successfully completed local approval on the trusted mobile device and the Curity verification flow is completed, the initiating client typically the browser-side client continues polling the Curity token endpoint using the device_code, following the returned interval, until Curity returns the token response or the transaction expires.

Push Notification Login via Trusted Device

The solution provides a Push Notification Login capability for banking channels, enabling a user to initiate login on a web, mobile, or third-party channel and complete secure approval on a previously registered mobile device. The capability is implemented as a unified authentication pattern in which Curity governs the authentication transaction, journey state, and final token issuance, while the integrated OEM mobile app/SDK provides the trusted-device execution layer, including push-token registration, device recognition, local user verification, and approval submission.

Curity’s role in this model is to act as the identity and authentication orchestration platform. Curity provides the Authentication Service profile, HAAPI for API-driven authentication journeys, and support for standards-based decoupled and backchannel authentication patterns such as CIBA. Curity’s User Management model also supports accounts with associated resources such as devices, exposed through SCIM and GraphQL, which is the correct architectural basis for representing device-linked authentication journeys.

The integrated OEM mobile app/SDK extends this foundation into a practical bank-grade push authentication model. It registers the device for push delivery, maintains the device’s app-instance and trust context, receives the push message, opens the approval flow, performs local strong authentication such as biometric or PIN, and returns the result to the Curity-governed authentication transaction.

Push notification interaction model

The originating channel sends the login request into the Curity-governed authentication flow. The solution determines that trusted-device approval is required. The trusted device is resolved from the customer-device relationship model. The solution evaluates any relevant risk signals, if enabled. A push challenge is created and routed to the registered mobile app instance through APNs or FCM. The user opens the push challenge in the mobile app. The OEM mobile app/SDK performs local strong authentication and, where applicable, device-bound proof such as passkey or device-key confirmation. The approval result is then returned into the Curity-controlled authentication journey, and Curity finalizes the login by issuing the session or tokens to the originating channel.

When the bank wants a more decoupled or standards-based model, the same capability can be expressed using CIBA-style backchannel authentication, where Curity manages the authentication transaction and the integrated push/mobile layer operationalizes the approval on the registered device.

Trusted-device information used by the Curity-governed flow

For trusted-device push authentication to work, the Curity-governed journey must have access to a device record associated with the customer or account. In the integrated platform, this trusted-device record contains, or has access to, the following categories of information:

  • device relationship information, such as customer-to-device or account-to-device association
  • device identity references, such as device ID, app-instance ID, and device alias
  • device trust state, such as active, trusted, suspended, revoked, replaced, or expired
  • device approval capability references, such as whether the device is eligible for push approval
  • device-bound credential references, such as passkey, public-key credential, or device-key reference when applicable
  • push routing references used by APNs or FCM
  • device metadata used for policy and routing, such as platform, app version, and last registration/update time
  • optional device intelligence or posture references if the bank enables advanced controls

From a product perspective, this should be described as trusted-device information available to the Curity-controlled authentication journey. Depending on deployment design, these records may be managed through Curity’s device-associated user management model, or through an integrated device relationship store used by the same authentication architecture. Curity’s official documentation supports the concept of accounts with associated device resources through User Management GraphQL and the User Management profile.

Push delivery architecture with APNs and FCM

The solution supports push delivery through the standard mobile push infrastructures:

  • APNs for Apple platforms
  • FCM for Android, and optionally for Apple delivery models integrated through Firebase

This is the most appropriate deployment model for banks that want to use their own mobile banking app or mobile authenticator app, rather than a third-party MFA application.

In this model, the solution flow is as follows. A login is initiated on the browser or originating channel. Curity determines that trusted-device approval is required. The solution resolves the customer’s registered device, evaluates policy or risk if required, and creates a push challenge. The push service then sends a notification to the correct mobile app instance through APNs or FCM. The mobile app opens the challenge, performs local strong authentication, and returns the signed or approved result into the Curity-governed authentication flow. Curity then completes the login by issuing the session or tokens to the originating channel.

This is consistent with Curity’s documented role around HAAPI for API-driven authentication journeys and CIBA for decoupled or backchannel authentication patterns, while the push transport itself remains the responsibility of Apple and Google infrastructure rather than Curity itself.

What is integrated with APNs and FCM

To prove integration capability with APNs and FCM, the key point is that the solution must maintain the correct push routing identifiers for each registered device. APNs/FCM tokens are stored in the platform’s trusted-device/mobile backend domain and linked to the customer-device record, Curity orchestrates the authentication flow using that context. APNs and FCM use those tokens for delivery, but the authoritative customer-device association remains in the solution’s trusted-device domain governed by the Curity-based authentication solution.

On Apple platforms, the app registers with APNs and receives a device token. Apple documents that the app must forward this device token to the provider server, and that the provider must have this token in order to deliver remote notifications to the device.

On Android, the FCM SDK generates a registration token for the client app instance. Firebase recommends that the application server retrieve and store the latest registration token, because it may change over time. Firebase also documents that the registration token uniquely identifies the client app instance for message targeting.

Therefore, the integrated platform stores, for each trusted device, the push-routing information required to address that app instance, for example:

  • APNs device token for iOS
  • FCM registration token for Android
  • push provider type
  • environment or application bundle context if needed
  • token update timestamp
  • token status, such as active or stale
  • linkage to the trusted-device record and customer/account relationship

CIBA-Based Authentication with Trusted Device and Mobile Push Wake-Up

Curity provides the standards-based CIBA transaction, while device wake-up, trusted-device resolution, and device-side execution are handled by the integrated mobile trust layer in the proposed solution. This capability is built on Curity’s support for Client-Initiated Backchannel Authentication (CIBA) and extended with the integrated OEM mobile app/SDK to provide trusted-device resolution, device wake-up through APNs/FCM, local strong authentication on the registered device, and final approval submission into the Curity-controlled authentication transaction. CIBA as a decoupled OpenID Connect flow where authentication is initiated on a Consumption Device and completed on an Authentication Device, without browser redirects on the initiating client. The client initiates the flow through the Backchannel Authentication Endpoint, receives an auth_req_id, and later obtains the result through polling, ping, or push delivery modes.

In the complete platform capability, CIBA is therefore not treated as a standalone protocol feature. It is a unified cross-device trusted-device authentication model in which:

  • Curity creates and governs the backchannel authentication transaction,
  • the solution resolves the user’s registered device,
  • APNs or FCM are used to wake or notify the correct mobile app instance,
  • the OEM mobile app/SDK performs trusted-device validation and local strong authentication,
  • and the final approval result is returned into the Curity-controlled backchannel flow.

Trusted-device information used in the CIBA flow

For a CIBA-based trusted-device flow to work, the solution must maintain a device record associated with the customer or account. In the integrated Curity-based architecture, this trusted-device record should contain, or be able to resolve, the following categories of information:

  • customer-to-device or account-to-device relationship reference
  • device identifier and device alias
  • app-instance identifier
  • trusted-device state, such as active, trusted, suspended, revoked, replaced, or expired
  • device-bound credential or public-key reference when applicable
  • push routing information, such as APNs device token or FCM registration token
  • device metadata such as platform, device type, app version, and last registration or update time
  • optional device intelligence or posture references if advanced controls are enabled

This device information is what allows the solution to determine which registered device should act as the Authentication Device in the CIBA model. Curity provides the standards-based authentication transaction and journey control, while the integrated mobile trust layer supplies the device-facing execution context. Curity’s HAAPI is also relevant here because it provides the API-driven interaction model required for mobile-native authentication experiences.

CIBA transaction initiation

The CIBA flow begins when the initiating channel or client sends an authentication request directly to Curity’s Backchannel Authentication Endpoint. Curity documents that the client authenticates to the Authorization Server and includes a user-identifying hint so that the user to be authenticated can be resolved. Curity then immediately returns an Authentication Request Acknowledgment containing a unique auth_req_id, which becomes the correlation reference for the decoupled authentication transaction.

From a product capability perspective, Curity’s CIBA support provides the standardized transaction framework for:

  • creating the decoupled authentication request,
  • maintaining transaction state,
  • correlating the final approval result back to the initiating client,
  • and supporting result delivery by poll, ping, or push mode.

Trusted-device resolution and notification routing

After the CIBA transaction is created, the solution resolves which registered device should be used as the Authentication Device. This step is part of the integrated trusted-device capability of the solution and is where the CIBA flow becomes banking-grade.

The solution uses the user hint or customer context from the backchannel authentication request to:

  • locate the customer’s registered mobile device,
  • validate device trust state,
  • confirm that the device is eligible for approval,
  • and determine which mobile app instance should receive the wake-up or push notification.

Once the correct device is selected, the solution uses APNs or FCM to deliver a wake-up message or approval notification to the mobile application. In the CIBA flow, this push delivery is not the authentication transaction itself. Instead, it is the mechanism used to wake the Authentication Device so that the user can complete the Curity-governed approval flow. Curity explicitly states that it is up to the Authorization Server to select an appropriate channel for decoupled authentication on the authentication device.

Integration with APNs and FCM

To support this device wake-up model, the solution must integrate with:

  • APNs for Apple devices
  • FCM for Android devices, and optionally for broader Firebase-integrated delivery models

Apple documents that an application registers with APNs and receives a globally unique device token, which the app must forward to its provider server so the provider can send notifications to that app instance.

Firebase documents that the FCM client application receives a registration token, and Firebase explicitly recommends that the application server retrieve and store the latest registration token on its server and keep it updated over time.

Therefore, in the integrated CIBA capability, the solution maintains the push-routing information required to wake the correct registered mobile app instance, including:

  • APNs device token for iOS
  • FCM registration token for Android
  • provider type
  • token status and update timestamp
  • linkage to the customer and trusted-device record
  • and any application-environment identifiers needed by the bank’s deployment model.

For APNs, the iOS app receives the APNs device token from Apple and forwards that token to the provider server. The authoritative customer-device relationship therefore remains in the bank’s platform or trusted-device domain, while APNs simply uses the token for delivery routing.

For FCM, the app instance receives an FCM registration token and the application server is expected to store and maintain that token. Firebase explicitly recommends keeping an updated list of active tokens on the server. Again, the authoritative trusted-device relationship remains in the solution, while FCM provides message routing based on the token.

Mobile approval and local strong authentication

Once the push or wake-up message reaches the mobile device, the OEM mobile app/SDK opens the authentication flow and performs trusted-device approval. This includes:

  • validating that the mobile app instance corresponds to the correct trusted device,
  • optionally applying device posture or device intelligence checks,
  • presenting the authentication request to the user,
  • and requiring local strong authentication such as:
    • biometric verification,
    • application PIN,
    • passkey,
    • or another device-bound approval method.

At the Curity level, this user interaction is part of the decoupled authentication transaction that Curity initiated through CIBA. Curity documents that authentication takes place on the Authentication Device, where the user enters credentials and grants consent, after which the result is returned through the selected token-delivery mechanism.

Returning the authentication result

After the user completes local strong authentication and approves the request on the mobile device, the result is returned into the Curity-controlled CIBA transaction.

Curity supports three result-delivery modes for CIBA:

  • Poll, where the client regularly checks for tokens,
  • Ping, where the client is notified and then fetches tokens,
  • Push, where the Authorization Server delivers the tokens to the client notification endpoint. Curity explicitly documents these three modes in its CIBA explanation.

This means the integrated platform can support:

  • decoupled authentication with polling clients,
  • event-driven callback patterns,
  • or fully backchannel token delivery, depending on client registration and deployment requirements.

Data exchanged in the CIBA-based mobile wake-up flow

To implement the CIBA flow with trusted-device wake-up, the solution exchanges two broad categories of data.

The first category is device registration and routing data:

  • customer or account reference
  • trusted-device identifier
  • app-instance identifier
  • APNs device token or FCM registration token
  • provider type
  • token update time and token status
  • device state and trust state
  • device metadata used for routing and policy

The second category is authentication transaction data:

  • auth_req_id
  • correlation ID between the initiating request and the mobile approval
  • request type, such as login approval or step-up authentication
  • wake-up message reference or minimal push payload
  • challenge retrieval reference
  • expiration or time-to-live
  • user approval result
  • optional proof reference or signed confirmation reference

As with the push-notification model, the recommended approach is to keep the raw push payload minimal and retrieve sensitive approval data only after the app opens a secure authenticated channel.

How CIBA differs from the push-notification flow

Although both flows may use APNs or FCM and both end with user approval on a registered mobile device, the two capabilities are not identical.

In the Push Notification Login model:

  • the push challenge itself is central to the interaction model,
  • the login flow is identified as requiring trusted-device approval,
  • the solution sends a push challenge,
  • the mobile app opens the challenge,
  • and the result is returned to the authentication flow.

In the CIBA-based model:

  • the backchannel authentication transaction is created first by Curity,
  • the client receives an auth_req_id,
  • the trusted device is resolved after the CIBA transaction exists,
  • APNs or FCM are used only as the wake-up or notification channel for the Authentication Device,
  • and the actual authentication result is governed by Curity’s CIBA transaction model.

A concise distinction is:

  • Push Notification Login: platform-driven trusted-device approval pattern where push is the main interaction trigger.
  • CIBA-Based Authentication: standards-based backchannel authentication pattern where Curity governs the decoupled transaction and push is typically used only to wake or notify the registered Authentication Device.

Curity’s learning materials also compare Device Flow and CIBA and emphasize that CIBA avoids QR or code-based user interaction on the initiating device by using a backchannel authentication request for a known user.

Trusted Device Authentication Guide

The proposed solution provides a unified Trusted Device Authentication capability for digital banking channels. In this capability, a device that has been enrolled, associated with a customer or account, and recognized by the platform as eligible for trusted use can participate in authentication and approval journeys as:

  • a trusted login factor,
  • an approval channel,
  • a transaction confirmation device,
  • or the trusted execution point for cross-channel and decoupled authentication.

Within the proposed solution, Curity forms the core CIAM and authentication orchestration foundation, while the integrated device-trust capability extends that foundation into a practical banking-grade trusted-device model. Curity provides the official identity and journey framework through the Authentication Service profile, HAAPI, Signup Action, Authentication Actions, Scripting, JSON / REST Data Source, and device-capable User Management interfaces such as SCIM /Devices and GraphQL. These are the product-supported building blocks used by the solution to drive registration, login, approval, and account-device association flows.

Built on that foundation, the proposed solution extends trusted-device functionality to cover:

  • device binding,
  • device lifecycle handling,
  • device relationship models,
  • first-device policy,
  • replacement and re-binding logic,
  • device trust status,
  • and trusted-device execution across push, QR, app-to-app, cross-channel, decoupled, and CIBA-based authentication journeys.

Accordingly, Trusted Device Authentication should be understood and presented as one integrated capability of the proposed solution, rather than as separate disconnected layers.

Trusted-Device Authentication Model

The Trusted-Device Authentication Model in the proposed solution is an authentication framework in which a previously enrolled device is treated as part of the overall trust decision for login and approval requests. The platform does not rely only on user identity. It also evaluates whether the authentication or approval is being performed from a device that is correctly associated with the customer, is in an eligible lifecycle state, and satisfies the configured trusted-device policy.

In this model, the proposed solution uses Curity’s official authentication and registration framework to orchestrate the journey and maintain transaction continuity. Curity officially provides:

  • the Authentication, Anonymous, and Registration endpoints through the Authentication Service profile,
  • HAAPI for API-driven and mobile-native interaction,
  • Signup Action for registration-related attribute and factor capture,
  • Authentication Actions and Scripting for policy-driven branching and custom flow logic,
  • and user/device-oriented interfaces through SCIM /Devices and GraphQL.

This Curity foundation is then extended by the integrated trusted-device capability of the proposed solution to support:

  • trusted-device recognition,
  • trust-state evaluation,
  • device lifecycle enforcement,
  • device-specific approval routing,
  • local device approval,
  • and optional device intelligence signals.

As a result, the trusted-device model in the proposed solution is not limited to a single login method. It becomes a common security layer applied consistently across multiple authentication patterns.

Trusted-device data model and device relationship model

The proposed solution uses an account-linked device model as the basis for trusted-device authentication. Curity’s official user-management model already supports devices associated with an account. Curity documents:

  • a SCIM /Devices endpoint after a device data source is configured,
  • device objects including fields such as deviceId, accountId, externalId, and alias,
  • and a GraphQL model where devices belong to an account, together with mutations for adding, updating, and deleting account-device relationships.

On top of this official Curity-supported model, the proposed solution enriches the device record so that the same trusted-device object can be used consistently across all authentication flows. In practical terms, the trusted-device record in the proposed solution includes or resolves:

  • customer/account relationship information,
  • device identity references,
  • app instance references,
  • trusted-device state,
  • lifecycle state,
  • device-bound credential or key references where applicable,
  • push routing references where applicable,
  • and optional device intelligence or posture references if the bank enables them.

This is important because trusted-device authentication in banking cannot rely only on a bare device ID. It requires a richer device relationship model that can answer:

  • which customer or account the device belongs to,
  • whether it is currently trusted,
  • whether it has been replaced or suspended,
  • whether it is eligible for push / QR / CIBA approval,
  • and whether it can be reused in future login or transaction journeys.

Therefore, the proposed solution should describe its device model as a unified account-device trust model built on Curity’s device-capable user management foundation and extended by the integrated trusted-device service of the platform.

Device binding

The proposed solution supports device binding between a customer/account and a device as a first-class trusted-device function.

Curity provides the official product basis for device binding through:

  • account-linked device structures in User Management,
  • SCIM /Devices,
  • GraphQL device association and mutation patterns,
  • and registration/authentication journeys that can be controlled through the Authentication Service profile and HAAPI.

Within the proposed solution, device binding is performed as part of an orchestrated identity journey. This means:

  • the user enters a registration, enrollment, or recovery flow,
  • the journey is governed by Curity,
  • device relationship data is created or updated as part of the same platform process,
  • and the device receives the appropriate lifecycle and trust status afterward.

This allows the platform to support:

  • initial device binding during onboarding,
  • binding after successful step-up,
  • binding during add-device flows,
  • and re-binding during replace-device scenarios.

For product-description purposes, device binding should therefore be presented as:

First-device policy

The proposed solution supports a first-device policy, meaning it can determine how the first trusted device is established for a customer or account. Curity does not expose a single standalone product switch called “first trusted device policy.” However, Curity provides all of the official building blocks needed to implement it:

  • Registration and Authentication journeys,
  • HAAPI-driven device-aware interactions,
  • Signup Action,
  • Authentication Actions,
  • Scripting,
  • and device/account lookups through the Curity-backed user/device model.

In the proposed solution, first-device policy works as a governed platform rule:

  1. the user enters a registration or enrollment journey,
  2. the platform checks whether the account already has any trusted devices,
  3. if no trusted device exists, the current device may become the first-device candidate,
  4. the platform evaluates whether the current assurance level is sufficient,
  5. if successful, the device is bound and assigned its initial trusted-device state.

This means the first-device policy is not a disconnected OEM-only rule. It is part of the Curity-governed journey of the proposed solution, with the trusted-device policy logic applied inside the same integrated architecture.

Device trust status

A banking-grade trusted-device model requires explicit device trust status rather than a simple known/unknown flag. The proposed solution therefore maintains a trust-state model for devices, typically including states such as:

  • candidate,
  • active,
  • trusted,
  • suspended,
  • revoked,
  • replaced,
  • expired,
  • retired.

Curity provides the official journey-control and device-record framework needed to read, update, or branch on device-related information, while the integrated trusted-device capability of the proposed solution gives business meaning to the trust state and applies it consistently across flows. Curity’s Authentication Actions and Scripting are especially relevant here because they allow the platform to branch the journey depending on the trusted-device outcome or to enrich the flow with device-related context. As a result, device trust status is treated as part of the platform’s overall authentication policy, not merely as metadata stored for reporting.

Device lifecycle handling

The proposed solution includes full device lifecycle handling as part of the trusted-device capability. This means the platform can manage the transition of a device through its entire usable lifecycle, including:

  • initial enrollment,
  • activation,
  • suspension,
  • revocation,
  • replacement,
  • re-binding,
  • expiration,
  • retirement.

Curity provides the official orchestration framework for lifecycle-aware journeys through:

  • the Authentication and Registration endpoints,
  • HAAPI for API-driven mobile flows,
  • Authentication Actions,
  • Signup Action where appropriate,
  • Scripting,
  • and device-capable user management.

The integrated trusted-device capability of the proposed solution then applies lifecycle rules to determine:

  • when a device may be trusted,
  • when it must be suspended or revoked,
  • when a replacement device may inherit or supersede trust,
  • and when an account may continue or must be routed to recovery.

This lifecycle handling is what allows the same trusted-device model to support operational scenarios such as lost device, replace device, and add new device in a controlled and auditable way.

Policy for the number of trusted devices

The proposed solution supports a configurable policy for how many trusted devices a customer or account may have. Curity and OEM layer provides the required official mechanisms to implement this as part of the integrated solution:

  • account-linked device records,
  • Authentication Actions and Scripting for branching,
  • HAAPI for mobile/API-driven enrollment flows,
  • and JSON / REST Data Source for calling external policy services where needed.

Within the proposed solution:

  • the current number of active or trusted devices associated with the account is evaluated,
  • the configured limit is applied,
  • and the journey continues accordingly.

This enables policies such as:

  • only one primary trusted device,
  • multiple trusted devices up to a configured maximum,
  • segment-based device limits,
  • forced replacement when the maximum has been reached.

In practice, this means the number-of-devices policy is presented as a configurable trusted-device control of the proposed solution, implemented through Curity-governed flow control and integrated trusted-device policy evaluation.

Lost device, replace device, and add new device

The proposed solution explicitly supports lost device, replace device, and add new device scenarios as part of the trusted-device feature set.

Lost device

When a device is reported lost:

  • the device can be moved to a suspended, blocked, or revoked state,
  • it is no longer eligible for trusted-device authentication or approval,
  • the user can be routed into an alternate authentication or recovery path,
  • and the platform preserves auditability of the lifecycle change.

Replace device

When the customer replaces a device:

  • the current trusted-device state is evaluated,
  • the old device can be downgraded, retired, or revoked,
  • the new device is bound to the account,
  • and trust is re-established according to the configured replacement policy.

Add new device When the customer adds an additional device:

  • the trusted-device limit policy is checked,
  • the platform determines whether the additional device is allowed,
  • the new device can be enrolled and bound,
  • and its trust state is assigned according to policy.

Curity’s role in these flows is to provide the official journey entry points and flow-control framework, while the integrated trusted-device capability of the proposed solution applies the lifecycle decision rules and trusted-device state transitions. This makes lost / replace / add-device handling an integral part of the trusted-device authentication feature rather than a separate administrative module.

Support across different authentication models

The trusted-device capability of the proposed solution is designed to support all major authentication models that require device-aware trust decisions.

Push approval The platform supports push approval by using Curity as the core authentication orchestrator and the integrated mobile/device execution layer to route approval to the correct registered device, perform local strong authentication, and return the approval result. HAAPI and decoupled patterns are relevant here for secure mobile/API-driven interaction.

QR login The platform supports QR-assisted login using Curity’s Device Flow as the standards-based transaction foundation. Curity supports device_code, user_code, verification_uri, verification_uri_complete, and optional qr_code, while the integrated trusted-device layer verifies that the scanning mobile device is eligible to approve the session.

App-to-app authentication The platform supports app-to-app patterns using Curity’s API-driven journey model through HAAPI and the integrated device/mobile layer for deep-link or app-context execution, local approval, and result return.

Cross-channel approval The platform supports cross-channel approval by correlating an initiating channel with a trusted approval device under one Curity-governed authentication transaction, with the integrated trusted-device layer selecting and executing approval on the correct mobile device.

Decoupled authentication The platform supports decoupled authentication through Curity’s standards-based and API-driven orchestration, while the trusted-device layer operationalizes the approval on a separate registered device.

CIBA-based authentication The platform supports CIBA using Curity’s Backchannel Authentication Endpoint, auth_req_id, and result delivery modes. The integrated trusted-device capability resolves the correct Authentication Device and performs the mobile-side approval.

Device Identity and Relationship Management Guide

Device Identity and Relationship Management in the proposed solution is a unified capability built on Curity’s official identity, journey, and user-management foundations and extended by the integrated trusted-device services of the solution. Curity provides the Authentication Service profile, HAAPI-driven orchestration, Signup Action, Authentication Actions, scripting, JSON / REST integration, SCIM /Devices, and GraphQL account-device structures. On top of this foundation, the proposed solution provides a complete device identity and relationship model covering customer ↔ account ↔ device ↔ credential association, first trusted-device policy, multiple devices per customer, device binding and re-binding, device lifecycle states, lost / replace / add-device workflows, and a centralized trusted-device registry and relationship store.

Customer ↔ Account ↔ Device ↔ Credential Relationship

The proposed solution models a hierarchical relationship that reflects real-world banking entities and extends beyond a simple user-to-device mapping. At the center of this model, Curity provides the identity and account foundation through its User Management capability, including SCIM /Devices and GraphQL support for devices linked to accounts. Curity’s GraphQL documentation explicitly states that the user-management graph is based on the account, with sub-elements such as linked accounts and devices that belong to that particular account, and it documents device-related mutations such as addDeviceToAccountByAccountId and updateDeviceFromAccountByAccountId.

Within the proposed solution, the relationship model is described as follows:

  • Customer (Legal Entity) Represented by the bank’s master customer identifier, such as CIF or another customer reference. The customer is the top-level business entity and the logical owner of all related accounts, devices, and credentials.

  • User Account (Digital Identity) Represented by an account within the identity platform. In most deployments, a customer maps to a primary digital identity used for authentication. Where needed, the proposed solution can support linked-account scenarios, for example where one customer uses multiple digital identities for separate banking contexts, while still maintaining a coherent trusted-device model.

Represented by a record in the USER table. In most deployments, there is a one-to-one (1:1) mapping between a Customer and a User Account.

  • Device Represented as a device associated with an account. Curity’s SCIM device examples show device records with fields such as deviceId, accountId, externalId, and alias, and the /Devices endpoint becomes available when a device data source is configured on the user management profile. Within the proposed solution, this device model is extended with trusted-device lifecycle, trust-state, push-routing, and device-execution information so that the same device object can be used across all authentication models.

Represented by a record in the DEVICES table. A single User Account can be associated with multiple Devices (1:N relationship). The USER_ID foreign key establishes this ownership.

  • Credential Represented by one or more authentication credentials linked to the account and, where applicable, associated with the device context. In the proposed solution, a single device can hold or use multiple authentication credentials, such as passkeys, WebAuthn credentials, or device-bound signing keys, while the platform maintains the relationship between the account, device, and credential used in the journey.

Represented by records in the FIDO_IDENTITY and KEY_DATA tables. A single Device can generate and manage multiple cryptographic Credentials (e.g., Passkeys, Device Signing Keys). These credentials are cryptographically bound to the device's hardware (via Secure Enclave, TPM, or Keystore) and cannot be exported or used from another device.

This means the proposed solution supports a unified Customer ↔ Account ↔ Device ↔ Credential model rather than isolated records, allowing trusted-device decisions to be reused consistently across registration, login, step-up, push, QR, app-to-app, and decoupled authentication flows.

First Trusted Device Policy

The establishment of the first trusted device is a critical moment in the customer’s digital journey. The proposed solution supports a first trusted device policy, implemented as part of a Curity-governed registration or authentication journey and extended by the integrated trusted-device policy logic of the solution. Curity does not document a single built-in toggle called “first trusted device policy.” Instead, the proposed solution uses Curity’s official building blocks to implement this capability:

  • the Registration endpoint within the Authentication Service profile,
  • HAAPI for API-driven/mobile journeys,
  • Signup Action for user-account registration and registration-factor capture,
  • Authentication Actions for branching the journey,
  • and Scripting where policy-specific logic is required. Curity documents that the Authentication Service profile defines the Authentication, Anonymous, and Registration endpoints, and that the Signup Action supports registration with multiple factors such as password, TOTP, SMS, Email, WebAuthn, and Passkeys.

Within the proposed solution, the first-device policy can operate in one of the following modes:

  • Automatic Trust Establishment: Upon the first successful high-assurance enrollment or authentication from a new device, the platform creates the initial device record for the account and assigns the device an eligible trusted-device status. This device becomes the first anchor of trust for later device-led authentication and approval journeys. Upon the very first successful authentication from a new device, the system automatically creates a record in the DEVICES table and assigns it a STATUS = ACTIVE.

  • Elevated Assurance Establishment: For deployments with stronger onboarding requirements, the first device may initially be created in a pending or candidate state (STATUS = PENDING). Activation then requires an additional step, such as:

    • OTP to a registered communication channel,
    • out-of-band verification (e.g., a confirmation link sent via SMS),
    • approval from an existing channel,
    • or an assisted/administrative verification process.
  • Primary Device Designation: The first trusted active device may also be logically designated as the “primary device”, allowing policy rules to require that device for high-risk approvals or as the initial approval path for future device management actions.

Multiple Devices per Customer

The solution natively supports a one-to-many relationship between a User Account and Devices, allowing customers to securely access services from several personal devices.

  • Configurable Device Limits: The maximum number of ACTIVE devices a single user can register is a configurable policy parameter (e.g., a limit of 3 or 5 devices). This prevents unbounded device sprawl and limits potential exposure.
  • Device Types and Roles: The system can differentiate between device types (e.g., Mobile, Tablet, Desktop Browser) and assign different trust levels or capabilities. For instance, a desktop browser might be allowed to view balances but require approval from a mobile device to initiate a funds transfer.
  • Self-Service Overview: Customers have a consolidated view of all their registered devices through the Self-Service Portal or directly within the banking application, enabling them to manage their digital footprint.

Device Binding and Re-binding

Device binding is the process of creating a strong, verifiable association between a physical device and a user account. The solution provides multiple layers of binding to prevent spoofing and account takeover.

Layer 1: Logical Binding (DEVICE_ID): A persistent, unique identifier generated by the mobile app and stored securely. This is the primary key for the device record. • Layer 2: Fingerprint Binding (COMPOSITE_HASH): A cryptographic hash of the device's hardware and software characteristics. The system compares the presented hash with the stored value. A mismatch indicates a significant change in the device environment, which may be a sign of tampering, OS upgrade, or app re-installation. • Layer 3: Cryptographic Binding (Passkey / Device Key): The strongest form of binding. A public/private key pair is generated on the device. The private key is securely stored in hardware (e.g., Secure Enclave, Keystore) and never leaves the device. The public key is registered with the user's account in the backend (FIDO_IDENTITY or KEY_DATA). Subsequent authentication requests must be signed by the private key, providing irrefutable cryptographic proof of the device's presence.

Re-binding Scenarios:

Re-binding is the process of managing the device identity when the software environment changes but the physical hardware remains the same.

  • Scenario: Application Re-installation or Data Clear:
    • When the mobile app is re-installed, a new DEVICE_ID is generated. The previously trusted relationship is broken from the client's perspective.
    • The solution detects this situation by comparing the newly presented COMPOSITE_HASH with the hashes of previously ACTIVE or REVOKED devices for the same user.
    • If a match is found with a high degree of confidence, the system recognizes that this is a "known hardware" device.
    • Policy Action: Instead of treating it as a completely new device, the system can invoke a streamlined Re-binding Flow. This may involve:
      1. Prompting the user to confirm this is the same device (e.g., "Is this the device previously named 'My iPhone'?").
      2. Requiring a one-time strong authentication (e.g., SMS OTP or approval from another trusted device).
      3. Upon successful verification, the old device record is updated or replaced with the new DEVICE_ID while preserving the device's trusted status and history, avoiding the need for a full re-registration.

Device Lifecycle States

StatusDescriptionSub-fieldSub-field ValueNotes
UNREGISTEREDThe user has no registered authentication device.NoneN/ADefault state when the user has not enrolled any authentication method or device.
PENDINGThe device is partially registered and pending completion of identity verification or enrollment.enrollment_statuspending_identity_verification: Identity verification not completed (eKYC / identity proofing).The device cannot be used for authentication until enrollment is completed.
pending_device_binding: Device binding not completed.
pending_user_confirmation: Awaiting user confirmation (e.g., email/SMS approval).
pending_manual_review: Requires manual review due to inconsistent or unclear data.
pending_compliance_check: Awaiting compliance checks (e.g., AML / policy validation).
pending_risk_assessment: Awaiting risk evaluation (e.g., high-risk user/device).
ACTIVEThe device is fully registered, trusted, and can be used for authentication.NoneN/AOne or more devices can be ACTIVE depending on policy (single-device or multi-device model).
INACTIVEThe device is registered but currently not allowed to authenticate.reasonanother_device_preferred: Another device is prioritized for authentication.Used to control device eligibility without removing it.
user_disabled: User manually disabled the device.
session_expired: Device session expired due to inactivity.
policy_restriction: Restricted due to policy (e.g., outdated device posture).
device_unverified: Device requires re-verification after major change (e.g., OS update, app reinstall).
temporary_suspension: Temporarily disabled by system or bank.
LOCKEDThe device is locked due to security concerns or user action.lock_reasonuser_request: User requested lock (lost device, device replacement).The device cannot be used for authentication until unlocked.
failed_attempts: Multiple failed authentication attempts (e.g., PIN/biometric failures).
suspicious_activity: Suspicious login behavior detected (e.g., unusual location, device mismatch).
device_compromised: Device is rooted/jailbroken or shows signs of compromise.
security_violation: Security policy violation detected.
fraud_suspected: Potential fraud associated with the device.
compliance_violation: Regulatory or compliance violation.
lock_durationnull — permanent lock.
Timestamp value — temporary lock (e.g., 24h / 7d / 30d).
DEREGISTEREDThe device has been removed from the list of registered authentication devices.deregister_reasonuser_removed: User removed the device.The device is no longer associated with the user account.
system_removed: System removed due to policy or risk.
device_obsolete: Device no longer supported (e.g., outdated OS).
account_suspended: User account suspended.
risk_violation: Removed due to high-risk classification.
compliance_requirement: Removal required for regulatory compliance.
expired_registration: Registration expired due to inactivity.
security_policy_update: Removed due to updated security policy.

Lost Device / Replace Device / Add New Device

The solution provides clear, secure workflows for common end-user device management scenarios.

A. Add New Device (Device Enrollment & Binding)

Trigger

  • The user attempts to log in from an unrecognized device (no matching DEVICE_ID or DEVICE_FINGERPRINT / COMPOSITE_HASH). Workflow
  1. The system detects a new device context and initiates the device enrollment flow.
  2. The user is required to perform step-up authentication, such as:
    • Approval from an existing ACTIVE trusted device
    • Biometric / passkey authentication
    • Other strong authentication factors (based on policy)
  3. Upon successful authentication, a new device record is created with status:
    • PENDING (default – recommended for high-security environments)
  4. The system performs additional checks before activation:
    • Identity verification (if required)
    • Risk assessment (device / IP / location)
    • Device binding validation
  5. After all checks are completed:
    • The device transitions from PENDING → ACTIVE, or
    • Remains in PENDING if awaiting further approval (e.g., primary device confirmation)
  6. The user is notified of the new device registration via secure channels (email, push notification).

B. Lost Device (Device Deregistration / Risk Mitigation)

Trigger

  • The customer reports a device as lost or compromised via:
    • Self-Service Portal
    • Contact center / assisted service

Workflow (Self-Service)

  1. The customer authenticates using another ACTIVE trusted device.
  2. The customer views the list of registered devices.
  3. The customer selects the compromised device and initiates device removal.
  4. The system updates the device status:
    • ACTIVE / INACTIVE / LOCKED → DEREGISTERED
  5. All active sessions and tokens associated with that device are immediately revoked.
  6. The system logs the event with:
    • Timestamp
    • Acting user
    • deregister_reason = user_removed

Workflow (Assisted Service)

  1. The customer contacts support and completes offline identity verification.
  2. An administrator locates the user and device via the Admin Portal.
  3. The administrator updates the device status:
    • → DEREGISTERED
  4. The administrator records the reason:
    • deregister_reason = system_removed / user_reported_lost

C. Replace Device (Device Migration Scenario)

Description

  • The customer migrates from an old device to a new device in a controlled and secure manner.

Workflow

  1. The customer performs the Add New Device workflow:
  • New device is created in PENDING
  1. The system may require approval from an existing ACTIVE device (strong security option).
  2. Once approved:
  • New device transitions: PENDING → ACTIVE
  1. The old device is then handled:
  • Either automatically set to INACTIVE (soft migration), or
  • Explicitly removed → DEREGISTERED (recommended for security)

Device Registry and Relationship Store

All device identity and relationship data is centrally managed within a dedicated, secure data store.

  • Physical Storage: The DEVICES table within the SAM_AUTH_SAM database schema serves as the primary Device Registry. It is an integral part of the solution's relational database.
  • Data Model: The table is designed with a comprehensive set of columns to store:
    • Identity Attributes: ID, DEVICE_ID, USER_ID.
    • Lifecycle Attributes: STATUS, CREATED_AT, LAST_ACTIVITY.
    • Metadata: DEVICE_NAME, BRAND_NAME, MODEL, OS, OS_VERSION.
    • Integrity Signals: IS_ROOTED, IS_EMULATOR, IS_HOOK_DETECTED, VPN_DETECTED.
    • Fingerprint Hashes: COMPOSITE_HASH, HW_HASH, SW_HASH.
    • Communication Tokens: FCM_TOKEN (used for push notifications).
  • Relationship Store: The foreign key relationships between USER.ID, DEVICES.USER_ID, FIDO_IDENTITY.DEVICE_ID, and KEY_DATA.DEVICE_ID form the logical Relationship Store. These constraints enforce data integrity and enable efficient querying of all devices and credentials associated with a given user.
  • Audit Trail: The DEVICE_HISTORY table tracks every state change (e.g., PENDING → ACTIVE, ACTIVE → INACTIVE/ DEREGISTERED), along with the actor (USER_ID or ADMIN_ID), timestamp, and a reason code, providing a complete and non-repudiable history for compliance and forensic analysis.

Device Intelligence and Anti-Device Risk Guide

Device Intelligence and Device Risk Evaluation in the proposed solution is a unified capability built on Curity’s official identity and authentication orchestration foundation and extended by the integrated device-trust services of the solution. Curity provides the authentication journey control, API-driven mobile interaction model, policy branching, and REST integration mechanisms needed to incorporate device-aware decisions into registration, login, and approval flows. On top of this foundation, the proposed solution provides device fingerprinting, app instance identity, device-bound cryptographic trust, basic posture and trust signals, telemetry correlation, and optional attestation integration to strengthen device binding, trusted-device continuity, and adaptive authentication decisions. The capability is positioned as part of the proposed solution’s trusted-device and device intelligence model.

Device Fingerprinting

Device fingerprinting in the proposed solution is the process of deriving a stable or semi-stable device profile from a combination of hardware, software, and application context so that the platform can recognize returning devices, detect meaningful environment changes, and support re-binding or risk-based decisions.

The proposed solution can maintain a composite device fingerprint derived from configurable device attributes collected by the mobile app / SDK and associated with the device relationship model. The purpose of this fingerprint is not to guarantee absolute uniqueness, but to provide a strong device-recognition signal that helps distinguish:

  • a returning known device,
  • a reinstalled application on the same likely hardware,
  • a substantially changed software environment,
  • or a completely different device context.

Typical fingerprint inputs may include:

  • hardware-related attributes, such as device model, brand, CPU architecture family, approximate memory class, screen profile, or sensor availability;
  • software-related attributes, such as operating system family, OS version, major OS version, locale, timezone, and security patch level where available;
  • application-related attributes, such as app version and build version.

Device fingerprinting is the process of generating a unique or semi-unique identifier for a device based on a combination of its inherent hardware and software characteristics. This identifier is used to recognize returning devices, detect anomalies, and identify potential spoofing attempts even when traditional identifiers like DEVICE_ID are reset.

  • Composite Fingerprint (COMPOSITE_HASH): The solution calculates a strong cryptographic hash (e.g., SHA-256) derived from a wide array of attributes collected from the device. This hash is stored in the DEVICES table and presented during each authentication request.

    • Purpose: To detect significant changes in the device environment. A mismatch between the presented hash and the stored hash can indicate an OS upgrade, a factory reset, or an attempt to spoof the device from a different physical unit.
    • Collected Attributes for Hashing: The exact list of attributes is configurable but typically includes:
      • Hardware: MODEL, BRAND_NAME, HARDWARE (platform), CPU_ABI, total memory (RAM_BUCKET), screen dimensions (SCREEN_WIDTH_DP, SCREEN_HEIGHT_DP), presence of NFC, biometric sensors.
      • Software: OS, OS_VERSION, OS_MAJOR, SECURITY_PATCH, current LOCALE, TIMEZONE.
      • Application: APP_VERSION, APP_BUILD_CODE.
  • Granular Hashes (HW_HASH, SW_HASH): In addition to the composite hash, the solution can generate separate hashes for the hardware profile and the software profile. This provides more granular insight during risk evaluation. For example, a change in SW_HASH with a stable HW_HASH strongly suggests an OS update or app reinstallation, which carries a different risk profile than a complete device change.

  • Fingerprint Algorithm and Version (FP_ALGORITHM, FP_VERSION): The system records the specific algorithm and version used to compute the fingerprint. This ensures backward compatibility and allows for the phased rollout of improved fingerprinting logic.

1. Device Fingerprint

  • Device Fingerprint: 95cd5d7d8eb6b036f2528ce3a31c8bcac231878af14203baae4e540d88a65d06b
  • This is the COMPOSITE_HASH value, a cryptographically secure identifier derived from the device's hardware and software characteristics. It serves as a strong, tamper-resistant fingerprint used to detect spoofing or significant environment changes. 2. User Association and Cryptographic Binding
  • User ID and Full Name: Establish the ownership link between the device and a specific customer account.
  • User Public Key: This field displays the user's public key (RSA/ECC) that is bound to this device. This key is used by the backend to encrypt data sent to the device or verify signatures generated by the corresponding private key stored securely on the device. This is a core component of Cryptographic Device Binding, providing a hardware-backed root of trust.

** 3. Hardware Information **

  • Device ID: The logical unique identifier assigned to this specific application instance (device_90_be63ace).
  • Device Name, Device Type, Brand, Model: Human-readable metadata for easy identification.
  • Hardware Sign: The HW_HASH value, a fingerprint derived specifically from the device's hardware components. Changes to this value can indicate a different physical device is attempting to impersonate the original.

** 4. Software Information **

  • Operating System, OS Major, Security Level, Web Runtime: Captures the software environment at the time of registration.
  • Software Sign: The SW_HASH value, a fingerprint derived from the OS and application software. Changes here can indicate an OS update or application reinstallation, providing nuanced risk signals.

** 5. Device Details and Localization **

  • CIF (Customer Information File) : Directly links the device to the core banking customer record, enabling seamless integration with downstream systems.
  • Phone Number, Model, Serial Number, RAM, Storage, Screen: Additional metadata enriching the device profile.
  • Locale, Timezone, App Version: Provides context about the user's environment and application version.
  • Created At: The exact timestamp of initial device registration. ** 6. Status and Integrity Flags **
  • Status: Active (in this example, could be ACTIVE, PENDING, or REVOKED): Indicates the current lifecycle state of the device.
  • Debug Build: NO: An integrity flag (IS_DEBUG_BUILD) indicating that the application is not running in a developer/debuggable mode, which is a positive security signal

Device Identifiers and App Instance Identity

The proposed solution uses a multi-layer identity model that distinguishes between:

  • the customer/account,
  • the device relationship,
  • the application instance,
  • and the credential context used on that device.

At the application layer, the mobile app / SDK can generate and maintain a logical device identifier or app instance identifier that represents the current installation context. This identifier is used as part of the overall device-binding and trusted-device model of the proposed solution. This is important because:

  • an operating system update may not change the app instance,
  • an application upgrade may preserve the logical device relationship,
  • but application reinstallation may create a new local app instance even if the physical hardware is likely the same.

The proposed solution therefore does not rely on a single raw identifier alone. Instead, it uses:

  • the logical app/device instance,
  • the broader fingerprint profile,
  • the account-device relationship,
  • and, where applicable, the credential relationship to determine whether the current mobile context should be treated as:
  • the same trusted device,
  • a re-binding candidate,
  • a second device,
  • or a completely new device.

Where privacy-sensitive or pre-login contexts require it, the proposed solution can also use anonymous or session-scoped device references so that device-aware policies can be applied before the user is fully identified.

The solution utilizes a multi-layered approach to identity, distinguishing between the physical device, the operating system instance, and the specific application installation.

  • Device Identifier (DEVICE_ID):
    • Generation: A unique, random UUID (Universally Unique Identifier) is generated by the mobile application upon its first launch after installation.
    • Storage: This identifier is securely persisted in the device's hardware-backed keystore (Keychain on iOS, Keystore on Android). This storage mechanism ensures that the DEVICE_ID survives application restarts but is wiped if the application is uninstalled.
    • Purpose: Serves as the primary long-term logical key for the device record in the DEVICES table.
  • Application Instance Identity:
    • Combination: The combination of DEVICE_ID and APP_VERSION/APP_BUILD_CODE uniquely identifies a specific installation of the banking application.
    • Lifecycle Tracking: When the application is updated, the APP_VERSION changes while the DEVICE_ID remains constant, allowing the system to track the application's lifecycle on that specific device.
    • Re-installation Detection: If the application is uninstalled and reinstalled, a new DEVICE_ID is generated. The system can detect this as a potential "Re-binding" scenario (as described in Section 2.3) by comparing the newly presented COMPOSITE_HASH with historical records, rather than treating it as a completely new device.
  • Anonymous Identifiers (Optional): For privacy-sensitive contexts or before user login, the solution can utilize anonymous session-scoped identifiers derived from the fingerprint to apply risk policies without linking the activity to a specific user account prematurely.

This should be presented as a layered device identity model within the proposed solution, used to support device continuity, trusted-device recognition, and re-binding decisions.

Device Posture and Trust Signals

The proposed solution supports basic device posture and trust signals that can be collected through standard mobile application capabilities and operating-system APIs, without positioning the solution as a deep app-protection or RASP product.

These signals can include:

  • operating system family and version,
  • application version and build number,
  • security patch level where accessible,
  • biometric capability availability,
  • device locale and timezone,
  • network-type context,
  • app installation continuity,
  • and certain basic security-related flags exposed through standard platform APIs.

Where the mobile platform allows, the proposed solution can also collect basic risk-relevant signals such as:

  • whether the app is running in a debuggable build configuration,
  • whether mock location is enabled or detected through available APIs,
  • whether the device is managed under enterprise management where that is relevant to corporate banking use cases,
  • and whether the device presents a substantially changed environment relative to its historical fingerprint.

These signals are used as trust inputs into the authentication journey. They are not marketed as proof of advanced attack prevention, nor are they positioned as a replacement for a full mobile application protection product.

Accordingly, this section should be described as a set of lightweight and practical device trust signals that the proposed solution can use to support trusted-device evaluation and adaptive authentication decisions.

Root / Jailbreak Detection

Rooting (Android) and Jailbreaking (iOS) are processes that grant users privileged control over the operating system, circumventing the vendor's security restrictions. The solution's integrated SDK performs deep checks to detect such compromised states.

  • Detection Techniques (Android - Root):
    • Checking for the presence of the su (Superuser) binary in standard system paths (/system/bin/, /system/xbin/).
    • Scanning for installed root management applications (e.g., Magisk, SuperSU).
    • Checking system properties like ro.build.tags for "test-keys" (indicating a custom, non-production build).
    • Attempting to execute privileged commands or mount system partitions as read-write.
  • Detection Techniques (iOS - Jailbreak):
    • Checking for the existence of files and directories associated with jailbreak tools (e.g., /Applications/Cydia.app, /Library/MobileSubstrate/).
    • Attempting to fork a process (which is restricted on non-jailbroken iOS).
    • Checking if the application can write to system-restricted directories.
  • Policy Enforcement: The result is stored in the boolean field IS_ROOTED. The policy engine can be configured to treat any device with IS_ROOTED = 1 as HIGH RISK, leading to immediate denial of access, forced step-up authentication for every action, or restricting the device to view-only functionality.

Emulator / Simulator Detection

Attackers frequently use emulators (software that mimics a real device) or simulators to automate fraud, create fake accounts, or test stolen credentials at scale. The solution includes robust detection for these virtualized environments.

  1. Hardware Characteristics Check The application evaluates device hardware attributes to identify generic or non-realistic configurations commonly associated with emulators.
  • Examples include:
    • Generic or default values (e.g., BRAND = "generic", MODEL = "sdk_gphone_x86")
    • Unusual device profiles (e.g., inconsistent manufacturer or device name)
    • Abnormal memory or hardware capacity indicators
  1. Build Properties Inspection The application inspects system build properties and environment variables that are typically present in emulated environments.
  • Examples include:
    • Android system properties such as ro.kernel.qemu
    • Build fingerprint patterns associated with emulators
    • Device configuration values inconsistent with production devices
  1. Sensor Availability and Plausibility The application checks for the presence and basic behavior of hardware sensors.
  • Typical checks include:
    • Availability of sensors such as accelerometer, gyroscope, and GPS
    • Basic validation of sensor data (e.g., presence of values, non-static readings)
  1. Runtime Environment Indicators The application performs lightweight checks for indicators of virtualized runtime environments.
  • Examples include:
  • CPU architecture inconsistencies (e.g., x86-based environments for mobile apps)
  • Known file system structures or runtime characteristics associated with emulators

Device Cryptography and Device-Bound Trust

A key part of the proposed solution’s device intelligence capability is device cryptography. This is what allows the solution to move beyond simple device recognition and into stronger proof of device possession. In the proposed solution, device cryptography can be used in several ways:

  • Device-bound key material The solution can rely on keys generated and retained within platform-supported secure key storage, such as Android Keystore/ TEE/ Strong box or Apple Keychain / Secure Enclave-backed mechanisms where applicable.
  • Passkeys / WebAuthn credentials Where enabled, device-bound public-key credentials can be associated with the customer/account and reused as strong proof in future authentication or approval journeys.
  • Device signing / approval proof For approval scenarios such as push approval, QR login, or decoupled authentication, the proposed solution can use device-bound credentials to sign or confirm a challenge so that the platform receives stronger evidence that the approval came from the expected trusted device.

This is an important distinction: the proposed solution is not merely identifying a device by metadata. It can also combine that with cryptographic proof tied to the device context, which substantially strengthens device binding and non-repudiation for approval scenarios.

From a feature perspective, this should be described as device-bound cryptographic capability used by the proposed solution to strengthen device binding, trusted-device approval, and proof of device possession.

Device Risk Evaluation

The proposed solution continuously evaluates device-aware and context-aware signals as part of authentication and approval decisions. In this model, device context is not treated as a standalone security product domain, but as an integrated input into the broader identity, trusted-device, and adaptive-access decision framework of the platform. This means the proposed solution does not need to behave like a full anti-malware, app shielding, or dedicated mobile protection product. Instead, it uses device and contextual intelligence as one of the core factors in determining whether a request should be allowed, stepped up, routed to trusted-device approval, re-bound, restricted, or denied.

Within the proposed solution, this capability is implemented through the combination of:

  • Curity’s authentication orchestration and policy framework,
  • Curity’s Authentication Actions, Switch Action, Time-based Deny Action, Conditional Multi-Factor, HAAPI, Scripting, and JSON / REST integration,
  • and the integrated device and context collection layer of the solution, which supplies the relevant operating system, browser, device, app-instance, trusted-device, and risk attributes into the Curity-governed authentication journey. Curity documents that Authentication Actions are the framework for action-based orchestration inside the authentication flow, that HAAPI provides API-driven authentication without a browser, that Switch Action allows conditional execution of actions based on boolean expressions over input authentication and client attributes, and that JSON / REST Data Source is a small REST client used to integrate RESTful backends.

In practical terms, the proposed solution uses device-aware risk evaluation to support decisions such as:

  • identifying significant fingerprint changes,
  • recognizing likely application reinstallation on the same hardware,
  • detecting that the current app instance is new or unrecognized,
  • observing that the device no longer matches the expected trusted-device context,
  • or determining that the current request should require:
    • step-up authentication,
    • trusted-device approval,
    • re-binding,
    • restricted functionality,
    • or denial of access.

Accordingly, device intelligence in the proposed solution should be understood as a device-aware and context-aware risk input into the Curity-governed authentication journey, rather than as a standalone mobile security product.

Rule-Based Risk Capability in the Proposed Solution

To address the bank’s request regarding rule-based risk evaluation, the proposed solution supports a deterministic risk model in which collected contextual and device signals are evaluated through configurable policy logic. In this model, Curity acts as the policy and orchestration control plane, while the broader proposed solution provides the collection, normalization, storage, and enrichment of the device and contextual attributes used by those rules.

Curity provides the official vendor-supported building blocks needed to implement such rule-based logic:

  • Authentication Actions Curity documents Authentication Actions as the framework used to insert controlled logic into authentication journeys.
  • Switch Action Curity documents Switch Action as a conditional mechanism that evaluates JavaScript boolean expressions over input authentication and client attributes and executes the corresponding inner action. This is one of the most directly relevant Curity capabilities for deterministic rule-based policy evaluation.
  • Time-based Deny Action Curity documents Time-based Deny Action as a built-in action in the Authentication Service admin guide, which is directly relevant for login-window or out-of-hours policies.
  • Conditional Multi-Factor Curity documents Conditional Multi-Factor as part of the Authentication Service guide, which is relevant when a rule should trigger step-up authentication rather than outright denial.
  • Geolocation Actions Curity documents actions such as Geolocation Allow or Deny Country Action and Impossible Journey Action, which show that Curity supports rule-like decisions based on contextual signals.
  • HAAPI HAAPI provides the API-driven control needed to return the correct next step to the mobile or browserless client when a rule evaluation results in challenge, re-bind, approval, or deny.
  • Scripting Curity supports scripting and script-based transformers for custom logic where the built-in actions alone are insufficient.
  • JSON / REST integration Curity’s JSON / REST Data Source provides the vendor-supported integration point for consuming stored context or external risk signals from a backend service when rule decisions depend on information already collected and retained by the proposed solution.

This means the proposed solution can legitimately position rule-based risk evaluation as a Curity-governed policy capability that evaluates contextual and device attributes collected and maintained by the proposed solution, using Authentication Actions, Switch logic, Conditional MFA, Time-based Deny, geolocation-related actions, scripting, and REST-based policy enrichment.

Collected and Stored Data Used by Rule-Based Risk

To keep the rule-based model aligned with the storage model referenced by the bank, the proposed solution uses data previously collected and retained in the broader device and context architecture, including:

  • device registry / device relationship data,
  • current device and app-instance context,
  • browser and user-agent related context,
  • operating system and app-version context,
  • time and login-window context,
  • trusted-device state,
  • session and request context,
  • and, where enabled, contextual or risk attributes from external services.

These attributes are collected by the relevant web/mobile/backend components of the proposed solution and then exposed into the Curity-controlled journey as:

  • authentication attributes,
  • client attributes,
  • action/context attributes,
  • or data retrieved through JSON / REST integration.

This is important because Curity is not being positioned as the raw collection engine for all browser, OS, or device telemetry. Instead, Curity is the orchestration and policy layer that consumes these attributes and applies rule-based decisions consistently inside the authentication journey.

Rule-Based Risk Examples

The following examples show how the proposed solution can implement the deterministic risk criteria requested by the bank.

1. Login outside allowed hours The proposed solution can evaluate whether the current login time falls outside the allowed access window for the user, customer segment, application, or banking service.

Possible action:

  • deny access,
  • require step-up authentication,
  • or require trusted-device approval.

Curity relevance:

  • Time-based Deny Action is directly relevant as the vendor-supported built-in mechanism for time-based policy enforcement. 2. Previously unseen browser The proposed solution can determine whether the current browser context is unfamiliar compared with the historical browser profile associated with the account or session history.

Possible action:

  • flag as elevated risk,
  • trigger step-up,
  • require trusted-device approval,
  • or restrict high-risk functions until approval succeeds. Curity relevance:
  • browser-related attributes can be carried into the authentication flow as input attributes,
  • evaluated through Authentication Actions and Switch Action,
  • and combined with additional lookups through JSON / REST integration if the browser profile is stored externally.

3. Unusual or unsupported OS version The proposed solution can evaluate the operating system family and version received from the current channel or device context and compare it with:

  • supported OS policies,
  • expected customer baseline,
  • or approved banking application platform policies.

Possible action:

  • warn,
  • restrict,
  • step up,
  • or deny access if the OS version is below the bank’s supported threshold.

Curity relevance:

  • OS-related values can be exposed as action/context attributes,
  • and evaluated by Switch Action, Conditional MFA, or Scripting depending on policy complexity.

4. Unregistered device The proposed solution can determine whether the device participating in the request is already associated with the customer/account and whether it is in a valid lifecycle and trust state.

Possible action:

  • invoke add-device flow,
  • require first-device or step-up verification,
  • route to trusted-device approval on another device,
  • or deny access depending on the policy.

Curity relevance:

  • the decision is governed in the authentication journey,
  • while the device relationship is obtained from the trusted-device domain of the proposed solution,
  • and the outcome is enforced through Authentication Actions, HAAPI, and possibly Signup / Registration flows for enrollment or re-binding.

5. Sudden change from desktop to mobile browser The proposed solution can correlate the current request context with recent session history and detect a sudden or suspicious change in the interaction model, such as:

  • desktop browser to mobile browser,
  • browser family change,
  • or device-type discontinuity during a sensitive flow.

Possible action:

  • force re-authentication,
  • require trusted-device confirmation,
  • or restrict financial operations until approval is obtained.

Curity relevance:

  • the contextual comparison may be produced by the broader proposed solution,
  • then passed to Curity as a risk attribute,
  • and enforced by Switch Action, Conditional MFA, or Scripting.

6. Trusted device but app integrity issue The proposed solution can support the case where a device is already registered as trusted, but the current app instance presents a problematic trust signal, such as:

  • application continuity mismatch,
  • failed integrity or posture signal,
  • or inconsistency with expected device/app state.

Possible action:

  • downgrade trust,
  • force re-binding,
  • require step-up on another trusted path,
  • or deny sensitive actions.

Important positioning note:

  • this should be described as part of the proposed solution’s device trust and device integrity input model,
  • not as a claim that Curity natively provides deep app shielding or full RASP. Curity’s role is to consume the resulting trust or risk attribute and route the authentication journey accordingly.

7. Financial transaction from an unusual environment The proposed solution can combine transaction context with environmental context such as:

  • new device or browser,
  • unusual OS profile,
  • unusual location,
  • unfamiliar session pattern,
  • or trusted-device inconsistency.

Possible action:

  • trigger step-up,
  • require transaction approval from a trusted device,
  • or deny the transaction.

Curity relevance:

  • Curity’s policy framework can consume contextual inputs and drive the next step in the journey,
  • while the richer environmental correlation may be produced by the surrounding context/risk layer of the proposed solution.

Example Rule-Based Policies for OS, Browser, and Device

Below are examples of how the proposed solution can express deterministic policies using the collected context.

Example A — Operating system rule

Condition OS family = Android AND OS major version < supported baseline

Result • deny login for high-risk services, or • allow login but force step-up authentication

Curity implementation path • OS attributes passed into the journey as context attributes • evaluated through Switch Action or Conditional Multi-Factor • HAAPI used to present the correct next step to the mobile app if challenge is required.

Example B — Browser rule

Condition Browser fingerprint / browser family not previously seen for this account

Result • require trusted-device approval, • or step-up before access to sensitive functions

Curity implementation path • browser context obtained from channel / backend • exposed into authentication flow as attributes • decision enforced through Authentication Actions, Switch Action, and optionally JSON / REST lookup to compare against stored browser history.

Example C — Device rule

Condition Device not currently registered or not in an allowed trust state

Result • trigger add-device or re-binding journey, • or deny direct access until alternative proof is completed

Curity implementation path • device state resolved through trusted-device services of the proposed solution • result passed to Curity as a policy input • journey continues through HAAPI, Authentication Actions, and registration or enrollment steps if needed.

Curity-Supported Configuration Basis

To answer the bank’s request for vendor evidence that the platform supports rule-based evaluation, the relevant Curity-supported references in the proposed solution are:

  • Authentication Actions: vendor-supported action framework inside the authentication flow.
  • Switch Action: conditional evaluation based on expressions over input authentication and client attributes.
  • Time-based Deny Action: vendor-supported time-based policy control.
  • Conditional Multi-Factor: vendor-supported trigger for stronger authentication based on policy.
  • Geolocation Allow/Deny Country and Impossible Journey actions: vendor-supported contextual decision examples that demonstrate Curity’s policy framework can enforce deterministic rules based on collected context.
  • HAAPI: vendor-supported API-driven mechanism for presenting the correct next step to app/mobile channels.
  • JSON / REST Data Source: vendor-supported integration mechanism to consume externally stored context or risk signals.

These references are sufficient to support the statement that Curity provides the official policy-orchestration and rule-enforcement framework used by the proposed solution, while the broader proposed solution supplies and stores the necessary OS / browser / device / time / trusted-device context used by those rules.

Download: APIs for Device Management and Authentication Flow

Detailed API reference for device lifecycle, device binding, authentication, CIBA, Device Flow, risk evaluation, and transaction authorization patterns.

Download: SDK and Mobile Integration Reference

Technical reference for HAAPI, mobile SDK capabilities, device intelligence collection, supported platforms, integration patterns, and security considerations.

Download: Technical References and Data Models

Reference material for device data models, context and risk attributes, configuration rule concepts, identity-device-credential relationships, audit logging, event streaming, and data protection at rest.

Talk to Curity

If you are designing a digital trust and Zero Trust device security architecture for a regulated banking environment, Curity can provide the identity and policy control plane for decoupled authentication, device lifecycle, device-bound credentials, and risk-aware access — integrated with specialized device intelligence, signing, and fraud capabilities.