Skip to main content

Scoring

Every completed verification receives a composite score (0–100) that drives the automated decision. The score combines identity verification results with compliance screening.

Score formula

The overall verification score is a weighted sum of 6 component scores:

Overall Score = (documentQuality × 0.10)
+ (documentAuth × 0.10)
+ (faceMatch × 0.25)
+ (liveness × 0.25)
+ (nameMatch × 0.10)
+ (dataConsistency × 0.10)
ComponentWeightSource
documentQuality10%Image quality assessment
documentAuth10%5-layer document authenticity analysis
faceMatch25%FaceNet embedding similarity
liveness25%Anti-spoofing analysis
nameMatch10%Name matching across sources
dataConsistency10%Cross-reference of extracted data
note

The remaining 10% is reserved for optional scoring components (e.g., MRZ validity) depending on the document type.

Score components

The score is derived from multiple sub-scores:

Document quality (documentQuality)

Image quality assessment — resolution, blur, glare, cropping. A low score here means the image is difficult to analyze reliably.

Document authenticity (documentAuth)

5-layer authenticity analysis:

LayerCheckWhat it detects
D1Template MatchingDocument layout vs known templates
D2Font ConsistencyFont uniformity across text fields
D3Photo IntegrityPhoto replacement or manipulation
D4Compression AnalysisRe-compression artifacts from editing
D5Edge ConsistencyCut-and-paste or border manipulation

Face match (faceMatch)

Similarity between the selfie and the document photo, computed using FaceNet 512-dimensional embeddings.

  • faceMatch — Overall match score (0–100)
  • faceEmbeddingSimilarity — Raw cosine similarity of face embeddings
  • faceMatchConfidence — Confidence level of the match

Liveness (liveness)

Anti-spoofing analysis with 5 layers:

LayerScoreWhat it detects
TexturetextureScorePrinted photos, screen displays
FrequencyfrequencyScoreDigital manipulation artifacts
ChallengechallengeScoreCorrect completion of active challenges
TemporaltemporalScoreFrame-by-frame consistency
QualityqualityScoreImage quality of liveness frames

MRZ validity (mrzValidity)

For ICAO 9303 documents (passports, some national IDs) — validates the Machine Readable Zone check digits and data consistency.

Data consistency (dataConsistency)

Cross-checks extracted document data (name, DOB, document number) against MRZ data and any government database results.

Name match (nameMatch)

Compares the name extracted from the document (OCR and MRZ) against the name provided at verification creation, using fuzzy matching algorithms.

Compliance screening

In addition to the verification score, compliance screening results from CEngine are factored into the decision logic (see below). The compliance screening includes:

  • Sanctions screening — Checked against 9 international sanctions lists (65K+ entries)
  • PEP screening — Checked against 764K+ Politically Exposed Person entries
  • Adverse media — NLP analysis of news and media mentions

Compliance risk bands

Risk BandScore RangeMeaning
LOW80–100No hits, clean screening
MEDIUM50–79Minor hits requiring review
HIGH20–49Significant hits
CRITICAL0–19Sanctions match or critical risk

Decision logic

The final score drives an automated decision:

ConditionDecisionAction
Sanctions hitauto_rejectImmediately rejected regardless of score
CRITICAL or HIGH compliance riskauto_rejectRejected due to compliance risk
PEP hit (no sanctions)manual_reviewQueued for human review
MEDIUM compliance riskmanual_reviewQueued for human review
Score >= 80auto_approveAutomatically approved
Score 50–79manual_reviewBorderline, queued for review
Score < 50auto_rejectAutomatically rejected
note

Decision thresholds are configurable per tenant. Contact your account manager to adjust the auto-approve and auto-reject thresholds for your use case.

Score response

The complete score breakdown is included in the verification response and webhook payload:

{
"scores": {
"documentQuality": 95.0,
"documentAuth": 97.5,
"faceMatch": 98.1,
"faceEmbeddingSimilarity": 0.94,
"faceMatchConfidence": 0.97,
"liveness": 94.5,
"antiSpoofScores": {
"textureScore": 96.0,
"frequencyScore": 93.0,
"challengeScore": 95.0,
"temporalScore": 92.0,
"qualityScore": 96.5,
"spoofDetected": false
},
"docAuthScores": {
"templateScore": 98.0,
"fontScore": 97.0,
"photoIntegrity": 96.5,
"compressionScore": 98.0,
"edgeScore": 97.5,
"tamperDetected": false
},
"mrzValidity": 100.0,
"dataConsistency": 95.0,
"idvScore": 96.3,
"complianceScore": 95.0,
"complianceRiskBand": "LOW",
"overall": 95.8
}
}