Mitek TIDEN v2.0
This package provides capabilities that extend the Journey Manager platform for users wishing to extract driver license or passport details from the document plus document verification, using the Mitek TIDEN Mobile Fill, Mobile Verify services and MiSnap for Mobile Web SDK.
This package includes the following components:
-
Mitek Tiden Documents component which triggers Mitek Dialog.
These Maestro components provide a workflow to extract driver license or passport data using OCR.
The workflow is:
- The user will have to choose to Pre-fill a form using Mitek Pre-fill service. The customer may require a consent before displaying the component.
- The user will use the MiSnap mobile SDK to capture the front and back of the ID document or passport document. There will be different error messages displayed in case the image is not suitable to capture the details.
- The image data is sent to the Journey Manager server and then extracted using the Mitek TIDEN Mobile Fill service.
- The extracted data from the driver license/passport is sent back to the form for the user approval. This will allow the user to view and modify the details in case needed.
- The user will need to confirm the details. After confirmation the details will be populated automatically in the form.
- Optionally, this component also provides document verification capability and selfie based on configuration.
Licensing
Clients must ensure they are appropriately licenses in order to use this package. Organisations who wish to use this package are required to either purchase the licensing through Avoka or to establish a commercial relationship with Mitek directly. Avoka is an authorized reseller of Mitek Services.
Compatibility
This package has the following compatibility requirements:
Module | Compatibility | Notes |
---|---|---|
Journey Manager | 18.05.0 or above | |
Journey Maestro | 18.05.0 or above | |
Mitek TIDEN API Version | v2 |
Installation Instructions
This package should be installed as a single archive via the Avoka Exchange. Once installed you should walk through the following procedure to ensure you complete any required configuration:
- Review the documentation below for each of the imported services and make any adjustments necessary to service parameters.
- Review the documentation below for any Service Connections and add your credentials as required.
- Review the Help Doc tab for each of the imported services and make any required adjustments to service parameters.
- Review the Service Connection requirements under the same Help Doc tab for each of the imported services and make any required configurations to the Service Connection. Service Connections can be configured in Journey Manager under the Services >> Service Connections menu item.
- Installation of any included Maestro libraries requires you to login to you Maestro server and import them either into your organization (for global availability) or to your specific project.
- Review the usage instructions below.
CSP Configuration
The Content Security Policy (CSP) response header helps you reduce XSS risks on modern browsers by declaring what dynamic resources are allowed to load via a HTTP Header, thereby protecting your solution from a range of vulnerability attacks.
By default, Journey Manager has strict CSP settings configured so these will likely need to be modified in order to enable the Mitek JavaScript API integration to work properly.
You can configure CSP settings in Journey Manager at a system wide level via the 'Form Submission Access Controller' service, or at an Organization level in the Security tab. The following Sample CSP demonstrates how to enable the Mitek SDK JavaScript integration:
script-src 'self' 'unsafe-inline'; object-src 'none';
Note the 'unsafe-inline' directive is present because the Mitek JavaScript SDK uses in-lined JavaScript
For more information see CSP on The Avoka Community
Usage Instructions
Use the following procedure to configure Mitek Tiden in your form:
- From your Maestro project libraries tab, select the library exchange.mitek.tiden and move it up to the top, using the Maestro
Move Up
button. - From the Maestro palette add the Mitek Tiden Documents component onto your form.
- The buttons Drivers License and Passport use Graphical Radio Button widget. In Maestro version 19.05 the widget comes pre-selected with value in the property Button Selected Image which needs to be cleared. For both the Drivers License and Passport buttons go to the properties tab and under Image section clear this image.
- The Drivers License and Passport buttons use the Graphical Radio Button component. Some templates may include more styles for the Graphical Radio Button component. For both the Drivers License and Passport buttons select the style tab and remove any style other than the Radio Graphical and Radio Border.
- From the Maestro palette add the Mitek Dialog component onto your dialogs folder.
- Save and refresh your Maestro form. (This action allows the web icons to show correctly).
- Select the Mitek Tiden Documents component and on the Properties tab select the Configuration section and in Response Standard Fields Mapping, map all required fields into the input data maps.
- In Response Dynamic Fields Mapping, provides the keys that match the Mitek TIDEN dynamic properties name and related fields in field reference. That way, any configured dynamic properties value from Mitek TIDEN service will be retrieved and pushed to form fields once confirmed. Please check Mitek TIDEN API doc for dynamic properties definition.
-
In the Options section, check the
Document Verification
orDocument Verification and Selfie
if you want to verify the document also. Otherwise, will perform the data prefill only. -
In the Rules section, add any processing rules to handle
On Success
,On Failure
,On Confirm Details
andOn Max Attempts
events.
Please note - this component uses the widget svgImageToSrc to set image colour based on the template colour using CSS. For better loading time you can un-tick the flag Replace svg tag with svg src and upload the image with the right colour.
When the prefill data get returned, the component will show the fields with the prefill data for user to confirm. Please note only the fields that have been mapped either through Response Standard Fields Mapping or Response Dynamic Fields Mapping will be shown. If the Mitek TIDEN service returns empty result for certain fields that mapped, it will still show up in confirmation section for user to complete the data.
Please note that this component will be hidden upon a successful data prefill and confirmation. That means it will only work once if succeeded. Form designer should consider the form flow accordingly based on this fact. For example, If form has a button to open a dialog to perform the data prefill, that button should be hidden after data is prefilled and confirmed.
Please note in case of document verification, there will be no verify status coming back to the client component. However full response from Mitek TIDEN will be recorded on Journey Manager as submission property so that it can be used during delivery process logic if needed. Data prefill functionality will still be performed in this case.
Multiple Verification Sessions
If you need to perform data prefill on multiple individuals in a single transaction you will need to add an instance
of the Mitek Tiden Documents component for each individual and specify a Role Identifier
(found under Options on the Properties panel) for each instance. For example, if your form supports 2 applicants
you would specify a Role Identifier of Applicant1
and Applicant2
respectively. This will ensure
that the sessions do not interfere with each other.
You would only require to provide one instance of the Mitek Dialog component.
Mobile Verify and Selfie
Mobile Verify performs the industry's most comprehensive checks. It evaluates the document to determine its authenticity and whether it has been altered in any way. It is possible to configure the Mitek.Tiden component to perform a pre-fill with a mobile verify check. It is also possible to add a selfie capture which will be compared to the photo on the Driver Licence. This feature will only work on mobile devices. The Mitek’s findings will be stored against the completed transaction providing the overall outcome (Authentic – True/False) and the corresponding probability score.
Max Number of Attempts
The service provides ability to limit the number of attempts of using Mitek mobile services per transaction, so that the client does not get charged more than required per transaction using Mitek services. The default value for max number of attempts is 3. But you can change it to suit the business requirement. See the documentation for the Mitek Tiden - ID service for information on how to configure this value.
Once a Mitek Tiden ID service gets called, The component contains
two data fields attempts Left
and attempts Used
inside the Control Fields
allowing the form designer to enforce more restriction in case needed.
The component will be hidden if max number of attempts has been reached.
Please note this limit should be per applicant in one transaction.
If you have multiple Mitek Tiden ID components in the form, you need to make sure give each component a unique Role Identifier
so that the number of attempts will be calculated separately for each applicant. Please check the documentation for the Mitek Tiden ID
on how to configure this.
In the component, you can add an On Max Attempts
rule which will be triggered when attempts left is 0.
This should allow the form designer to define the behavior if required.
HTTP Audit Logging
For audit purposes the package provides a HTTP Audit feature that records information about each HTTP request call made in the execution of a service. If this feature is enabled at the service level, HTTP request and response information will be logged to a submission property on the transaction for which the request was made. The name of this submission property can be customized to suit your needs.
The audit information will be stored in the submission property as a JSON array with a structure as follows:
[ { "serviceName": "MitekTidenId", "executionTimestamp": "2017-08-16 17:43:58 AEST", "durationMillis": 147, "request": { // Request Details } "reseponse": { // Response Details } }, { "serviceName": "MitekTidenId", // Etc... } ]
See the documentation for the Mitek Tiden - ID service for information on how to enable this feature.
Release Notes
Version 2.0 Aug 19, 2019
- Create new components called
Mitek Tiden Documents
andMitek Dialog
to improve UI. And provide passport verification.
Version 1.9 Jul 26, 2019
- Defect fix - Angular throws Uncaught Error: [$rootScope:inprog] on customized templates.
Version 1.8 May 2, 2019
- UX enhancement - display error message on the bottom of the image attached as per UX expert recommendation.
- New feature included to disable/enable the review and edit captured details prompt.
Version 1.7 Mar 21, 2019
- Enhance to perform document verification with a selfie.
Version 1.6 Mar 6, 2019
- Truncate USA zip code to 5 characters.
- Add component property called Visible On Mobile Only to only show the component on mobile devices (phones and tablets).
Version 1.5 Feb 15, 2019
- Upgrade client Mitek SDK to version 2.6.1. This version fixes Chrome version 7.2.x issue.
Version 1.4 Oct 15, 2018
- Upgrade client Mitek SDK to version 2.5.
- Handling local SDK crash.
- Fix issue with internet connection drop the form hangs.
Version 1.3 May 22, 2018
- Fixed exception when parsing response with no extractedData.
- Defect fix - Form wasn't populated with extracted data, when one image processing failed and the other succeeded.
Version 1.2 Apr 4, 2018
- Add new flag to prevent barcode check of the back image.
- Add documentation on CSP configuration.
Version 1.1 Jan 22, 2018
- Support a new feature to perform document verification along with Pre-fill. (Response is recorded on the server only at this stage)
- Defect fix - Progress dialog fixed to appear when validating and processing the images.
- Defect fix - Changed Issue Date and Expiry Date field to Date Picker in confirmation block.
Version 1.0 Dec 18, 2017
- Baseline release covering Mobile Fill capabilities only.
Maestro Assets
Base dialog is a simple dialog page.
Used In
Rule Templates
You may add your own logic to handle the following rule types triggered by this component:
- Load : a script to run when the dialog loads
Mitek Dialog is a dialog page that provides the business logic and integration with Mitek SDK.
Uses
Rule Templates
You may add your own logic to handle the following rule types triggered by this component:
- Load : a script to run when the dialog loads
Facilitates form pre-fill with document verification capability from a Driver's License or Passport using Mitek Tiden API
Rule Templates
You may add your own logic to handle the following rule types triggered by this component:
- On Success : Gets executed when the Mitek Tiden ID service call is successful and complete
- On Failure : Gets executed upon failure of Mitek Tiden ID service call
- On Confirm Details : Run this rule once you confirm the details and fill the form fields. It's useful to close modal dialog for example.
- On Max Attempts : This rule is triggered when we reach the threshold.
Properties
Property | Category | Description | Type | Default |
---|---|---|---|---|
Disable Edit Details Prompt | Options | Checking this option would apply captured details immediately to the mapped fields within the form. It will disable the applicant option to review and edit the captured details from Mitek.Tiden. | boolean |
false
|
Document Verification | Options | By turning on this flag, a document verification service will be performed with data prefill. Otherwise, will just perform data prefill service. | boolean |
false
|
Document Verification and Selfie | Options | Preform data prefill with document verification and selfie. | boolean |
false
|
Mitek Dialog ID | Configuration | The ID of the Mitek dialog. | text |
mitekDialog
|
No Barcode Validation | Options | No validation of barcode on the back image. | boolean |
false
|
Response Standard Fields Mapping | Configuration | Map the response fields to the form fields
Field Refs:
|
fieldRefMap | |
Response Dynamic Fields Mapping | Configuration | Map the response dynamic properties value to the form fields. The key must match response dynamic properties JSON name. | fieldRefMap | |
Role Identifier | Options | Optionally specify a Role Identifier if more than one individual is being verified in a single transaction - typical example is Applicant1 and Applicant2 e.g. Applicant1 / Applicant2 | text | |
Visible On Mobile Only | Options | Show this component only on mobile device and tablet. | boolean |
false
|
This widget display SVG image and if the flag toSrc is set, the HTML tag will be replaced in runtime with the SVG src content.
Used In
Properties
Property | Category | Description | Type | Default |
---|---|---|---|---|
Select Image | SvgImageToSrc | Select from the available images resources, or upload a new one | image |
{fileName=, width=, height=}
|
Alternative Text | SvgImageToSrc | Type an alternative text for informative images, leave blank for decorative images. | text | |
Tooltip Text | SvgImageToSrc | This text will be added to the title attribute of the image. | text | |
Replace svg tag with svg src. | SvgImageToSrc | Replace svg image tag with src so it allows dynamic updates (colour change). Set this to false for better loading. | boolean |
true
|
Image Link URL | SvgImageToSrc | This url will be added as an anchor tag around the image. It will open a new tab. | text |
Workflow progress bar.
Used In
Rule Templates
You may add your own logic to handle the following rule types triggered by this component:
- On Load : a script to run on widget load
Properties
Property | Category | Description | Type | Default |
---|---|---|---|---|
Progress Label | Workflow Progress | The progress label | text | |
Tile Active Colour | Workflow Progress | The tile active colour | text |
#FE6405
|
Tile Colour | Workflow Progress | The tile colour | text |
rgba(254,100,5,0.3)
|
Number Of Tiles | Workflow Progress | Set number of tiles | integer |
5
|
Number Of Active Tiles | Workflow Progress | Set number of active tiles | integer |
0
|
Shared Styles
-
document-dialog-button Library: exchange.mitek.tiden
-
Mitek Dialog Library: exchange.mitek.tiden
-
Mitek Error Message Library: exchange.mitek.tiden
-
Mitek Error Message Icon Library: exchange.mitek.tiden
-
Mitek Icon Font Style Library: exchange.mitek.tiden
-
Mitek Information Was Captured Library: exchange.mitek.tiden
-
Mitek Picture Instructions Label Library: exchange.mitek.tiden
-
Mitek Picture Processing States Library: exchange.mitek.tiden
-
Mitek SDK Error Message Library: exchange.mitek.tiden
-
Mitek Something Went Wrong Library: exchange.mitek.tiden
-
Mitek Success Fields Library: exchange.mitek.tiden
-
Mitek Tiden Button Library: exchange.mitek.tiden
-
Mitek Tiden Documents Library: exchange.mitek.tiden
-
Mitek Tiden Documents Style Library: exchange.mitek.tiden
-
Mitek Tiden Id Styles Library: exchange.mitek.tiden
-
mitekPictureInstructions Library: exchange.mitek.tiden
-
success-tick-image Library: exchange.mitek.tiden
Services
Service Connection
Compatibility
Module | Compatibility |
---|---|
Manager | 5.1.4 |
Service Parameters
Name | Description | Required | Default |
---|---|---|---|
recordResponse | Record response text as submission properties. | No |
false
|
enableHttpAudit | With HTTP auditing enabled, details about each HTTP request (including request and response data) are stored in a submission property as a JSON array against the relevant transaction. | No |
false
|
httpAuditPropertyName | Specify the name of the HTTP audit submission property to receive the audit information. | No |
httpAudit
|
maxAttemptNumber | Max number of attempts that allowed to call Mitek Tiden ID service in a single session for each applicant. -1 means no limit. | Yes |
3
|
saveIdImages | With this flag enabled, the captured images processed by Mitek local SDK are stored as file attachments for each applicant against the relevant transaction. | No |
false
|
Inputs
Name | Description | Required |
---|---|---|
roleKey | Optionally provide a role key to support multiple identity sessions in a single transaction. A typical example would be Applicant1 and Applicant2 . |
No |
frontImage | A base64 photo of the id document front side. | Yes |
backImage | A base64 photo of the id document back side with the barcode. It requires for drivers license document. | Yes |
selfieImage | A base64 selfie photo taken from mobile on client side | No |
docVerifyFlag | Perform document verification with data prefill if it's true, otherwise, will only perform data prefill. | No |
frontImageOnly | Only Front Image. | No |
Outputs
Name | Description |
---|---|
attemptsLeft | The number of attempts left for calling this service in the same session (Only available when maxAttemptNumber is configured on server). If this value returns as 0 , the server will reject any additional requests and give it a DATA_ERROR with errorCode: EXCEEDED_NUMBER_OF_ATTEMPTS .Please also note that the attempts number counts separately for each applicant and for each applicant, the attempts number gets added for all Mitek TIDEN services. |
attemptsUsed | The number of attempts already used for calling this service in the same session (Only available when maxAttemptNumber is configured on server). Counting rule is the same as attemptsLeft. |
executionStatus | The status of the service execution [ SUCCESS | DATA_ERROR | SYSTEM_ERROR ]. Successful execution will be denoted by a |
extractedData | The customer data extracted from id document photos. Includes
sex , licenseClass but they are not always present. |
frontImage | the processing information of front side image. Includes processingStatus [ |
backImage | the processing information of back side image with same structure as frontImage. |
errorMessage | When a DATA_ERROR is experienced, this value may provide more detail on the nature of the error. |
errorCode | Error code for some specific error case. Not always available. In this service, EXCEEDED_NUMBER_OF_ATTEMPTS gets returned if current attempt number exceeds maxAttemptNumber defined in the service |
Service Connections
The following service connections are used by this package.
Property Name | Description | Required |
---|---|---|
Type | HTTP Endpoint | Yes |
Endpoint |
The Mitek TIDEN Api server endpoint:
|
Yes |
Username | Username for Mitek Identity Server | Yes |
Password | Password for Mitek Identity Server | Yes |