Scanning settings
You can configure BlinkCard scanning through its scanning settings.
These settings control image quality handling, field extraction, image cropping, liveness detection, and anonymization.
The scanning settings live inside the session settings, alongside inputImageSource, which indicates whether images come from a video stream or a single photo.
The default is video.
Some settings behave differently depending on the input image source. These are called out where relevant below.
skipImagesWithBlur
type: boolean, default:
true
Indicates whether to reject frames if blur is detected on the card image.
When true, frames with detected blur are skipped to ensure only high-quality images are processed.
When false, blurred frames are still processed, and the blur status is reported in the result.
tiltDetectionLevel
type: string, default:
mid
The level of allowed detected tilt of the card in the image.
Defines the severity of allowed detected tilt of the card in the image.
Values range from off (detection turned off) to higher levels of allowed tilt.
Allowed values: off, low, mid, high.
On iOS, this setting is named tiltSensitivityLevel.
inputImageMargin
type: float, default:
0.02
Defines the minimum required margin between the edge of the input image and the card, expressed as a percentage of the image dimensions.
Allowed values: 0.0 to 1.0.
This setting is applicable only when the input image source is video.
extractionSettings
extractionSettings controls which fields are extracted from the card.
Disabling extraction of unused fields can improve recognition performance or reduce memory usage.
extractIban
type: boolean, default:
true
Whether to extract the IBAN (International Bank Account Number).
extractExpiryDate
type: boolean, default:
true
Whether to extract the card expiry date.
extractCardholderName
type: boolean, default:
true
Whether to extract the cardholder name.
extractCvv
type: boolean, default:
true
Whether to extract the CVV (Card Verification Value) security code.
The CVV is usually found on the back of the card and is required for secure transactions.
extractInvalidCardNumber
type: boolean, default:
false
Indicates whether card numbers that fail checksum validation should be accepted.
Card numbers are validated using the Luhn algorithm.
When false, only card numbers that pass the checksum validation are accepted.
When true, card numbers that fail checksum validation are still accepted.
This may be useful for testing purposes or when processing damaged or worn cards.
The cardNumberValid field in the result will still indicate whether the checksum passed.
croppedImageSettings
croppedImageSettings controls how card images are cropped, including resolution, the extension of the cropping area, and whether the cropped image is returned in the result.
dotsPerInch
type: integer, default:
250
The resolution of the returned cropped card image in dots per inch.
extensionFactor
type: float, default:
0.0
Expands the card crop boundary outward by a fraction of the card's longest edge.
Allowed values: 0.0 to 1.0.
returnCardImage
type: boolean, default:
false
Indicates whether the cropped card image should be returned in the result.
Provides the complete card image for record keeping or further processing. Disable to reduce memory usage if the image is not needed.
livenessSettings
livenessSettings controls the behavior of liveness detection, including thresholds for hand detection and the strictness of screen and photocopy analysis.
handToCardSizeRatio
type: float, default:
0.15
Minimum hand-to-card size ratio for valid hand detection.
Controls how large a hand must appear in the frame relative to the card to be considered valid. Lower values detect smaller or more distant hands. Hand scale is calculated as a ratio between the area of the hand mask and the card mask.
Allowed values: 0.0 to 1.0.
handCardOverlapThreshold
type: float, default:
0.05
Minimum overlap threshold between detected hand and card regions.
This parameter adjusts heuristics that eliminate cases where a hand is present in the input but is not holding the card. It is the minimal ratio of hand pixels inside the frame surrounding the card to the area of that frame. Only pixels inside that frame are used, to ignore false-positive hand segmentations inside the card.
Allowed values: 0.0 to 1.0.
enableCardHeldInHandCheck
type: boolean, default:
true
Enables or disables the check for the card being held in hand.
When true, liveness detection includes a check that verifies the card is being held in hand.
screenCheckStrictnessLevel
type: string, default:
level-5
Sensitivity level for detecting frames where the card is displayed on a screen.
Higher levels provide better security by being stricter in detecting screen-displayed cards, but may increase false positives.
Allowed values: disabled, level-1 through level-10.
disabled: turns the check offlevel-1: lowest false reject rate, highest false accept ratelevel-10: highest false reject rate, lowest false accept rate
photocopyCheckStrictnessLevel
type: string, default:
level-5
Sensitivity level for detecting frames where the presented card is a photocopy.
Higher levels provide better security by being stricter in detecting photocopied cards, but may increase false positives.
Allowed values: disabled, level-1 through level-10.
disabled: turns the check offlevel-1: lowest false reject rate, highest false accept ratelevel-10: highest false reject rate, lowest false accept rate
anonymizationSettings
anonymizationSettings controls the anonymization of sensitive data in the data and images returned by the SDK.
Each mode accepts the following values:
none: anonymization is not performedimage-only: the card image is anonymized with black boxes covering sensitive dataresult-fields-only: result fields containing sensitive data are removed from the resultfull-result: combinesimage-onlyandresult-fields-only
On iOS, anonymization is referred to as redaction.
The anonymizationSettings object is named redactionSettings, the mode type is RedactionMode, and each field uses Redaction instead of Anonymization (for example, cvvAnonymizationMode is cvvRedactionMode).
cardNumberAnonymizationSettings
cardNumberAnonymizationSettings controls card number anonymization.
It has the following fields:
mode- Defines the mode of card number anonymization.
- type: string, default:
none
prefixDigitsVisible- Defines how many digits at the beginning of the card number remain visible after anonymization.
- type: integer, default:
0
suffixDigitsVisible- Defines how many digits at the end of the card number remain visible after anonymization.
- type: integer, default:
0
On Android, the mode field is named anonymizationMode.
cardNumberPrefixAnonymizationMode
type: string, default:
none
Defines the mode of card number prefix anonymization.
cvvAnonymizationMode
type: string, default:
none
Defines the mode of CVV anonymization.
ibanAnonymizationMode
type: string, default:
none
Defines the mode of IBAN anonymization.
cardholderNameAnonymizationMode
type: string, default:
none
Defines the mode of cardholder name anonymization.