KYC decision workflow with Jev
Jumio-class vendors, sanctions lists, and liveness stay the system of record. Jev can ask whether the leftover narrative looks complete or internally inconsistent. It does not verify a passport and it is not a licensed KYC program.
This unofficial page is the decision workflow slice of the KYC residual-text decisions pack. Intent: apply the Jev (TypeSafe System One) decision model to KYC residual-text decisions decision workflow. Primary search language: KYC Jev decision workflow. Confirm patterns on docs.typesafe.ai. This site does not sell, issue, or proxy TypeSafe keys. Use a credential you already have from the console or a documented gateway.
Independent angle (cover ≠ clone): Vendor attests identity; Jev only labels residual application text after structured checks. Fail closed — not a clone of KYC-vendor IA or an “AI KYC” product page. Fan-out extra atoms on one request; open a second HTTP call only for a new artifact, not the same state.
KYC use-case context
KYC residual-text decisions is a workflow, not a chat. Assemble a narrow state, ask the primitives below, and let the KYC queue router branch. TypeSafe’s docs say a good question is a snap decision a knowledgeable person could make in a few seconds — not an open-ended analysis of the application narrative + vendor result summary.
Hub: Use cases. Compare, when the other tool is the real job: KYC vendors.
Decision Workflow inputs
Keep only fields the questions name:
{
"application": { "id": "APP-19", "narrative": "I live in Lisbon but the business is registered in Delaware for tax reasons." },
"vendor": { "id_result": "pass", "sanctions_hit": false, "country_claimed": "PT" },
"policy": { "consistency": "Flag country or occupancy claims that contradict vendor country_claimed." }
}
Point instructions at application.narrative, vendor.country_claimed, policy.consistency. Drop ID photos, selfies, or liveness video (not accepted); raw MRZ / barcode payloads you have not reduced.
Decision signals and actions
| Id | Type | Job |
|---|---|---|
narrative_consistent |
Noul | Does application.narrative contradict vendor.country_claimed / policy.consistency? |
packet_complete |
Score | Does the text packet look complete enough for a human KYC review? |
residual |
Choice | proceed_vendor / hold_text / escalate_compliance / other |
All of these share state and run in parallel. Code owns the graph:
def kyc_residual(ans, vendor):
if vendor["sanctions_hit"] or vendor["id_result"] != "pass":
return "vendor_fail" # licensed stack, not Jev
if ans["narrative_consistent"].noul >= T_CONTRA:
return "hold_text"
if ans["residual"].confidence < FLOOR or ans["residual"].choice == "other":
return "kyc_review"
return ans["residual"].choice
Do not treat a Noul of 0.5 as a “medium” KYC residual-text decisions score — it means yes and no are equally likely. Conjunctions stay in your code.
Guardrails and escalation
TypeSafe’s confidence-gated examples use a lower bar for recoverable reads than for irreversible actions. Those numbers are illustrations. For KYC residual-text decisions, treat auto_approve_account as the high bar (opening an account or attesting identity). Tune on labels — see offline evaluation.
Low confidence, or a policy miss → human or safe default; do not open the account or treat Jev as identity proofing.
Evaluation and rollout notes
Shadow: Vendor + humans decide; log Jev residual only.
Canary: Auto-hold on high contradiction Noul for one product (e.g. low-risk retail). Never auto-approve from Jev alone.
Pin jev-1.13.0 (the versioned id) after you fit thresholds. jev-latest and the marketing line jev-1.13 can move. Log the response model. TypeSafe’s published list price for jev-1.13 is $0.042 per million input tokens (vendor claim — confirm on the models page); output tokens are free on that same page. Unused distractors still bill as input.
Official Python and JavaScript SDKs read TYPESAFE_API_KEY and retry documented 429/529. This site does not sell, issue, or proxy TypeSafe keys. Use a credential you already have from the console or a documented gateway.
Pack map
| Slice | Page |
|---|---|
| Graph and primitives | you are here |
What may enter state |
input contracts |
| What to gather first | evidence collection |
| Atomic rules | policy checks |
| Act / review / abstain | confidence thresholds |
| Reviewer payload | human handoff |
| What to persist | audit trail |
| How it breaks | failure modes |
| Labeled replay | evaluation |
| Shadow → canary | production rollout |
FAQ
Does Jev execute the KYC queue router action? No. It returns typed answers. Your KYC queue router code calls queues, models, or humans.
Why several questions in one request? TypeSafe’s fan-out pattern: extra questions are cheap versus another HTTP call. Consistency + completeness + residual Choice in one call. Do not open a second HTTP call to re-ask the same narrative.
Where is the rest of the KYC pack? Start with KYC input contracts and KYC confidence thresholds. Cluster hub: Use cases.
Can Jev replace Jumio / Onfido / our list provider? No. Keep the vendor of record. This page is leftover text triage. See Jev vs KYC vendors.
Is this legal advice or a KYC certification? No. Unofficial field notes. Counsel and your program own attestation.
What this page does not claim
- Not a substitute for KYC/AML programs.
- No pass-rate or false-accept claims.
- Not official TypeSafe.
- Official TypeSafe status, or that jev.pro issues API keys.
- That a schema-constrained answer is automatically factually correct.
Disclaimer
This is an independent unofficial site and is not affiliated with TypeSafe AI; official documentation is available at https://docs.typesafe.ai.
Primary documentation: https://docs.typesafe.ai. Hub: Use cases.
Sources
Public TypeSafe or adjacent documentation only. No private claims.