KYC evidence collection 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 evidence collection slice of the KYC residual-text decisions pack. Intent: apply the Jev (TypeSafe System One) decision model to KYC residual-text decisions evidence collection. Primary search language: KYC Jev evidence collection. 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
Evidence collection for KYC residual-text decisions happens before POST /v1/systemone. Jev does not browse your warehouse, retriever, or ESP. You gather the application narrative + vendor result summary facts, filter them, then ask snap questions. This slice is where fan-out cost math belongs: batch questions, do not re-send state.
Hub: Use cases. Compare, when the other tool is the real job: KYC vendors.
Evidence Collection inputs
Collect:
- Vendor pass/fail + list-hit flags you already computed
- The applicant’s free-text explanation only
- The one policy excerpt the consistency question names
Never send:
- Passport images or liveness frames
- Asking Jev to screen a sanctions list (put hits in state or skip)
- Unredacted government ID numbers you do not need in the question
Shape the payload like this once the gather step finishes:
{
"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." }
}
Decision signals and actions
Each evidence field should change a named answer:
| 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 |
Consistency + completeness + residual Choice in one call. Do not open a second HTTP call to re-ask the same narrative.
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
If the gather step fails (empty application narrative + vendor result summary, redaction stripped everything, retriever empty), fail closed on opening an account or attesting identity. Do not invent evidence so Jev has something to say. 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.
Evaluation and rollout notes
Your eval set should include thin-evidence cases, not only happy application narrative + vendor result summarys. Label hold / proceed / escalate gold from KYC analysts, plus contradiction gold. 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 | decision workflow |
What may enter state |
input contracts |
| What to gather first | you are here |
| 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
Should evidence live in the question text?
Put facts in state and point instructions at application.narrative, vendor.country_claimed, policy.consistency. Criteria stay stable so you can replay.
When do I split calls? 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 decision workflow. 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.