Getting Started

Making sense of your distribution bundle

The distribution bundle of SenseCrypt that you have received consists of the following:

  1. A server bundle - unzip this to get started with the server

  2. Android bundle - unzip this to get started with the Android mobile SDKs and reference app

  3. iOS bundle - unzip this to get started with the iOS mobile SDKs and reference app.

SenseCrypt Server

The server bundle consists of:

  • Docker images for the SenseCrypt Server (Generic CPU / Intel CPU / CUDA)

  • Scripts to start the appropriate Docker container

You should start the server first as this is the component you will use in your server-to-server integration for:

  1. Generating SensePrint eID QR codes

  2. Generating SensePrint eID raw bytes

  3. Generating Face Certificates

  4. Face Signatures

  5. Face Encryptions

  6. Face Decryptions

  7. Getting the issuer's Root Certificate

In addition to the above functionality, the server also includes some convenience end-points for cryptographic operations that can be performed off-server as well. The functionality of these end-points is to:

  1. Verify authenticity of Face Certificates

  2. Verify Face Signatures

Given that you know the public key in the issuer's root certificate, you can verify the authenticity of a Face Certificate on your own as well.

Similarly, given a public key in a verified Face Certificate, you can verify Face Signatures on your own as well.

In addition to the above, the server also includes functionality that can be invoked by a SenseCrypt Mobile SDK Online version.

SenseCrypt Mobile SDKs

The mobile SDKs consist of a closed source pre-compiled library and an open source reference UI implementation that uses the closed source libraries. Furthermore, it is offered in two variants:

  1. Offline - This variant runs SenseCrypt algorithms on a mobile device in a completely offline fashion, with a trade-off on the SDK size. Since all Machine Learning models must run on device, the packaged binary is larger than the online variant. The on-device Liveness Check offered in this variant is not as powerful as the one offered in the Online variant.

  2. Online - This variant runs the SenseCrypt algorithms on your deployment of the SenseCrypt Server. The communication between the mobile SDK and the SenseCrypt server uses an end-to-end proprietary encryption protocol. This variant is much smaller in size than its offline alternative as it doesn't contain large Machine Learning models in the packaged binary. Since the Liveness Check is executed on-server, this variant provides a more advanced Liveness Check than the Offline variant.

Both the variants are offered for iOS (Swift) and Android (Kotlin) and will need to be compiled with Xcode, Android Studio respectively to be used.

Next, let's start the server to get going!