Skip to content

Security Checks

The Document Reader Mobile SDK allows you to perform various security checks. For a full list of supported options, see the Authenticity Control page.

The security features and applicable authenticity checks of a document depend on its issuing country and type. For detailed information on each document, see Supported Documents, particularly the Security Features column in the overview table.

The following instructions explain how to perform the document security checks with the Mobile SDK.

Preparation

1. Install the Core of the type that supports checking the security features:


2. Add the document database that supports checking the security features.

By default, the database ID for this case is FullAuth. For installation instructions, see the Database page.

Info

To get a configured custom database, contact your account manager or create a request on the Support Portal.


3. To use Regula mobile devices, declare additional dependencies and permissions (optional).

To enhance the process of document capture and recognition, Regula provides several devices, such as the attachable Mobile Document Authenticator Regula 1120 and the standalone Mobile Workstation Regula 7310. They employ high-quality hardware modules (IR/UV light sources and RFID reader).

  • Add the BTDevice dependency:
Podfile
pod 'BTDevice'
build.gradle — Groovy
implementation 'com.regula.btdevice:api:+@aar'
build.gradle.kts — Kotlin
implementation("com.regula.btdevice:api:+@aar")
flutter_document_reader_btdevice:
<!-- Android -->
<PackageReference Include="Xamarin.DocumentReader.BTDevice.Android" Version="*"/>

<!-- iOS -->
<PackageReference Include="Xamarin.DocumentReader.BTDevice.iOS" Version="*"/>
  • Declare the Bluetooth permissions:

Add the following usage descriptions to your Info.plist:

Info.plist
<key>NSBluetoothAlwaysUsageDescription</key>
<string>Requires access to your phone’s Bluetooth module.</string>

Bluetooth permissions are imported from the btdevice library and automatically merged to the application's AndroidManifest.xml, no additional actions from your side are required.

AndroidManifest.xml
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />

Note that you will also need to request the Bluetooth permissions at runtime.

For Android Bluetooth permissions, add the following to android/app/src/main/AndroidManifest.xml:

AndroidManifest.xml
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />

For iOS Bluetooth permissions, add the following to ios/Runner/Info.plist:

Info.plist
<key>NSBluetoothAlwaysUsageDescription</key>
<string>Requires access to your phone’s Bluetooth module.</string>

For Android Bluetooth permissions, add the following to Platforms/Android/AndroidManifest.xml:

AndroidManifest.xml
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />

For iOS Bluetooth permissions, add the following to Platforms/iOS/Info.plist:

Info.plist
<key>NSBluetoothAlwaysUsageDescription</key>
<string>Requires access to your phone’s Bluetooth module.</string>

Step 1: Optical Processing

The first step is optical processing.

Follow the Document Processing guide and set the Authentication processing scenario that supports checking security features.

Step 2: RFID Chip Reading (Optional)

After the optical processing is completed, you can start the RFID chip reading (if applicable to your case).

Follow the RFID Chip Processing guide.

Step 3: Processing Results

Once the document processing is completed, you can handle the processing results that are stored in the authenticityResult container:

Examples

Android GitHub sample project, demonstrating how to check the document security features.

Examples of the Mobile SDK integration with the devices Regula 1120 and Regula 7310:

Next Steps