Capture Modules
UnifiedID
UnifiedID does not define a completely independent Autentikar theme. It inherits the shared Core styles and delegates the FaceTec capture UI to FaceTec customization.
iOS
Use AutentikarFaceTecCustomization for the FaceTec interface. Core values continue to style the surrounding Autentikar screens.
Android
Configure the faceTecCustomization property exposed by AutentikarUnifiedIDManager. The FaceTec configuration controls facial verification and FaceTec-based ID capture while the surrounding flow inherits Core.
The manager also exposes faceTecLowLightCustomization so a dedicated theme can be used when FaceTec enters its low-light experience.
FaceTecCustomization class.PhotoIDScan
PhotoIDScan has its own AutentikarPhotoIDScanCustomization class on both platforms. It is designed for the native document-capture experience while retaining the general visual language configured in Core.
Configure and apply the object before starting the flow. Properties you do not change retain their default values.
iOS
Apply the customization
import AutentikarPhotoIDScan
import UIKit
let custom = AutentikarPhotoIDScanCustomization()
custom.backgroundColor = .systemBackground
custom.title.color = .label
custom.button.activeColor = .systemBlue
AutentikarPhotoIDScanManager.shared.setCustomization(custom)
General appearance
| Property | Type | Default | Purpose |
|---|---|---|---|
backgroundColor | UIColor | .white | Background of the document review screen. |
closeIconColor | UIColor | #082C4C | Close-icon color on the document review screen. |
Typography
| Property | Type | Default | Purpose |
|---|---|---|---|
title.font | UIFont | Plus Jakarta Sans SemiBold, 18 pt | Main title font. |
title.color | UIColor | .black | Main title color. |
subTitle.font | UIFont | Plus Jakarta Sans SemiBold, 17 pt | Font for subtitles and highlighted information. |
subTitle.color | UIColor | .black | Color exposed by the subtitle model. Camera guidance uses cameraScreen.infoTextColor. |
text.font | UIFont | Plus Jakarta Sans Regular, 16 pt | General text font. |
text.color | UIColor | .black | General text color. |
Primary button
| Property | Type | Default | Purpose |
|---|---|---|---|
button.font | UIFont | Plus Jakarta Sans Regular, 16 pt | Button title font. |
button.activeTextColor | UIColor | .white | Text color when the button is enabled. |
button.activeColor | UIColor | #082C4C | Background color when the button is enabled. |
button.disableTextColor | UIColor | .white | Text color when the button is disabled. |
button.disabledColor | UIColor | #5F6368 | Background color when the button is disabled. |
button.cornerRadius | CGFloat | 10 | Button corner radius in points. |
Document card
| Property | Type | Default | Purpose |
|---|---|---|---|
contentCard.reintentIconColor | UIColor | #082C4C | Color of the icon used to recapture the document. |
contentCard.cardIDFrontImageName | String | "autentikarCardIDFront" | Placeholder image name for the document front. |
contentCard.cardIDBackImageName | String | "autentikarCardIDBack" | Placeholder image name for the document back. |
contentCard.dashedLineColor | UIColor | #082C4C | Color of the card's dashed border. |
contentCard.overlayActionContent.backgroundColor | UIColor | #082C4C | Background of the action overlay displayed over the card. |
contentCard.overlayActionContent.iconColor | UIColor | .white | Overlay icon color. |
contentCard.overlayActionContent.text.font | UIFont | Plus Jakarta Sans Regular, 16 pt | Overlay text font. |
contentCard.overlayActionContent.text.color | UIColor | .white | Overlay text color. |
cardIDFrontImageName and cardIDBackImageName must exist in the resource bundle used by AutentikarPhotoIDScan.Camera screen
| Property | Type | Default | Purpose |
|---|---|---|---|
cameraScreen.closeIconColor | UIColor | #082C4C | Camera close-icon color. |
cameraScreen.infoTextColor | UIColor | .black | Color of the text that identifies the side and displays capture recommendations. |
cameraScreen.frameReferenceColor | UIColor | #082C4C | Color of the frame, progress, and detection guides. |
cameraScreen.statusHintText.font | UIFont | Plus Jakarta Sans Regular, 16 pt | Detection-status message font. |
cameraScreen.statusHintText.color | UIColor | .black | Detection-status message color. |
Capture button
takePhotoButton, but CameraViewController does not yet apply these properties to the manual capture button. That button currently uses button.font, button.activeTextColor, and button.activeColor.| Property | Type | Default | Purpose |
|---|---|---|---|
takePhotoButton.borderColor | CGColor | White at 55% opacity | Border color of the circular capture button. |
takePhotoButton.cornerRadius | CGFloat | 36 | Corner radius in points. |
takePhotoButton.borderWidth | CGFloat | 5 | Border width in points. |
takePhotoButton.backgroundColor | UIColor | .white | Background color. |
takePhotoButton.shadowColor | CGColor | Black | Shadow color. |
takePhotoButton.shadowOpacity | Float | 0.30 | Shadow opacity. |
takePhotoButton.shadowOffset | CGSize | (0, 3) | Horizontal and vertical shadow offset. |
takePhotoButton.shadowRadius | CGFloat | 7 | Shadow blur radius. |
takePhotoButton.tintColor | UIColor | #082C4C | Camera-icon color. |
Complete example
import AutentikarPhotoIDScan
import UIKit
let custom = AutentikarPhotoIDScanCustomization()
custom.backgroundColor = .systemBackground
custom.closeIconColor = .label
custom.title.font = .boldSystemFont(ofSize: 20)
custom.title.color = .label
custom.subTitle.font = .systemFont(ofSize: 17, weight: .semibold)
custom.subTitle.color = .label
custom.text.font = .systemFont(ofSize: 16)
custom.text.color = .secondaryLabel
custom.button.activeColor = .systemBlue
custom.button.activeTextColor = .white
custom.button.disabledColor = .systemGray
custom.button.disableTextColor = .white
custom.button.cornerRadius = 14
custom.contentCard.cardIDFrontImageName = "CompanyIDFront"
custom.contentCard.cardIDBackImageName = "CompanyIDBack"
custom.contentCard.reintentIconColor = .systemBlue
custom.contentCard.dashedLineColor = .systemBlue
custom.contentCard.overlayActionContent.backgroundColor = .systemBlue
custom.contentCard.overlayActionContent.iconColor = .white
custom.contentCard.overlayActionContent.text.color = .white
custom.cameraScreen.closeIconColor = .white
custom.cameraScreen.infoTextColor = .white
custom.cameraScreen.frameReferenceColor = .systemBlue
custom.cameraScreen.statusHintText.color = .white
AutentikarPhotoIDScanManager.shared.setCustomization(custom)
Android
Apply the customization
import android.graphics.Color
import com.autentikar.photoidscan.common.managers.AutentikarPhotoIDScanManager
import com.autentikar.photoidscan.utilities.customizations.AutentikarPhotoIDScanCustomization
val custom = AutentikarPhotoIDScanCustomization().apply {
backgroundColor = Color.WHITE
title.color = Color.BLACK
button.activeColor = Color.rgb(8, 44, 76)
}
AutentikarPhotoIDScanManager.setCustomization(custom)
General appearance
| Property | Type | Default | Purpose |
|---|---|---|---|
backgroundColor | Int (@ColorInt) | #FFFFFF | Background of the document review screen. |
closeIconColor | Int (@ColorInt) | #082C4C | Close-icon color on the document review screen. |
Typography
| Property | Type | Default | Purpose |
|---|---|---|---|
title.typeface | Typeface? | null | Title typeface; Plus Jakarta Sans SemiBold is used when unset. |
title.color | Int (@ColorInt) | #3A3A3C | Main title color. |
subTitle.typeface | Typeface? | null | Subtitle typeface; Plus Jakarta Sans Regular is used when unset. |
subTitle.color | Int (@ColorInt) | #3A3A3C | Subtitle color. |
text.typeface | Typeface? | null | General text typeface; Plus Jakarta Sans Light is used when unset. |
text.color | Int (@ColorInt) | #3A3A3C | General text color. |
Primary button
| Property | Type | Default | Purpose |
|---|---|---|---|
button.typeface | Typeface? | null | Button typeface; Plus Jakarta Sans Regular is used when unset. |
button.activeTextColor | Int (@ColorInt) | #FFFFFF | Text color when the button is enabled. |
button.activeColor | Int (@ColorInt) | #082C4C | Background color when the button is enabled. |
button.disabledTextColor | Int (@ColorInt) | #FFFFFF | Text color when the button is disabled. |
button.disabledColor | Int (@ColorInt) | #5F6368 | Background color when the button is disabled. |
button.cornerRadius | Float | 20F | Button corner radius in pixels. |
Document card
| Property | Type | Default | Purpose |
|---|---|---|---|
contentCard.reintentIconColor | Int (@ColorInt) | #082C4C | Color of the icon used to recapture the document. |
contentCard.idCardFrontImage | Int (@DrawableRes) | R.drawable.autentikar_id_card_front | Placeholder resource for the document front. |
contentCard.idCardBackImage | Int (@DrawableRes) | R.drawable.autentikar_id_card_back | Placeholder resource for the document back. |
contentCard.overlayActionContent.backgroundColor | Int (@ColorInt) | #4D00B6D3 | Semitransparent action-overlay background. |
contentCard.overlayActionContent.iconColor | Int (@ColorInt) | #FFFFFF | Overlay icon color. |
contentCard.overlayActionContent.text.typeface | Typeface? | null | Overlay text typeface; Plus Jakarta Sans Regular is used when unset. |
contentCard.overlayActionContent.text.color | Int (@ColorInt) | #FFFFFF | Overlay text color. |
Camera screen
| Property | Type | Default | Purpose |
|---|---|---|---|
cameraScreen.closeIconColor | Int (@ColorInt) | #082C4C | Camera close-icon color. |
cameraScreen.progressBarColor | Int (@ColorInt) | #082C4C | Capture progress-indicator color. |
cameraScreen.strokeColor | Int (@ColorInt) | #082C4C | Document guide-frame color. |
Complete example
import android.graphics.Color
import android.graphics.Typeface
import com.autentikar.photoidscan.common.managers.AutentikarPhotoIDScanManager
import com.autentikar.photoidscan.utilities.customizations.AutentikarPhotoIDScanCustomization
val custom = AutentikarPhotoIDScanCustomization().apply {
backgroundColor = Color.WHITE
closeIconColor = Color.DKGRAY
title.typeface = Typeface.DEFAULT_BOLD
title.color = Color.BLACK
subTitle.typeface = Typeface.DEFAULT
subTitle.color = Color.DKGRAY
text.typeface = Typeface.DEFAULT
text.color = Color.DKGRAY
button.activeColor = Color.rgb(37, 99, 235)
button.activeTextColor = Color.WHITE
button.disabledColor = Color.GRAY
button.disabledTextColor = Color.WHITE
button.cornerRadius = 24F
contentCard.idCardFrontImage = R.drawable.company_id_front
contentCard.idCardBackImage = R.drawable.company_id_back
contentCard.reintentIconColor = Color.rgb(37, 99, 235)
contentCard.overlayActionContent.backgroundColor = Color.argb(77, 37, 99, 235)
contentCard.overlayActionContent.iconColor = Color.WHITE
contentCard.overlayActionContent.text.color = Color.WHITE
cameraScreen.closeIconColor = Color.WHITE
cameraScreen.progressBarColor = Color.rgb(37, 99, 235)
cameraScreen.strokeColor = Color.rgb(37, 99, 235)
}
AutentikarPhotoIDScanManager.setCustomization(custom)
How configuration is applied
Every module manager exposes setCustomization except AutentikarUnifiedIDManager, whose FaceTec-specific properties are set directly. This keeps the base theme centralized while allowing the capture provider to retain its own UI controls.
AutentikarCoreCustomization.