SDK Permissions
Android SDK Permissions
Permissions Declared in SDK
| Permission | Purpose within SDK | Notes |
|---|---|---|
INTERNET | API requests, uploads | Required for core SDK communication |
ACCESS_NETWORK_STATE | Check connectivity | For offline handling or retry logic |
ACCESS_WIFI_STATE | Network diagnostics | Required for analytics metadata |
CAMERA | Face/document capture | Used in KYC/selfie/liveness/OCR/ VKYC modules |
RECORD_AUDIO | Self VKYC Module | Used only when vkyc module is integrated in native mode |
MODIFY_AUDIO_SETTINGS | Self VKYC Module | Used only when vkyc module is integrated in native mode |
ACCESS_FINE_LOCATION | Optional : Used by liveness module | If client wants to return geo tags with the liveness image |
ACCESS_COARSE_LOCATION | Optional : Used by liveness module | If client wants to return geo tags with the liveness image |
How To Remove Permissions from Manifest
You can exclude unused SDK modules and remove corresponding permissions to reduce your app's permission requirements. This is particularly useful for apps that don't use video workflows or location-based features.
Important
This applies if you integrate the SDK and fall under a regulated fintech category
1. Remove via Manifest Override
Java
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION"
tools:node="remove" />
2. Add tools namespace to manifest root
Java
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
3. Common Entries to Remove (if flagged):
Java
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" tools:node="remove" />
iOS SDK Permissions
Permissions
Add required keys in Info.plist:
xml
<key>NSCameraUsageDescription</key>
<string>Camera required for KYC</string>
<key>NSMicrophoneUsageDescription</key>
<string>Microphone required for video KYC</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Location required for KYC workflow</string>
- Camera → Mandatory for face/document capture
- Microphone → Only for video KYC flows
- Location → Optional, only if
setUseLocation(true)is enabled