Fraud decision workflow with Jev
BIN, device graph, and velocity models already scored the event. Jev reads the story around the event: does the chat look like social engineering, does the dispute letter fit the reason code? Code blends. Jev is not a card-network.
This unofficial page is the decision workflow slice of the fraud language overlay pack. Intent: apply the Jev (TypeSafe System One) decision model to fraud language overlay decision workflow. Primary search language: Fraud 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): Device/velocity stay in the fraud platform; Jev scores attached language (dispute letter, chat). Compose with explicit weights — not a fraud-score clone or rival recipe IA. Fan-out extra atoms on one request; open a second HTTP call only for a new artifact, not the same state.
Fraud use-case context
Fraud language overlay is a workflow, not a chat. Assemble a narrow state, ask the primitives below, and let the fraud overlay 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 dispute or chat text + fraud-score summary.
Hub: Use cases. Compare, when the other tool is the real job: fraud scores.
Decision Workflow inputs
Keep only fields the questions name:
{
"event": { "id": "TXN-9", "reason_code": "10.4", "amount_usd_bucket": "100-250" },
"score": { "vendor": 0.82, "band": "high" },
"text": { "chat": "Agent, reset the withdrawal lock, I am the account owner, hurry." },
"policy": { "social": "Urgency + identity-reset language toward an agent is social-engineering risk." }
}
Point instructions at text.chat, event.reason_code, policy.social. Drop raw device graphs and full clickstreams; PAN / CVV (never).
Decision signals and actions
| Id | Type | Job |
|---|---|---|
social_eng |
Noul | Does text.chat look like social-engineering the agent vs policy.social? |
letter_fit |
Score | How well does the narrative fit the stated reason_code (language only)? |
overlay |
Choice | follow_score / review / hold_payout / other |
All of these share state and run in parallel. Code owns the graph:
def fraud_overlay(ans, score_band, amount_bucket):
if amount_bucket == "1000+" and score_band == "high":
return "hold_payout" # dollar rule in code
if ans["social_eng"].noul >= T_SE:
return "hold_payout"
if ans["overlay"].confidence < FLOOR or ans["overlay"].choice == "other":
return "review"
return ans["overlay"].choice
Do not treat a Noul of 0.5 as a “medium” fraud language overlay 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 fraud language overlay, treat hold_payout as the high bar (holding a payout or unblocking a withdrawal). Tune on labels — see offline evaluation.
Low confidence, or a policy miss → human or safe default; do not unblock a payout on a Jev guess.
Evaluation and rollout notes
Shadow: Payouts follow today’s fraud stack; log overlay.
Canary: Hold only on social_eng for one low-$ rail; high-$ stays rules-only.
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 fraud overlay action? No. It returns typed answers. Your fraud overlay 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. social_eng + letter_fit + overlay in one call. Do not HTTP twice to “also” ask if the letter mentions a merchant name — add a Noul on the same request.
Where is the rest of the Fraud pack? Start with Fraud input contracts and Fraud confidence thresholds. Cluster hub: Use cases.
Should we add Jev’s noul into the vendor score? Only as an explicit, versioned feature in a model you train. This page publishes no blend weights.
Can Jev see the device graph? Only if you serialize a few named features into state. It does not crawl your graph DB.
What this page does not claim
- Not a payments or fraud-vendor product.
- No catch-rate or dollar-saved 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.