> ## Documentation Index
> Fetch the complete documentation index at: https://docs.compliance.legaltalent.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# NFC chip step

> Read the chip of a passport or ID card during the flow with the nfc_read step

<Info>
  Available on iOS. Android support is in progress.
</Info>

A workflow can include an `nfc_read` step (mobile only): the SDK reads the chip of the applicant's passport or ID card over NFC, opens it with the MRZ of the identity document captured earlier in the same flow, and uploads the raw chip files. The platform verifies them server-side — Passive Authentication against the ICAO CSCA trust store, Active Authentication on a server-issued challenge.

The app never shows or receives an authenticity verdict: it arrives with the rest of the session result on your backend.

## Enable it

<Steps>
  <Step title="Link LegalTalentNFC">
    Add the `LegalTalentNFC` product next to `LegalTalentUI`. It is separate because it brings NFCPassportReader and OpenSSL; `LegalTalentUI` does not depend on it.
  </Step>

  <Step title="Register the reader">
    ```swift theme={null}
    import LegalTalentNFC
    import LegalTalentUI

    LegalTalentFlowView(
        accessToken: accessToken,
        environment: .production,
        nfcReader: NfcChipReader(),
        onComplete: { _ in /* UX only */ }
    )
    ```

    Without `nfcReader`, a workflow that contains an `nfc_read` step cannot complete it.
  </Step>

  <Step title="Add the capability">
    Xcode → Signing & Capabilities → **Near Field Communication Tag Reading**. The entitlements must contain:

    ```xml theme={null}
    <key>com.apple.developer.nfc.readersession.formats</key>
    <array>
        <string>TAG</string>
        <string>PACE</string>
    </array>
    ```
  </Step>

  <Step title="Declare the Info.plist keys">
    ```xml theme={null}
    <key>NFCReaderUsageDescription</key>
    <string>We read the chip of your passport or ID card to verify your identity.</string>
    <key>com.apple.developer.nfc.readersession.iso7816.select-identifiers</key>
    <array>
        <string>A0000002471001</string>
        <string>A0000002472001</string>
        <string>00000000000000</string>
    </array>
    ```
  </Step>
</Steps>

## What the applicant goes through

An intro page (what the chip is, the symbol to look for, what comes next), the reading page while the system NFC sheet is up, a short upload, and a done page with the chip photo and name.

The chip opens with the document's MRZ — the lines with `<<<`. The applicant never sees or types them: the SDK takes them from the on-device OCR of the identity document photographed earlier in the flow, or from the server's extraction of that document when the session is resumed.

<Note>
  Chip coverage varies by country and document. Check with your Legal Talent contact which documents are supported before putting an `nfc_read` step in a production workflow.
</Note>
