@2060.io/credo-ts-didcomm-mrtd
v0.0.18
Published
DIDComm Machine Readable Travel Documents extension module for Credo
Readme
Overview
The DIDComm MRTD (Machine Readable Travel Documents) extension module for Credo enables agents to exchange and verify travel document data using DIDComm protocols. It supports secure transmission of MRZ (Machine Readable Zone) and other ICAO data groups, with authenticity and integrity checks.
Installation
npm install @2060.io/credo-ts-didcomm-mrtdUsage
Adding the Module to Your Agent
To use the MRTD module, add it to your agent's modules configuration:
Note: The
masterListCscaLocationmust point to the official ICAO Master List (CSCA certificates) corresponding to the version you are working with. Make sure you always provide the up-to-date and correct list according to the ICAO release you intend to support. The Master List is typically distributed with an.ldifextension. For further details, see mrtd-authenticity-integrity.md. When using an HTTP(S) URL, the service caches the file and records the filename in metadata so it can re-download automatically when the configured filename changes.
import { DidCommMrtdModule } from '@2060.io/credo-ts-didcomm-mrtd'
const agent = new Agent({
modules: {
// ...other modules
mrtd: new DidCommMrtdModule({
masterListCscaLocation: options.masterListCscaLocation,
}),
},
})Sending MRTD Messages
Send MRTD events to process incoming travel document data:
const result = await EIdReader.startReading({
// ...
})
await agent?.modules.mrtd.sendEMrtdData({
connectionId,
dataGroups: result.dataGroupsBase64,
threadId: didcommThreadId,
})Important Message Types
The library provides several message and data types for handling MRTD data:
import { EMrtdData, MrzData } from '@2060.io/credo-ts-didcomm-mrtd'
// EMrtdData: Represents the full set of MRTD data groups (DG1, DG2, etc.)
// MrzData: Represents parsed MRZ (Machine Readable Zone) informationFeatures
- Secure MRTD Data Exchange: Transmit ICAO-compliant travel document data over DIDComm.
- Authenticity & Integrity Checks: Validate document authenticity using CSCA master lists.
- Automatic Master List Refresh: Cached ICAO Master Lists are refreshed automatically when the configured filename differs from the cached metadata.
- Event Subscription: Listen for MRTD data events to trigger workflows or update UI.
- Protocol Integration: Seamless integration with Credo agent and DIDComm protocols.
API Reference
See the source code for details on available classes and methods:
DidCommMrtdApi: Main API for sending and receiving MRTD data.DidCommMrtdService: Internal service for MRTD logic.DidCommMrtdModule: Module integration for Credo agent.DidCommMrtdEvents: Event types and payloads.
License
Apache 2.0
For more information, see the Credo documentation.
