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 |
---|---|---|
| — | 3.10.0 |
Optional module versions
Dependency Name | Permissions | Version |
---|---|---|
| — | 3.1.1 |
| — | 3.8.0 |
|
| 3.2.0 |
|
| 3.2.0 |
|
| 3.2.0 |
|
| 3.1.1 |
|
| 3.2.0 |
|
| 3.0.0 |
| — | 3.0.1 |
Third-party module versions
Dependency Name | Permissions | Version |
---|---|---|
| — | 5.6.0 |
| — | 3.3.0 |
Plugin versions
Dependency Name | Permissions | Version |
---|---|---|
| — | 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 declareNSCalendarsFullAccessUsageDescription
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 declareNSRemindersFullAccessUsageDescription
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
NSLocationWhenInUseUsageDescription
orNSLocationAlwaysUsageDescription
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

- 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 8 days ago