Problem description
Today, Number Verification can confirm that a verified mobile number is associated with an operator-authenticated transaction. However, for some onboarding, registration, and binding use cases, a verification result alone is not sufficient. There is also a need to cryptographically bind the NV result to client-generated transaction context, such as a binding session identifier, nonce, or hash of an encrypted client payload.
In the absence of such a capability, the API consumer must perform the correlation between the NV result and its own transaction state outside the operator trust domain. This weakens the end-to-end chain of trust, because downstream relying parties must depend on the API consumer’s assertion that the verified number and the client transaction context belong to the same transaction. It limits possible use cases that NV can potentially support.
This matters in flows where relying parties need to verify not only that the operator confirmed the number, but also that the confirmation was performed for a specific client transaction. In such cases, the API consumer may need an operator-verifiable token showing that:
- the number was verified by the operator;
- the verification was performed for a specific client transaction context; and
- the resulting proof can be independently validated later without relying solely on the API consumer’s own correlation logic.
Possible evolution
Consider extending the Number Verification flow, or defining a related profile, so that the client can provide protected transaction context to be bound to the NV result.
One possible approach would be:
- allow the API consumer to supply a protected binding_context or payload_hash as part of the trusted request flow;
- require the operator side to bind that value to the verified number and the current NV transaction;
- return, together with the NV result, an operator-signed JWT token.
This would let the API consumer use Number Verification not only as a boolean check, but also as a stronger trust anchor that can be validated independently.
To minimize change, this could also be specified as an optional profile or extension rather than changing the core semantics for all existing NV deployments.
Alternative solution
An alternative would be to keep Number Verification unchanged and let the API consumer create its own local binding layer on top of the current NV result.
However, that approach has two limitations:
- the linkage between the NV result and the client transaction context remains dependent on the API consumer’s own correlation logic; and
- downstream parties cannot validate that linkage independently unless they trust the API consumer as the root of that proof.
Problem description
Today, Number Verification can confirm that a verified mobile number is associated with an operator-authenticated transaction. However, for some onboarding, registration, and binding use cases, a verification result alone is not sufficient. There is also a need to cryptographically bind the NV result to client-generated transaction context, such as a binding session identifier, nonce, or hash of an encrypted client payload.
In the absence of such a capability, the API consumer must perform the correlation between the NV result and its own transaction state outside the operator trust domain. This weakens the end-to-end chain of trust, because downstream relying parties must depend on the API consumer’s assertion that the verified number and the client transaction context belong to the same transaction. It limits possible use cases that NV can potentially support.
This matters in flows where relying parties need to verify not only that the operator confirmed the number, but also that the confirmation was performed for a specific client transaction. In such cases, the API consumer may need an operator-verifiable token showing that:
Possible evolution
Consider extending the Number Verification flow, or defining a related profile, so that the client can provide protected transaction context to be bound to the NV result.
One possible approach would be:
This would let the API consumer use Number Verification not only as a boolean check, but also as a stronger trust anchor that can be validated independently.
To minimize change, this could also be specified as an optional profile or extension rather than changing the core semantics for all existing NV deployments.
Alternative solution
An alternative would be to keep Number Verification unchanged and let the API consumer create its own local binding layer on top of the current NV result.
However, that approach has two limitations: