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

android.permission.ACCESS_WIFI_STATE
android.permission.USE_FINGERPRINT android.permission.ACCESS_NETWORK_STATE android.permission.USE_BIOMETRIC android.permission.DETECT_SCREEN_RECORDING

4.13.0

Optional module versions

ModulePermissionsVersion
com.credolab:modular.account
android.permission.GET_ACCOUNTS4.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_CALENDAR4.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_STATE4.0.0
com.credolab:modular.contact
android.permission.READ_CONTACTS4.1.0
com.credolab:modular.images
android.permission.READ_EXTERNAL_STORAGE
android.permission.READ_MEDIA_IMAGES

Starting from 4.2.0:
android.permission.READ_MEDIA_VISUAL_USER_SELECTED

4.2.0
com.credolab:modular.video
android.permission.READ_EXTERNAL_STORAGE
android.permission.READ_MEDIA_VIDEO

Starting from 4.1.0:
android.permission.READ_MEDIA_VISUAL_USER_SELECTED

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,
as the SMS Intelligence module incorporates all its features.

1.0.0

Third-party module versions

Module

Permissions

Version

com.credolab:modular.fraudforce
normal permissions

4.1.0

com.credolab:iovation
normal permissions

TruValidate SDK (Previously Iovation SDK) hosted in Credolab repository.
Required by FraudForce Module.

5.2.1

Plugin versions

Module

Permissions

Version

com.credolab:modular.logging
normal permissions

4.1.0

com.credolab:modular.behavioral-phone
runtime permissions
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

  1. Mobile Client triggers the Core Module to start data collection
  2. The Core Module collects data from attached modules and returns an encrypted dataset
  3. Mobile Client sends the dataset to Credolab via a Reverse Proxy with a unique reference number
  4. Client's Server requests scores and insights from Credolab using that reference number