Android SDK changes


  • Upgraded the on-device Liveness model.

  • Security updates.


  • The length of the Selfie gesture is now configurable (affects the video file size).

  • You can set your own logo instead of Oz logo if your license allows it.

  • Removed the pause after the Scan gesture.

  • If the recorded video is larger than 10 MB, it gets compressed.

  • Security and logging updates.


  • Changed the master license validation algorithm.


  • Downgraded the required compileSdkVersion from 34 to 33.


  • Security updates.


  • Updated the on-device Liveness model.

  • Fixed some bugs.


  • Internal licensing improvements.


  • Internal SDK improvements.


  • Bug fixes.


  • Implemented the possibility of using a master license that works with any bundle_id.

  • Video compression failure on some phone models is now fixed.


  • Bug fixes.


  • The Analysis structure now contains the sizeReductionStrategy field. This field defines what type of media is being sent to the server in case of the hybrid analysis once the on-device analysis is finished successfully.

  • The messages for the errors that are retrieved from API are now detailed.


  • If multiple analyses are applied to the folder simultaneously, the system sends them as a group. It means that the “worst” of the results will be taken as resolution, not the latest. Please refer to this article for details.

  • For the Liveness analysis, the system now treats the highest score as a quantitative result. The Liveness analysis output is described here.


  • Updated the Liveness on-device model.

  • Added the Portuguese (Brazilian) locale.

  • You can now add a custom or update an existing language pack. The instructions can be found here.

  • If a media hasn't been uploaded correctly, the system repeats the upload.

  • Created a new method to retrieve the telemetry (logging) identifier: getEventSessionId.

  • The login and auth methods are now deprecated. Use the setAPIConnection method instead.

  • OzConfig.baseURL and OzConfig.permanentAccessToken are now deprecated.

  • If a user closes the screen during video capture, the appropriate error is now being handled by SDK.

  • Fixed some bugs and improved the SDK work.


  • Fixed errors.


  • The SDK now works properly with baseURL set to null.


  • The dependencies' versions have been brought into line with Kotlin version.


  • Added the new analysis mode – hybrid (Liveness only). If the score received from an on-device analysis is too high, the system initiates a server-based analysis as an additional check.

  • Kotlin version requirements lowered to 1.7.21.

  • Improved the on-device models.

  • For some phone models, fixed the fatal device error.

  • The hint text width can now exceed the frame width (when using the main camera).

  • Photos taken during the One Shot analysis are now being sent to the server in the original size.

  • Removed the OzAnalysisResult class. The onSuccess method now uses the RequestResult structure instead of List<OzAnalysisResult>.

  • All exceptions are moved to the com.ozforensics.liveness.sdk.core.exceptions package (See changes below).

  • Classes related to AnalysisRequest are moved to the com.ozforensics.liveness.sdk.analysispackage (See changes below).

  • The methods below are no longer supported:

Removed method






OzLivenessSDK.runOnDeviceLivenessAnalysis AnalysisRequest




Public interface changes

New entities

  • AnalysisRequest.Type.HYBRID in com.ozforensics.liveness.sdk.analysis.entity

  • AnalysisError in com.ozforensics.liveness.sdk.analysis.entity

  • SourceMedia in com.ozforensics.liveness.sdk.analysis.entity

  • ResultMedia in com.ozforensics.liveness.sdk.analysis.entity

  • RequestResult in com.ozforensics.liveness.sdk.analysis.entity

Moved entities

  • NoAnalysisException from com.ozforensics.liveness.sdk.exceptions в com.ozforensics.liveness.sdk.core.exceptions

  • NoNetworkException from com.ozforensics.liveness.sdk.exceptions в com.ozforensics.liveness.sdk.core.exceptions

  • TokenException from com.ozforensics.liveness.sdk.exceptions в com.ozforensics.liveness.sdk.core.exceptions

  • NoMediaInAnalysisException from com.ozforensics.liveness.sdk.exceptions to com.ozforensics.liveness.sdk.core.exceptions

  • EmptyMediaListException from com.ozforensics.liveness.sdk.exceptions to com.ozforensics.liveness.sdk.core.exceptions

  • NoSuchMediaException from com.ozforensics.liveness.sdk.exceptions to com.ozforensics.liveness.sdk.core.exceptions

  • LicenseException from com.ozforensics.liveness.sdk.exceptions to

  • Analysis from com.ozforensics.liveness.sdk.analysis.entity to com.ozforensics.liveness.sdk.core.model

  • AnalysisRequest from com.ozforensics.liveness.sdk.analysis to com.ozforensics.liveness.sdk.core

  • AnalysisListener from com.ozforensics.liveness.sdk.analysis to com.ozforensics.liveness.sdk.core

  • AnalysisStatus from com.ozforensics.liveness.sdk.analysis to com.ozforensics.liveness.sdk.core

  • AnalysisRequest.Builder from com.ozforensics.liveness.sdk.analysis to com.ozforensics.liveness.sdk.core

  • OzException from com.ozforensics.liveness.sdk.exceptions to com.ozforensics.liveness.sdk.core.exceptions

Changed classes


  • Removed uploadMediaAndAnalyze

  • Removed uploadMedia

  • Removed runOnDeviceBiometryAnalysis

  • Removed runOnDeviceLivenessAnalysis


  • Removed build(): AnalysisRequest


  • Removed addMedia

  • Removed onSuccess(result: List<OzAnalysisResult>)

  • Added onSuccess(result: RequestResult)


  • Restructured the settings screen.

  • Added the center hint background customization.

  • Added new face frame forms (Circle, Square).

  • Added the antiscam widget and its customization. This feature allows you to alert your customers that the video recording is being conducted, for instance, for loan application purposes. The purpose of this is to safeguard against scammers who may attempt to deceive an individual into approving a fraudulent transaction.

  • The OzLivenessSDK::init method no longer crashes if there is a StatusListener parameter passed.

  • Changed the scan gesture animation.

Please note: for this version, we updated Kotlin to 1.8.20.


  • Improved the SDK algorithms.


  • Updated the model for the on-device analyses.

  • Fixed the animation for sunglasses/mask.

  • The oval size for Liveness is now smaller.


  • Fixed the error with the server-based analyses while using permanentAccessToken for authorization.


  • Added customization for the hint animation.

  • You can now hide the status bar and system buttons (works with 7.0.0 and higher).

  • OzLivenessSDK.init now requires context as the first parameter.

  • OzAnalysisResult now shows the server-based analyses' scores properly.

  • Fixed initialization issues, displaying of wrong customization settings, authorization failures on Android <7.1.1.


  • Fixed crashes for Android <6.

  • Fixed oval positioning for some phone models.

  • Internal fixes and improvements.


  • Updated security.

  • Implemented some internal improvements.

  • The addMedia method is now deprecated, please use uploadMedia for uploading.


  • Changed the way of sharing dependencies. Due to security issues, now we share two types of libraries as shown below: sdk is a server analysis only, full provides both server and on-device analyses:

implementation 'com.ozforensics.liveness:full:7.0.0'
implementation 'com.ozforensics.liveness:sdk:7.0.0'
  • UICustomization has been implemented instead of OzCustomization.

  • Implemented a range of UI customization options and switched to the new design. To restore the previous settings, please refer to this article.

  • Added the Spanish locale.

  • Fixed the bug with freezes that had appeared on some phone models.

  • SDK now captures videos in 720p.


  • Synchronized the names of the analysis modes with iOS: SERVER_BASED and ON_DEVICE.

  • Fixed the bug with displaying of localization settings.


  • Now you can use Fragment as Liveness screen.

  • Added a new field to the Analysis structure. The params field is for any additional parameters, for instance, if you need to set extracting the best shot on server to true. The best shot algorithm chooses the most high-quality frame from a video.


  • The Zoom in and Zoom out gestures are no longer supported.


  • Updated the biometry model.


  • Added a new simplified API – AnalysisRequest. With it, it’s easier to create a request for the media and analysis you need.


  • Published the on-device module for on-device liveness and biometry analyses. To add this module to your project, use:

    implementation 'com.ozforensics.liveness:on-device:6.3.4'

To launch these analyses, use runOnDeviceBiometryAnalysis and runOnDeviceLivenessAnalysis methods from the OzLivenessSDK class:

val mediaList: List<OzAbstractMedia> = ...
val biometryAnalysisResult: OzAnalysisResult = OzLivenessSDK.runOnDeviceBiometryAnalysis(mediaList)
val livenessAnalysisResult: OzAnalysisResult = OzLivenessSDK.runOnDeviceLivenessAnalysis(mediaList)


  • Liveness goes smoother.

  • Fixed freezes on Xiaomi devices.

  • Optimized image converting.


  • New metadata parameter for OzLivenessSDK.uploadMedia and new OzLivenessSDK.uploadMediaAndAnalyze method to pass this parameter to folders.


  • Added functions for SDK initialization with LicenseSources: LicenseSource.LicenseAssetId and LicenseSource.LicenseFilePath. Use the OzLivenessSDK.init method to start initialization.

  • Now you can get the license info upon initialization val licensePayload = OzLivenessSDK.getLicensePayload().


  • Added the Kyrgyz locale.


  • Added local analysis functions.

  • You can now configure the face frame.

  • Fixed version number at the Liveness screen.


  • Added the main camera support.


  • Added configuration from license support.


  • Added the OneShot gesture.

  • Added new states for OzAnalysisResult.Resolution.

  • Added the uploadMediaAndAnalyze method to load a bunch of media to the server at once and send them to analysis immediately.

  • OzMedia is renamed to OzAbstractMedia and got subclasses for images and videos.

  • Fixed camera bugs for some devices.


  • Access token updates automatically.

  • Renamed accessToken to permanentAccessToken.

  • Added R8 rules.

  • Configuration became easier: config settings are mutable.


  • Fixed the oval frame.

  • Removed the unusable parameters from AnalyseRequest.

  • Removed default attempt limits.


  • To customize the configuration options, the config property is added instead of baseURL, accessToken, etc. Use OzConfig.Builder for initialization.

  • Added license support. Licences should be installed as raw resources. To pass them to OzConfig, use setLicenseResourceId.

  • Replaced the context-dependent methods with analogs.

  • Improved the image analysis.

  • Removed unusable dependencies

  • Fixed logging

Last updated