Android SDK
Credolab Android SDK is a Kotlin library designed to capture a client’s device metadata for future processing of scores and insights.
Pick The Right Modules
The Credolab Android SDK is modular by design. At its foundation is a single mandatory Core module, which operates without accessing any runtime permissions as defined by Google. All additional features are provided through optional modules and plugins, each requesting only the specific permissions they require. This approach allows you to begin integration with just the modules that align with your app's existing permission set, keeping the implementation flexible, secure, and fully permission-scoped.

Android SDK Module Scheme
What is a
?
Provide access to features that don’t affect user privacy or security.
For example, using the internet or checking Wi-Fi state.These are granted automatically when the app is installed.
No user confirmation is needed.Read more on developer.android.com
What is a
?
Allows access to sensitive data or actions, such as contacts, calendar, or media.
These permissions must be explicitly granted by the user at runtime.Read more on developer.android.com
Versions
Mandatory module version
Module | Permissions | Version |
---|---|---|
com.credolab:modular.core |
| 4.13.0 |
Optional module versions
Module | Permissions | Version |
---|---|---|
com.credolab:modular.account | android.permission.GET_ACCOUNTS | 4.0.0 |
com.credolab:modular.audio | android.permission.READ_EXTERNAL_STORAGE android.permission.READ_MEDIA_AUDIO | 4.0.0 |
com.credolab:modular.behavioral | android.permission.ACCESS_NETWORK_STATE android.permission.DETECT_SCREEN_CAPTURE android.permission.DETECT_SCREEN_RECORDING | 4.12.0 |
com.credolab:modular.calendar | android.permission.READ_CALENDAR | 4.0.0 |
com.credolab:modular.callog | android.permission.READ_CALL_LOG android.permission.READ_CONTACTS | 4.0.0 |
com.credolab:modular.telephony | android.permission.READ_PHONE_STATE | 4.0.0 |
com.credolab:modular.contact | android.permission.READ_CONTACTS | 4.1.0 |
com.credolab:modular.images | android.permission.READ_EXTERNAL_STORAGE android.permission.READ_MEDIA_IMAGES Starting from 4.2.0: | 4.2.0 |
com.credolab:modular.video | android.permission.READ_EXTERNAL_STORAGE android.permission.READ_MEDIA_VIDEO Starting from 4.1.0: | 4.1.0 |
com.credolab:modular.sms | android.permission.READ_SMS android.permission.READ_CONTACTS | 4.0.0 |
com.credolab:modular.smsintelligence | android.permission.READ_SMS android.permission.READ_CONTACTS If the SMS module is currently in use, please remove it, | 1.0.0 |
Third-party module versions
Module | Permissions | Version |
---|---|---|
com.credolab:modular.fraudforce | — | 4.1.0 |
com.credolab:iovation TruValidate SDK (Previously Iovation SDK) hosted in Credolab repository. | — | 5.2.1 |
Plugin versions
Module | Permissions | Version |
---|---|---|
com.credolab:modular.logging | — | 4.1.0 |
com.credolab:modular.behavioral-phone | android.permission.READ_PHONE_STATE | 4.0.0 |
3.x.x Compatibility
4.x.x
modules are not compatible with previous versions of Credolab Android SDK, excluding Logging Plugin
SDK Description
Mandatory module
Core 
Extracts metadata about device characteristics, applications info, internal media storage, and environmental configuration (brand, model, storage, memory, battery, Wi-Fi, Bluetooth, etc.).
Permissions
android.permission.ACCESS_WIFI_STATE
android.permission.USE_FINGERPRINT
android.permission.ACCESS_NETWORK_STATE
android.permission.USE_BIOMETRIC
android.permission.DETECT_SCREEN_RECORDING
Optional modules
Account 
Extracts account-related metadata (e.g., Gmail, Facebook).
Permissions
android.permission.GET_ACCOUNTS
Behavioral 
Extracts metadata about in-app behavior (touch, taps, input, scrolls).
Permissions
android.permission.ACCESS_NETWORK_STATE
android.permission.DETECT_SCREEN_CAPTURE
Calendar 
Extracts metadata from calendars: Events, Attendees, and Reminders.
Permissions
android.permission.READ_CALENDAR
Call Log 
Extracts call log metadata.
Permissions
android.permission.READ_CALL_LOG
android.permission.READ_CONTACTS
Telephony 
Extracts cellular telephony metadata.
Permissions
android.permission.READ_PHONE_STATE
Contact 
Extracts metadata about Contacts and Contact Groups.
Permissions
android.permission.READ_CONTACTS
Audio 
Extracts metadata about music/audio in external storage.
Permissions
android.permission.READ_EXTERNAL_STORAGE
android.permission.READ_MEDIA_AUDIO
Images 
Extracts metadata about image files in external storage.
Permissions
android.permission.READ_EXTERNAL_STORAGE
android.permission.READ_MEDIA_IMAGES
android.permission.READ_MEDIA_VISUAL_USER_SELECTED
(from version 4.2.0+)
Video 
Extracts metadata about video files in external storage.
Permissions
android.permission.READ_EXTERNAL_STORAGE
android.permission.READ_MEDIA_VIDEO
android.permission.READ_MEDIA_VISUAL_USER_SELECTED
(from version 4.1.0+)
SMS 
Extracts SMS metadata.
Permissions
android.permission.READ_SMS
android.permission.READ_CONTACTS
SMS Intelligence 
Extended SMS metadata + anonymized lexical patterns.
Replaces the basic SMS module.
Permissions
android.permission.READ_SMS
android.permission.READ_CONTACTS
Third-party optional modules
FraudForce 
Requires iovation (TruValidate) module.
Inspects the device to generate a blackbox that contains all device information available to calling the application.
Optional Permissions
android.permission.BLUETOOTH
android.permission.BLUETOOTH_CONNECT
android.permission.CAMERA
android.permission.ACCESS_WIFI_STATE
android.permission.READ_PHONE_STATE
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_BACKGROUND_LOCATION
android.permission.GET_ACCOUNTS
android.permission.ACCESS_NETWORK_STATE
Plugins
Logging 
Optional plugin for capturing SDK errors.
Recommended for issue tracking.
Phone Behavioral Plugin 
Enhances Behavioral module with phone interaction metadata.
Permissions
android.permission.READ_PHONE_STATE
Mobile Data Flow

- Mobile Client triggers the Core Module to start data collection
- The Core Module collects data from attached modules and returns an encrypted dataset
- Mobile Client sends the dataset to Credolab via a Reverse Proxy with a unique reference number
- Client's Server requests scores and insights from Credolab using that reference number
Updated 16 days ago