Skip to content

Proposal: Add IMEI boolean match endpoint to Device Identifier API #146

@albertoramosmonagas

Description

@albertoramosmonagas

Problem description
The Device Identifier API in CAMARA currently exposes retrieve-type operations (e.g. retrieve-identifier, retrieve-type and retrieve-ppid) that return detailed information about the device (IMEI/IMEISV/TAC), derived attributes or pseudonymous identifiers (PPID).

However, in many use cases (fraud prevention, device-based KYC, account takeover protection, digital onboarding, etc.), partners do not need to know the device identifier itself nor a reusable PPID. They only need to know whether the device they provide in their business flow matches or does not match the device that the network currently associates with that subscription.

This creates two issues:

  1. Unnecessary data exposure

    • Returning IMEI/IMEISV/TAC or a PPID implies exposing more information than is strictly required for some use cases, which puts pressure on data minimisation principles and increases compliance overhead for both the partner and the CSP.
  2. Lack of a “check/match” pattern equivalent to other CAMARA APIs

    • In CAMARA, there are already boolean /check or match-type operations (SIM Swap, Device Status, etc.) that respond with a simple true/false.
    • Device Identifier does not currently offer an analogous pattern for the question “does this device match what the network sees?”, which forces clients to consume retrieve endpoints when, functionally, they only need a binary signal.

Possible evolution
I propose introducing a new endpoint in the Device Identifier API, with semantics similar to /match endpoints in other CAMARA APIs, for example:

POST /match-identifier (working name, open to discussion in the group)

Proposed behaviour:

  • Input

    • Subscription identifier, reusing the same schemes as the current API: msisdn, ipAddress, nai, etc.
    • Device identifier provided by the partner, for example:
      • providedIdentifierType: IMEI, IMEISV or TAC.
      • providedIdentifier: corresponding value
  • Output

    • Main boolean field, for example:
      • match: true if the provided device identifier matches the one the network associates with that subscription under the request conditions; false otherwise.
      • Optionally a timestamp or evaluation window if alignment with SIM Swap / Device Swap time semantics is desired.

Positioning in the standard:

  • The new endpoint could be defined as an additional operation within Device Identifier, keeping the semantics of retrieve-identifier, retrieve-type and retrieve-ppid intact.
  • The network does not expose IMEI/TAC nor PPID; it only returns the boolean and, optionally, a high-level result code.
  • For CSPs that have already implemented Device Identifier, this endpoint would reuse the same logic and data sources, exposing only a boolean, with low incremental cost.

Alternative solution
Today there are several ways to approach this problem, but none properly address the need for a boolean match:

  1. Use retrieve-identifier and compare on the partner side

    • The partner calls retrieve-identifier, receives IMEI/IMEISV/TAC and compares it with the value in their system.
    • Advantages:
      • Fully supported by the current standard.
    • Drawbacks:
      • The partner becomes responsible for storing and protecting a high-value device identifier (IMEI).
      • The minimum disclosure principle is not respected: in many use cases a simple yes/no would be enough.
  2. Use retrieve-ppid as a pseudonymous binding identifier

    • A PPID can be used to link subscription/device/partner in a pseudonymous and persistent way.
    • However:
      • It does not precisely answer the question “does this IMEI match what the network currently sees?”, but rather enables a broader and longer-lived binding.
      • It introduces additional privacy and governance considerations, as it is a reusable identifier across multiple transactions.
      • In some regulatory or business contexts there is explicit preference for point-in-time, binary signals rather than persistent identifiers.

For these reasons, introducing a dedicated IMEI boolean match endpoint provides a better balance between business value and data minimisation.


Additional context
The proposal does not intend to replace existing Device Identifier operations, but to complement them with a lighter and more privacy-friendly option for use cases where a boolean signal is sufficient.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions