Security controls
Root detection, debug detection, and debug logs are set at compile time by selecting the development or production version of SDK. You can read more about adding the iOS SDK to Podfile.
Caution
Never release your app with the Developer version of our SDK (x.y.z-dev
). It can result in a possible data breach and a significant decrease to the security level of your app.
Debug detection
The iOS SDK has the ability to detect if the app runs with a debugger attached. If debug mode detection is enabled and a debugger is detected, the iOS SDK does not allow the successful completion of any of the flows. All flows will end in an error that states that the device is not suitable for communicating with the backend. Also, a special event is logged in the event log indicating that a connection was made from a potentially unreliable device.
Root detection
The iOS SDK is capable of detecting when a device running the application is jail-broken. If detection is enabled and the device is jail-broken, the iOS SDK does not allow the successful completion of any of the flows. All flows will end in an error that states that the device is not suitable for communicating with the backend. Also, a special event is logged in the event log indicating that a connection was made from a potentially unreliable device.
Debug logs
The iOS SDK has an additional option to print debug logs to the console if needed. The iOS SDK logs its network communication (HTTP request or response paths and status codes) and every method call to the public API.