Identity

Onboarding

Onboarding

OverviewAttemptsReview queueCustomersFace enrollmentsTier history

Configure

IntegrationDocument TypesHandbookTeamWebhooksAPI KeysIdentity tuningProfile

Reports

AnalyticsVerificationsAudit Log
OnboardingAuthentication
DashboardIdentityDocument Types

Document Types

Indonesian KTP — the only document type supported. Aspirational types (passport / driver's licence / NPWP) are intentionally not listed.

KTP — Kartu Tanda Penduduk

Indonesian national identity card. The pipeline runs OCR, anti-spoof, tamper, and (optionally) Dukcapil cross-check from the client.

Active
Country
Indonesia (ID)
Issuing authority
Disdukcapil (Direktorat Jenderal Kependudukan)
Format
16-digit NIK + photo + name + DoB + address + province
OCR provider
Pluggable — bring your own (KTP_OCR_PROVIDER env, defaults to stub; see lib/server/ktp/ocr.ts)
Capture endpoint
POST /api/identity/document/ktp/capture
Challenge endpoint
POST /api/identity/document/ktp/challenge

Anti-spoof voters

Run on every KTP capture. The bundle assurance tier comes from how many of these vote live — seelib/server/ktp/anti-spoof.ts.

3 active
VoterWhat it checksWeight
flash_reflectance_cardcritical
Random screen-flash colour sequence + per-frame face-region R/G/B correlation. Catches photos, screen replays, and most GenAI prints.2.0
screen_moire
FFT-band heuristic over the green channel — catches re-photographed LCD/OLED displays.1.0
specular_highlight
Real KTPs reflect strongly off the hologram strip under the white-flash step; flat prints don't.1.0

Tamper-detection voters

Distinct from anti-spoof — checks the card itself is authentic + unmodified, not just that it was captured live. A single critical failure here flips the bundle to tampered.

1 active
VoterWhat it checksWeight
nik_consistencycritical
Pure logic — NIK structure (province / DoB / gender embed) must agree with OCR'd visible fields. Highest-weighted voter; impossible to forge consistently.3.0

Future tamper voters (font homogeneity, photo-rectangle splice forensics, hologram presence, microprint legibility) require trained ONNX models. They will appear here when shipped — until then they are deliberately omitted rather than listed as “awaiting model”.