iOS SDK

Credolab iOS SDK is a Swift library designed to capture a client's device metadata for future processing to gain scores and insights.

Pick The Right Modules

The Credolab iOS SDK is modular by design. At its foundation is a single mandatory Core module, which operates without accessing any runtime permissions. 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.

iOS SDK Module Scheme


📘

What are ?

Allows access to protected resources or actions, such as contacts, calendar, or media.
These permissions must be explicitly granted by the User at runtime.

Read more on developer.apple.com

Versions

Mandatory module version

Dependency Name

Permissions

Version

CredoAppCore

3.10.0

Optional module versions

Dependency Name

Permissions

Version

CredoAppApplication

3.1.1

CredoAppBehavioral

3.8.0

CredoAppCalendarEvents

NSCalendarsUsageDescription NSCalendarsFullAccessUsageDescription

3.2.0

CredoAppCalendarReminders

NSRemindersUsageDescription NSRemindersFullAccessUsageDescription

3.2.0

CredoAppContacts

NSContactsUsageDescription

3.2.0

CredoAppMusic

NSAppleMusicUsageDescription

3.1.1

CredoAppMedia

NSPhotoLibraryUsageDescription

3.2.0

CredoAppLocation

NSLocationWhenInUseUsageDescription or NSLocationAlwaysUsageDescription

3.0.0

CredoAppTelephony

3.0.1

Third-party module versions

Dependency Name

Permissions

Version

FraudForce

5.6.0

CredoAppIovation

3.3.0

Plugin versions

Dependency Name

Permissions

Version

CredoAppLogging

3.3.0

📘

Using Xcode 15+, all privacy manifests in an app and its third-party SDKs automatically roll up into a single privacy report. Refer to this report when you provide your app’s privacy details in App Store Connect.


SDK Description

Mandatory module

Core

Extracts various metadata connected with device characteristics and configuration. This includes info about the device brand, model, total and available free memory, and other data describing the device.



Optional modules

Behavioral

Extracts metadata related to the user’s in-app behavior, such as taps, text input, etc.

Contacts

Extracts various metadata connected with Contacts and Contacts Group presented on the device.

Permissions
  • NSContactsUsageDescription

Calendar Events

Extracts metadata connected with calendar events information presented on the device. This includes metadata of calendar events, such as whether an event has an organiser, location, alarm or not, etc.

Permissions
  • NSCalendarsUsageDescription
  • NSCalendarsFullAccessUsageDescription

🚧

Starting from iOS 17 NSCalendarsUsageDescription has been deprecated. Please additionally declare NSCalendarsFullAccessUsageDescription permission to ensure compatibility with iOS 17 and higher.

Calendar Reminders

Extracts metadata connected with calendar reminder information presented on the device. This includes metadata of calendar reminders such as whether the reminder has notes, attendees, alarms or not, etc.

Permissions
  • NSRemindersUsageDescription
  • NSRemindersFullAccessUsageDescription

🚧

Starting from iOS 17 NSRemindersUsageDescription has been deprecated. Please additionally declare NSRemindersFullAccessUsageDescription permission to ensure compatibility with iOS 17 and higher.

Media

Extracts metadata connected with pictures, music, audio, and videos that are located in the device.

Permissions
  • NSPhotoLibraryUsageDescription

Music

Extracts metadata connected with audio that is located on the device.

Permissions
  • NSAppleMusicUsageDescription

Application

Extracts metadata associated with determining the installation status of a specific application. This identification is carried out by examining the URL Schemas.


Location

Extracts metadata associated with location information, including whether the location is spoofed and other related data. This metadata is available beginning from iOS 15.

Permissions
  • NSLocationWhenInUseUsageDescriptionor NSLocationAlwaysUsageDescription

Telephony

Extracts metadata related to calls and their states that are in progress.


Third-party optional modules

Iovation

Extracts device profile metadata collected by TruValidate(formerly known as iovation) SDK, such as device type, geolocation & browser information, and system settings.


Plugins

Logging

Optional plugin for capturing SDK errors.
Recommended for issue tracking.

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