Detect account opening fraud and synthetic identities
Grayson approves, steps up or declines a deposit account application, weighing identity-vendor results, the credit file, consortium, device and session data, and the funding account's history.
Grayson decides whether a deposit account application comes from a legitimate applicant, a stolen identity, a synthetic identity or someone planning first-party fraud, and whether to approve it, require document and selfie verification, or decline it. It reads the results your identity, credit, consortium, email, phone, device and funding checks already return, and costs about $0.39 to $0.41 per 1,000 decisions.
- Decides: Approve, step up or decline a deposit account application at risk of stolen or synthetic identity fraud.
- Call it: When an online deposit account application is submitted
- Questions: 1 yes/no, 1 score, 2 choice
- Cost: $0.00039 to $0.00041 per decision ($0.39 to $0.41 per 1,000) for these examples' 11,044 to 11,657 input tokens
- Latency: 194 to 203 ms for these examples, the median of 5 calls each through api.finic.ai from US-West
Examples
Three online checking applications, each with everything our checks return at submission: the identity bureau's match, a credit file with 24 months of balances, consortium and device results, the form session log and 90 days of the linked funding account. One is an aged synthetic identity in the middle of a bust-out, one a homeowner whose rule hits all have explanations, and one a five-year-old identity that could be a real person who got an SSN as an adult or a carefully aged synthetic one.
Open in Playground
An aged synthetic identity mid bust-out, applying from a shared private mailbox. The identity first appears at age 34, with an SSN issued at least 22 years after birth, and its credit file was built on authorized-user spots on four strangers' cards. In the last 90 days it opened three cards and ran them all to the limit, two large card payments from its linked account came back unpaid, and it applied from a private mailbox other applicants at our bank have used, pasting every personal field into a browser that spoofs its fingerprint.
| Question | Grayson's answer |
|---|---|
identity_not_own | 89% true |
fraud_likelihood | 3.79 of 4, confidence 86% |
application_type | synthetic_identity, confidence 77% |
decision | decline, confidence 94% |
11,044 input tokens, $0.00039 per decision, answered in 203 ms.
The request, with long lists cut short. The full request is fraud.json (50 KB).
{
"model": "grayson-1",
"state": {
"institution": "Our bank (U.S. regional bank): online consumer checking",
"application": {
"id": "app_7KX2W9",
"product": "Online checking with debit card and mobile check deposit",
"channel": "Web (desktop)",
"started_at": "2026-10-06T05:32:40Z",
"submitted_at": "2026-10-06T05:34:41Z",
"applicant": {
"name": "Avery L. Kessling",
"date_of_birth": "1989-02-17",
"age": 37,
"ssn": "xxx-xx-6402",
"citizenship": "U.S. citizen"
},
"home_address": "3870 Desert Willow Pkwy, Ste 9 #1184, Henderson, NV 89052",
"time_at_address": "2 years or more",
"mailing_address": "Same as home",
"email": "avery.kessling89@example.com",
"mobile_phone": "(702) 555-0187",
"employment": {
"status": "Self-employed",
"occupation": "Mobile auto detailing",
"business_name": "Kessling Mobile Detailing"
},
"stated_annual_income_usd": 96000,
"account_use": {
"purpose": "Everyday spending and bill pay",
"expected_monthly_deposits_usd": 9000,
"mobile_check_deposits": "Yes, about $6,000 a month",
"cash_deposits": "Under $1,000 a month",
"international_transfers": "No"
},
"debit_card_overdraft_coverage": "Opted in",
"promo_code": "BONUS300 ($300 bonus after $2,000 in direct deposits within 90 days)",
"how_heard": "Search ad"
},
"identity_verification": {
"name_ssn_dob": "Match: name, SSN and date of birth appear together in credit-header records",
"identity_first_reported": "2023-05",
"records_before_first_report": "None: no address, phone, utility, property or public records before 2023-05 (applicant age 34 then)",
"header_sources": 2,
"name_variations": [],
"ssn": {
"format_and_issuance": "Valid; issued",
"issuance": "Randomized range: issued June 2011 or later, at least 22 years after the date of birth",
"names_associated_with_ssn": 1,
"dates_of_birth_associated_with_ssn": 1,
"death_master_file": "No match"
},
"address_history": [
{
"address": "3870 Desert Willow Pkwy, Ste 9 #1184, Henderson, NV 89052",
"first_reported": "2024-07",
"last_reported": "2026-09",
"sources": 2
},
{
"address": "1720 W Sorrel Ridge Dr, Apt 2108, Phoenix, AZ 85021",
"first_reported": "2023-05",
"last_reported": "2024-06",
"sources": 1
}
],
"phones_associated": [
{
"phone": "(702) 555-0187",
"type": "Non-fixed VoIP",
"first_reported": "2023-05",
"last_reported": "2026-09"
}
],
"emails_associated": [
{
"email": "avery.kessling89@example.com",
"first_reported": "2023-05",
"last_reported": "2026-09"
}
],
"application_phone_and_email_in_identity_records": "Both, since 2023-05",
"vendor_scores": {
"synthetic_identity": {
"score": 912,
"scale": "0-999, higher is riskier",
"reasons": [
"No identity records before age 30",
"SSN issued long after date of birth",
"Credit established mainly through authorized-user tradelines",
"Address is a commercial mail receiving agency"
]
},
"identity_theft": {
"score": 236,
"scale": "0-999, higher is riskier",
"reasons": [
"Device not previously seen"
]
},
"first_party_fraud": {
"score": 781,
"scale": "0-999, higher is riskier",
"reasons": [
"Rapid credit acquisition in last 90 days",
"Revolving utilization sharply increased"
]
}
},
"document_selfie_and_ecbsv": "Not run at submission. Our flow runs document verification with a selfie match, and an SSA eCBSV check of the name, SSN and date of birth, only when an application is stepped up."
},
"credit_file": {
"pulled_at": "2026-10-06T05:34:43Z",
"pull_type": "Soft inquiry for identity and fraud screening",
"file_created": "2023-05-11",
"name_on_file": "AVERY L KESSLING",
"employment_on_file": "Self-employed (reported 2024-02 by an inquiry)",
"score": {
"model": "Generic risk score, 300-850",
"value": 694,
"factors": [
"Proportion of revolving balances to limits is too high",
"Too many inquiries in the last 12 months",
"Too many accounts opened recently",
"Length of time accounts have been established"
]
},
"alerts_and_freezes": "None (no fraud alert, active-duty alert or security freeze; no consumer statement)",
"summary": {
"tradelines_total": 11,
"tradelines_open": 10,
"primary_tradelines": 7,
"authorized_user_tradelines": 4,
"oldest_primary_tradeline_opened": "2024-02",
"primary_revolving_limit_usd": 81500,
"primary_revolving_balance_usd": 79196,
"primary_revolving_utilization_pct": 97.2,
"open_installment_balance_usd": 11593,
"accounts_opened_last_12_months": 4,
"hard_inquiries_last_90_days": 8,
"hard_inquiries_last_12_months": 11,
"late_payments_last_24_months": 0,
"collections": 0,
"public_records": 0
},
"tradelines": [
{
"creditor_type": "Bank credit card",
"account": "x8841",
"ownership": "Authorized user",
"opened": "2009-03",
"authorized_user_added": "2023-06",
"primary_cardholder_relationship": "No shared surname or address; primary cardholder's address history is in Texas",
"credit_limit_usd": 25000,
"balance_usd": 786,
"status": "Open, current",
"last_reported": "2026-09",
"payment_history_24m_newest_first": "CCCCCCCCCCCCCCCCCCCCCCCC",
"statement_balances_24m_newest_first": [
786,
1533,
595,
1261,
1380,
"… 19 more in fraud.json"
]
},
{
"creditor_type": "Bank credit card",
"account": "x2207",
"ownership": "Authorized user",
"opened": "2012-11",
"authorized_user_added": "2023-07",
"primary_cardholder_relationship": "No shared surname or address; primary cardholder's address history is in Florida",
"credit_limit_usd": 18500,
"balance_usd": 187,
"status": "Open, current",
"last_reported": "2026-09",
"payment_history_24m_newest_first": "CCCCCCCCCCCCCCCCCCCCCCCC",
"statement_balances_24m_newest_first": [
187,
435,
733,
672,
343,
"… 19 more in fraud.json"
]
},
{
"creditor_type": "Bank credit card",
"account": "x5519",
"ownership": "Authorized user",
"opened": "2007-05",
"authorized_user_added": "2023-09",
"primary_cardholder_relationship": "No shared surname or address; primary cardholder's address history is in Georgia",
"credit_limit_usd": 32000,
"balance_usd": 2189,
"status": "Open, current",
"last_reported": "2026-09",
"payment_history_24m_newest_first": "CCCCCCCCCCCCCCCCCCCCCCCC",
"statement_balances_24m_newest_first": [
2189,
2369,
1268,
1159,
2203,
"… 19 more in fraud.json"
]
},
{
"creditor_type": "Bank credit card",
"account": "x0373",
"ownership": "Authorized user",
"opened": "2015-01",
"authorized_user_added": "2024-01",
"primary_cardholder_relationship": "No shared surname or address; primary cardholder's address history is in Illinois",
"closed": "2024-07",
"credit_limit_usd": 21000,
"balance_usd": 0,
"status": "Authorized user removed",
"last_reported": "2024-07"
},
{
"creditor_type": "Retail store card (home furnishings)",
"account": "x6610",
"ownership": "Individual",
"opened": "2024-02",
"credit_limit_usd": 4500,
"balance_usd": 4388,
"status": "Open, current",
"last_reported": "2026-09",
"payment_history_24m_newest_first": "CCCCCCCCCCCCCCCCCCCCCCCC",
"statement_balances_24m_newest_first": [
4388,
3951,
902,
503,
310,
"… 19 more in fraud.json"
]
},
"… 6 more in fraud.json"
],
"hard_inquiries_last_24_months": [
{
"date": "2025-01-08",
"industry": "Bank credit card"
},
{
"date": "2025-11-03",
"industry": "Personal loan (online lender)"
},
{
"date": "2026-07-02",
"industry": "Bank credit card"
},
{
"date": "2026-07-02",
"industry": "Bank credit card"
},
{
"date": "2026-07-19",
"industry": "Bank credit card"
},
"… 7 more in fraud.json"
]
},
"deposit_account_screening": {
"prior_closures_for_cause": 0,
"unpaid_overdraft_or_charge_off_balances": 0,
"deposit_inquiries": {
"last_30_days": 2,
"last_90_days": 3,
"last_12_months": 3
},
"id_verification_alerts": "None"
},
"consortium": {
"ssn_first_seen_at_members": "2023-05",
"applications_with_this_ssn": {
"last_7_days": 1,
"last_30_days": 4,
"last_90_days": 7,
"last_12_months": 10
},
"distinct_names_dobs_with_this_ssn": {
"names": 1,
"dates_of_birth": 1
},
"distinct_addresses_with_this_ssn_last_12_months": 1,
"this_phone_or_email_with_other_names_or_ssns": 0,
"this_device_with_other_names_or_ssns": 0,
"this_ip_with_other_names_or_ssns_last_30_days": 0,
"this_street_address_with_other_identities_last_12_months": "11 distinct identities applied at members using other box numbers at this address; 3 have confirmed fraud reports (2 synthetic identity, 1 first-party)",
"confirmed_fraud_reports_on_this_ssn_phone_email_or_device": 0,
"recent_applications_with_this_ssn": {
"columns": [
"date",
"member_type",
"product",
"outcome",
"same_phone",
"same_email",
"same_address"
],
"rows": [
[
"2026-07-02",
"Bank",
"Credit card",
"Declined",
true,
true,
true
],
[
"2026-07-02",
"Bank",
"Credit card",
"Declined",
true,
true,
true
],
[
"2026-07-19",
"Bank",
"Credit card",
"Approved",
true,
true,
true
],
[
"2026-08-04",
"Bank",
"Credit card",
"Approved",
true,
true,
true
],
[
"2026-08-05",
"Credit union",
"Credit card",
"Approved",
true,
true,
true
],
"… 4 more in fraud.json"
]
}
},
"email_check": {
"email": "avery.kessling89@example.com",
"first_seen": "2023-05-02",
"domain_type": "Free webmail",
"name_match": "Full name match",
"appears_in_known_data_breaches": 0,
"disposable": false,
"deliverable": true,
"risk_score": {
"score": 418,
"scale": "0-999, higher is riskier",
"reasons": [
"No breach or online history for an email over 3 years old"
]
}
},
"phone_check": {
"phone": "(702) 555-0187",
"line_type": "Non-fixed VoIP",
"carrier": "Internet calling provider",
"first_seen": "2023-05",
"subscriber_name": "AVERY KESSLING (registered by the account holder, not verified by a carrier)",
"ported_last_90_days": false,
"sim_change_last_30_days": "Not applicable (VoIP)",
"sms_one_time_code": "Delivered and entered correctly",
"other_phones_for_this_identity": "None",
"risk_score": {
"score": 655,
"scale": "0-999, higher is riskier",
"reasons": [
"Non-fixed VoIP line"
]
}
},
"address_check": {
"address_type": "Commercial mail receiving agency (private mailbox at a shipping store); unit is a box number",
"usps_delivery_point": "Confirmed",
"residential": false,
"usps_change_of_address": "None filed",
"property_records": "Commercial retail center; owner is a property management company",
"distance_from_ip_location_miles": 6
},
"watchlists_and_internal": {
"ofac_sdn": "No match",
"politically_exposed_person": "No match",
"internal_negative_file": "No match on name, SSN, phone, email or device; street address matches 1 account closed for cause (see velocity)",
"existing_customer": "None",
"prior_applications_at_our_bank": 0
},
"device_and_network": {
"device_id": "dev_5e81c0a94f2b",
"first_seen": "2026-10-06T05:32:40Z",
"device_type": "Desktop",
"os": "Windows 10",
"browser": "Chrome 141",
"screen": "1920x1080",
"hardware": "8 logical cores; GPU reported as a generic renderer",
"language": "en-US",
"timezone": "America/Los_Angeles",
"local_time_at_submission": "2026-10-05T22:34:41-07:00",
"ip_address": "198.51.100.144",
"ip_type": "Residential broadband (cable ISP)",
"ip_location": "Las Vegas, NV",
"proxy_vpn_tor_or_hosting": "None detected",
"emulator_or_virtual_machine": false,
"fingerprint_integrity": "Spoofing detected: canvas and WebGL hashes change on every page load, reported fonts don't match Windows 10, and navigator properties are inconsistent (anti-detect browser likely)",
"remote_access_software": "None detected",
"cookies": "None from earlier visits",
"seen_with_other_identities": {
"our_bank": 0,
"consortium": 0
},
"risk_score": {
"score": 861,
"scale": "0-999, higher is riskier",
"reasons": [
"Fingerprint spoofing",
"New device"
]
}
},
"session_behavior": {
"navigation": "Keyboard (Tab key) between fields; little pointer movement, in straight lines",
"familiarity_with_personal_data": "Low: name, date of birth, SSN, email and street were pasted, most after switching to another window",
"duration_seconds": 122,
"median_duration_seconds_for_this_form": 462,
"fields_typed": 6,
"fields_pasted": 9,
"autofill_events": 1,
"times_left_page": 5,
"events": {
"columns": [
"offset_s",
"page",
"field",
"event",
"detail"
],
"rows": [
[
0,
"Choose an account",
"",
"page_view",
""
],
[
1.8,
"Choose an account",
"product",
"selected",
"Online checking with debit card and mobile check deposit"
],
[
2.7,
"Choose an account",
"promo_code",
"pasted",
"8 characters"
],
[
3.8,
"Choose an account",
"",
"continue_clicked",
""
],
[
4.8,
"About you",
"",
"page_view",
""
],
"… 57 more in fraud.json"
]
}
},
"velocity_at_our_bank_last_90_days": {
"same_device_other_applications": 0,
"same_phone_other_applications": 0,
"same_email_other_applications": 0,
"same_ip_other_applications": 0,
"same_street_address_other_applications": {
"count": 5,
"detail": {
"columns": [
"date",
"box",
"name_on_application",
"outcome",
"status_now"
],
"rows": [
[
"2026-07-14",
"#1121",
"Different name",
"Approved",
"Closed 2026-09-19 for returned deposited checks; $4,860 loss"
],
[
"2026-08-02",
"#1307",
"Different name",
"Declined",
"Identity not verified at step-up"
],
[
"2026-08-27",
"#0942",
"Different name",
"Declined",
"Identity not verified at step-up"
],
[
"2026-09-03",
"#1215",
"Different name",
"Approved",
"Open; extended holds on deposited checks"
],
[
"2026-09-30",
"#1460",
"Different name",
"Pending",
"Step-up not completed"
]
]
}
}
},
"funding": {
"method": "Transfer from another bank (instant account link)",
"requested_opening_amount_usd": 100,
"external_account": {
"type": "Checking at an online bank",
"opened": "2024-02",
"owner_name": "AVERY KESSLING",
"owner_name_match": "Match",
"owner_address": "3870 Desert Willow Pkwy Ste 9 #1184, Henderson NV",
"balance_at_link_usd": 95.49
},
"cash_flow_last_90_days": {
"average_daily_balance_usd": 582.45,
"recurring_income": "None detected (no payroll, benefits or business deposits)",
"inflows": "37 person-to-person transfers in from 15 different senders, $24,450.00 total",
"outflows": "Person-to-person transfers out $20,201.44; card and loan payments $2,950.00; ATM $1,200.00",
"everyday_spending": "4 fast-food purchases; no groceries, fuel, utilities, rent or subscriptions besides a VoIP line and a mailbox rental",
"returned_items": [
{
"date": "2026-09-23",
"item": "Card issuer x1768 payment, $3,200.00",
"return_reason": "R01 insufficient funds"
},
{
"date": "2026-09-30",
"item": "Card issuer x9027 payment, $4,750.00",
"return_reason": "R01 insufficient funds"
}
],
"overdrafts": "3 in the last 90 days (2026-09-03, balance -$74.78; 2026-09-12, balance -$105.19; 2026-09-14, balance -$115.18), covered by the next transfer in"
},
"transactions_last_90_days": {
"note": "Posted items 2026-07-08 to 2026-10-05, from the account link; debits negative",
"columns": [
"posted",
"type",
"description",
"amount_usd",
"balance_usd"
],
"rows": [
[
"2026-07-12",
"P2P in",
"P2P FROM C DUNMORE",
350,
534.1
],
[
"2026-07-12",
"ACH debit",
"CREDIT CARD PMT x3156 WEB",
-40,
494.1
],
[
"2026-07-14",
"ACH debit",
"VOIP SERVICE MONTHLY WEB",
-9.99,
484.11
],
[
"2026-07-14",
"P2P out",
"P2P TO M ODELL",
-330.43,
153.68
],
[
"2026-07-17",
"P2P in",
"P2P FROM R VOLKERT",
1200,
1353.68
],
"… 79 more in fraud.json"
]
}
},
"contact_history": [],
"rules_fired": [
{
"rule": "AO-112",
"description": "SSN issued 15 or more years after date of birth"
},
{
"rule": "AO-118",
"description": "No identity records before age 25"
},
{
"rule": "AO-121",
"description": "Credit file built on authorized-user tradelines with unrelated primary cardholders"
},
{
"rule": "AO-207",
"description": "Home address is a commercial mail receiving agency"
},
{
"rule": "AO-209",
"description": "Street address on 3 or more applications under other names in 90 days"
},
"… 6 more in fraud.json"
],
"decision_request": {
"stage": "Submission; all automated checks returned",
"requested_at": "2026-10-06T05:34:45Z",
"on_approval": "Account number issued, opening transfer pulled from the linked account, debit card mailed; mobile check deposit available after 30 days"
}
},
"questions": {
"identity_not_own": {
"type": "noul",
"instructions": "Is the applicant using an identity that isn't their own, either a real person's stolen identity or a synthetic identity built from a mix of real and invented details?"
},
"fraud_likelihood": {
"type": "score",
"instructions": "How likely is it that this application is fraudulent, whether through a stolen identity, a synthetic identity, or an applicant who plans to defraud the institution using their own identity?",
"criteria": [
"Very unlikely (under 10%)",
"Unlikely (10-40%)",
"Uncertain (40-60%)",
"Likely (60-90%)",
"Very likely (over 90%)"
]
},
"application_type": {
"type": "choice",
"instructions": "Which best describes this application?",
"criteria": {
"legitimate": "A legitimate applicant using their own identity, with no intent to defraud",
"stolen_identity": "Stolen identity: a real person's details used without their knowledge",
"synthetic_identity": "Synthetic identity: a fabricated person built from a mix of real and invented details",
"first_party": "First-party fraud: the applicant's own identity, used with intent to defraud the institution"
}
},
"decision": {
"type": "choice",
"instructions": "What should happen to this application?",
"criteria": {
"approve": "Approve the application and open the account",
"step_up": "Pause the application and require document verification with a selfie match before deciding",
"decline": "Decline the application"
}
}
}
}The response. Probabilities and confidence are shortened to four decimals here, and the score to three; responses carry full precision.
{
"id": "dec_6dda7c14cccb46f8883967bec03c892b",
"model": "grayson-1",
"answers": {
"identity_not_own": {
"type": "noul",
"noul": 0.8933
},
"fraud_likelihood": {
"type": "score",
"score": 3.787,
"legend": {
"0": "Very unlikely (under 10%)",
"1": "Unlikely (10-40%)",
"2": "Uncertain (40-60%)",
"3": "Likely (60-90%)",
"4": "Very likely (over 90%)"
},
"confidence": 0.8561,
"probabilities": {
"0": 0.0143,
"1": 0.0184,
"2": 0.0184,
"3": 0.0641,
"4": 0.8849
}
},
"application_type": {
"type": "choice",
"choice": "synthetic_identity",
"confidence": 0.7694,
"probabilities": {
"legitimate": 0.0412,
"stolen_identity": 0.0049,
"synthetic_identity": 0.8271,
"first_party": 0.1268
}
},
"decision": {
"type": "choice",
"choice": "decline",
"confidence": 0.9384,
"probabilities": {
"approve": 0.0155,
"step_up": 0.0256,
"decline": 0.9589
}
}
},
"usage": {
"input_tokens": 11044,
"output_tokens": 0
}
}Open in Playground
A homeowner applying from her employer's VPN with a newly ported phone. A 33-year-old with a credit file going back 17 years under her current and maiden names, a home she co-owns at the stated address, and a phone and email she has used for over a decade. Five rules fired and the record explains each: she applied from her employer's VPN in Pittsburgh, her phone moved carriers last month, her email still carries her maiden name, an OFAC near-match was auto-cleared, and she opened a card last month.
| Question | Grayson's answer |
|---|---|
identity_not_own | Under 1% true |
fraud_likelihood | 0.01 of 4, confidence 99% |
application_type | legitimate, confidence 99% |
decision | approve, confidence 99% |
11,657 input tokens, $0.00041 per decision, answered in 194 ms.
The request, with long lists cut short. The full request is legitimate.json (50 KB).
{
"model": "grayson-1",
"state": {
"institution": "Our bank (U.S. regional bank): online consumer checking",
"application": {
"id": "app_3PD8M1",
"product": "Online checking with debit card and mobile check deposit",
"channel": "Web (desktop)",
"started_at": "2026-10-07T17:17:51Z",
"submitted_at": "2026-10-07T17:23:21Z",
"applicant": {
"name": "Megan T. Albright",
"date_of_birth": "1993-05-09",
"age": 33,
"ssn": "xxx-xx-3317",
"citizenship": "U.S. citizen"
},
"home_address": "2186 Larkspur Ct, Columbus, OH 43221",
"time_at_address": "2 years or more",
"mailing_address": "Same as home",
"email": "megan.calloway@example.com",
"mobile_phone": "(614) 555-0119",
"employment": {
"status": "Employed full time",
"occupation": "Clinical informatics analyst",
"employer": "Brightwater Health System"
},
"stated_annual_income_usd": 88000,
"account_use": {
"purpose": "Direct deposit of pay and bill pay",
"expected_monthly_deposits_usd": 6500,
"mobile_check_deposits": "Occasionally",
"cash_deposits": "None",
"international_transfers": "No"
},
"debit_card_overdraft_coverage": "Declined",
"promo_code": "BONUS300 ($300 bonus after $2,000 in direct deposits within 90 days)",
"how_heard": "Email offer"
},
"identity_verification": {
"name_ssn_dob": "Match: name, SSN and date of birth appear together in credit-header records",
"identity_first_reported": "1998-07",
"records_before_first_report": "Not applicable (identity reported since childhood at the Kettering, OH address)",
"header_sources": 3,
"name_variations": [
{
"name": "MEGAN T ALBRIGHT",
"first_reported": "2023-06",
"last_reported": "2026-09"
},
{
"name": "MEGAN T CALLOWAY",
"first_reported": "1998-07",
"last_reported": "2023-08"
}
],
"ssn": {
"format_and_issuance": "Valid; issued",
"issuance": "Issued 1993-1994 in Ohio, consistent with the date of birth",
"names_associated_with_ssn": 2,
"names_associated_note": "Current and maiden surname, same first and middle name and date of birth",
"dates_of_birth_associated_with_ssn": 1,
"death_master_file": "No match"
},
"address_history": [
{
"address": "2186 Larkspur Ct, Columbus, OH 43221",
"first_reported": "2024-04",
"last_reported": "2026-09",
"sources": 5
},
{
"address": "1450 Olentangy Ridge Dr, Apt 3C, Columbus, OH 43214",
"first_reported": "2019-08",
"last_reported": "2024-05",
"sources": 4
},
{
"address": "322 Ludlow Commons Ave, Apt 12, Cincinnati, OH 45220",
"first_reported": "2015-08",
"last_reported": "2019-07",
"sources": 3
},
{
"address": "915 Fairhaven Ave, Kettering, OH 45429",
"first_reported": "1998-07",
"last_reported": "2015-09",
"sources": 3
}
],
"phones_associated": [
{
"phone": "(614) 555-0119",
"type": "Mobile",
"first_reported": "2014-06",
"last_reported": "2026-09"
}
],
"emails_associated": [
{
"email": "megan.calloway@example.com",
"first_reported": "2012-04",
"last_reported": "2026-09"
},
{
"email": "malbright.work@example.net",
"first_reported": "2023-07",
"last_reported": "2026-08"
}
],
"application_phone_and_email_in_identity_records": "Both: the phone since 2014-06, the email since 2012-04",
"vendor_scores": {
"synthetic_identity": {
"score": 21,
"scale": "0-999, higher is riskier",
"reasons": []
},
"identity_theft": {
"score": 118,
"scale": "0-999, higher is riskier",
"reasons": [
"IP address is a VPN or proxy",
"Device not previously seen"
]
},
"first_party_fraud": {
"score": 142,
"scale": "0-999, higher is riskier",
"reasons": [
"Recent account opening"
]
}
},
"document_selfie_and_ecbsv": "Not run at submission. Our flow runs document verification with a selfie match, and an SSA eCBSV check of the name, SSN and date of birth, only when an application is stepped up."
},
"credit_file": {
"pulled_at": "2026-10-07T17:23:23Z",
"pull_type": "Soft inquiry for identity and fraud screening",
"file_created": "2009-06-22",
"name_on_file": "MEGAN T ALBRIGHT (also MEGAN T CALLOWAY)",
"employment_on_file": "Brightwater Health System (reported 2024-03 by a mortgage inquiry)",
"score": {
"model": "Generic risk score, 300-850",
"value": 758,
"factors": [
"Length of time since most recent account opening",
"Number of accounts with balances",
"Delinquency in the last 24 months"
]
},
"alerts_and_freezes": "None (no fraud alert, active-duty alert or security freeze; no consumer statement)",
"summary": {
"tradelines_total": 11,
"tradelines_open": 8,
"primary_tradelines": 10,
"authorized_user_tradelines": 1,
"oldest_primary_tradeline_opened": "2011-08",
"primary_revolving_limit_usd": 32500,
"primary_revolving_balance_usd": 3830,
"primary_revolving_utilization_pct": 11.8,
"open_installment_balance_usd": 293061,
"accounts_opened_last_12_months": 1,
"hard_inquiries_last_90_days": 1,
"hard_inquiries_last_12_months": 1,
"late_payments_last_24_months": 1,
"collections": 0,
"public_records": 0
},
"tradelines": [
{
"creditor_type": "Bank credit card",
"account": "x4093",
"ownership": "Authorized user",
"opened": "2001-02",
"authorized_user_added": "2009-06",
"primary_cardholder_relationship": "Shares the applicant's prior surname (Calloway) and her Kettering, OH address of 1998-2015",
"credit_limit_usd": 15000,
"balance_usd": 1338,
"status": "Open, current",
"last_reported": "2026-09",
"payment_history_24m_newest_first": "CCCCCCCCCCCCCCCCCCCCCCCC",
"statement_balances_24m_newest_first": [
1338,
1558,
2355,
1320,
1030,
"… 19 more in legitimate.json"
]
},
{
"creditor_type": "Federal student loan servicer",
"account": "x0118",
"ownership": "Individual",
"opened": "2011-08",
"loan_type": "Student loan",
"original_amount_usd": 18500,
"term_months": 120,
"monthly_payment_usd": 214,
"balance_usd": 0,
"status": "Open, current",
"last_reported": "2026-09",
"payment_history_24m_newest_first": "CCCCCCCCCCCCCCCCCCCCCCCC"
},
{
"creditor_type": "Federal student loan servicer",
"account": "x0126",
"ownership": "Individual",
"opened": "2013-08",
"loan_type": "Student loan",
"original_amount_usd": 12000,
"term_months": 120,
"monthly_payment_usd": 139,
"balance_usd": 0,
"status": "Open, current",
"last_reported": "2026-09",
"payment_history_24m_newest_first": "CCCCCCCCCCCCCCCCCCCCCCCC"
},
{
"creditor_type": "Bank credit card",
"account": "x7712",
"ownership": "Individual",
"opened": "2014-03",
"credit_limit_usd": 9500,
"balance_usd": 644,
"status": "Open, current",
"last_reported": "2026-09",
"payment_history_24m_newest_first": "CCCCCCCCCCCCCCCCCCCCCCCC",
"statement_balances_24m_newest_first": [
644,
1036,
883,
1120,
1148,
"… 19 more in legitimate.json"
]
},
{
"creditor_type": "Retail store card (department store)",
"account": "x3380",
"ownership": "Individual",
"opened": "2016-11",
"credit_limit_usd": 3000,
"balance_usd": 0,
"status": "Open, current",
"last_reported": "2026-09",
"payment_history_24m_newest_first": "CCCCCCCCCCCCCCCCCC1CCCCC",
"statement_balances_24m_newest_first": [
0,
78,
135,
125,
79,
"… 19 more in legitimate.json"
]
},
"… 6 more in legitimate.json"
],
"hard_inquiries_last_24_months": [
{
"date": "2026-09-08",
"industry": "Bank credit card"
}
]
},
"deposit_account_screening": {
"prior_closures_for_cause": 0,
"unpaid_overdraft_or_charge_off_balances": 0,
"deposit_inquiries": {
"last_30_days": 0,
"last_90_days": 0,
"last_12_months": 0
},
"id_verification_alerts": "None"
},
"consortium": {
"ssn_first_seen_at_members": "2011-08",
"applications_with_this_ssn": {
"last_7_days": 0,
"last_30_days": 1,
"last_90_days": 1,
"last_12_months": 1
},
"distinct_names_dobs_with_this_ssn": {
"names": 2,
"dates_of_birth": 1,
"note": "MEGAN T CALLOWAY until 2023, MEGAN T ALBRIGHT since"
},
"distinct_addresses_with_this_ssn_last_12_months": 1,
"this_phone_or_email_with_other_names_or_ssns": 0,
"this_device_with_other_names_or_ssns": 0,
"this_ip_with_other_names_or_ssns_last_30_days": "14 (corporate VPN egress shared by the employer's staff)",
"this_street_address_with_other_identities_last_12_months": "1 other identity (DANIEL J ALBRIGHT, 2025-11, auto loan, approved)",
"confirmed_fraud_reports_on_this_ssn_phone_email_or_device": 0,
"recent_applications_with_this_ssn": {
"columns": [
"date",
"member_type",
"product",
"outcome",
"same_phone",
"same_email",
"same_address"
],
"rows": [
[
"2026-09-08",
"Bank",
"Credit card",
"Approved",
true,
true,
true
]
]
}
},
"email_check": {
"email": "megan.calloway@example.com",
"first_seen": "2012-04-16",
"domain_type": "Free webmail",
"name_match": "First name matches; surname matches the applicant's prior surname (Calloway), not her current one",
"appears_in_known_data_breaches": 4,
"disposable": false,
"deliverable": true,
"risk_score": {
"score": 74,
"scale": "0-999, higher is riskier",
"reasons": [
"Email surname differs from applicant surname"
]
}
},
"phone_check": {
"phone": "(614) 555-0119",
"line_type": "Mobile",
"carrier": "Major U.S. wireless carrier (postpaid)",
"first_seen": "2014-06",
"subscriber_name": "MEGAN ALBRIGHT (carrier record, matches)",
"ported_last_90_days": "Yes: ported 2026-09-03 from another major carrier; number in continuous use since 2014",
"sim_change_last_30_days": "No (last SIM change 2026-09-03, with the port)",
"sms_one_time_code": "Delivered and entered correctly",
"other_phones_for_this_identity": "None",
"risk_score": {
"score": 162,
"scale": "0-999, higher is riskier",
"reasons": [
"Number ported in last 90 days"
]
}
},
"address_check": {
"address_type": "Single-family home",
"usps_delivery_point": "Confirmed",
"residential": true,
"usps_change_of_address": "None filed",
"property_records": "Owners MEGAN T ALBRIGHT and DANIEL J ALBRIGHT since 2024-04; owner-occupied",
"distance_from_ip_location_miles": 161
},
"watchlists_and_internal": {
"ofac_sdn": "Potential match on name similarity (0.86), auto-cleared: the listed person's date of birth, nationality and addresses differ",
"politically_exposed_person": "No match",
"internal_negative_file": "No match",
"existing_customer": "None",
"prior_applications_at_our_bank": 0
},
"device_and_network": {
"device_id": "dev_a03f6d18c2e7",
"first_seen": "2026-10-07T17:17:51Z",
"device_type": "Laptop (enrolled in enterprise device management)",
"os": "Windows 11",
"browser": "Edge 141 (managed by an organization)",
"screen": "1920x1200",
"hardware": "12 logical cores; integrated GPU",
"language": "en-US",
"timezone": "America/New_York",
"local_time_at_submission": "2026-10-07T13:23:21-04:00",
"ip_address": "203.0.113.18",
"ip_type": "Corporate network",
"ip_location": "Pittsburgh, PA",
"ip_organization": "Brightwater Health System (VPN egress)",
"proxy_vpn_tor_or_hosting": "Corporate VPN; no anonymizing proxy, Tor or hosting provider",
"emulator_or_virtual_machine": false,
"fingerprint_integrity": "Consistent",
"remote_access_software": "None detected",
"cookies": "None from earlier visits",
"seen_with_other_identities": {
"our_bank": 0,
"consortium": 0
},
"risk_score": {
"score": 304,
"scale": "0-999, higher is riskier",
"reasons": [
"VPN",
"IP location far from home address",
"New device"
]
}
},
"session_behavior": {
"navigation": "Mouse and keyboard; varied pointer paths",
"familiarity_with_personal_data": "High: date of birth and SSN typed steadily from memory; name, email and phone filled from the browser's saved profile",
"duration_seconds": 330,
"median_duration_seconds_for_this_form": 462,
"fields_typed": 11,
"fields_pasted": 0,
"autofill_events": 2,
"times_left_page": 0,
"events": {
"columns": [
"offset_s",
"page",
"field",
"event",
"detail"
],
"rows": [
[
0,
"Choose an account",
"",
"page_view",
""
],
[
13.7,
"Choose an account",
"product",
"selected",
"Online checking with debit card and mobile check deposit"
],
[
18.8,
"Choose an account",
"promo_code",
"typed",
"8 keys in 1.7 s, 0 corrections"
],
[
22.6,
"Choose an account",
"",
"continue_clicked",
""
],
[
25.4,
"About you",
"",
"page_view",
""
],
"… 49 more in legitimate.json"
]
}
},
"velocity_at_our_bank_last_90_days": {
"same_device_other_applications": 0,
"same_phone_other_applications": 0,
"same_email_other_applications": 0,
"same_ip_other_applications": 2,
"same_ip_detail": "Two applications under other names (2026-08-12, 2026-09-21), both approved and in good standing; the IP is the employer's shared VPN egress",
"same_street_address_other_applications": {
"count": 0
}
},
"funding": {
"method": "Transfer from another bank (instant account link)",
"requested_opening_amount_usd": 500,
"external_account": {
"type": "Checking at a national bank",
"opened": "2014-09",
"owner_name": "MEGAN T ALBRIGHT",
"owner_name_match": "Match",
"owner_address": "2186 Larkspur Ct, Columbus OH",
"balance_at_link_usd": 6284.55
},
"cash_flow_last_90_days": {
"average_daily_balance_usd": 7535.1,
"recurring_income": "Biweekly payroll from Brightwater Health System (7 deposits)",
"inflows": "Payroll; 2 person-to-person transfers in from DANIEL ALBRIGHT",
"outflows": "Mortgage on the 1st, utilities, internet, phone, student loans, credit card autopay, savings transfer, everyday spending",
"everyday_spending": "Groceries, fuel, restaurants and pharmacy in the Columbus area",
"returned_items": [],
"overdrafts": "1 in the last 12 months (2026-02-27, $41.18, covered the next day)"
},
"transactions_last_90_days": {
"note": "Posted items 2026-07-09 to 2026-10-06, from the account link; debits negative",
"columns": [
"posted",
"type",
"description",
"amount_usd",
"balance_usd"
],
"rows": [
[
"2026-07-10",
"ACH credit",
"BRIGHTWATER HEALTH PAYROLL PPD",
2510,
9405.11
],
[
"2026-07-10",
"Debit card",
"SPOTIFY USA",
-11.99,
9393.12
],
[
"2026-07-10",
"Debit card",
"STARBUCKS STORE 08812 COLUMBUS OH",
-30.88,
9362.24
],
[
"2026-07-11",
"ACH debit",
"CREDIT CARD AUTOPAY x7712",
-278.66,
9083.58
],
[
"2026-07-11",
"Debit card",
"KROGER #0573 COLUMBUS OH",
-97.87,
8985.71
],
"… 110 more in legitimate.json"
]
}
},
"contact_history": [
{
"at": "2026-10-07T16:52:09Z",
"channel": "Website chat (not authenticated; not a customer)",
"summary": "Asked whether the $300 bonus needs her whole paycheck sent by direct deposit or only part of it. Told any direct deposits totaling $2,000 within 90 days qualify.",
"transcript": {
"columns": [
"speaker",
"text"
],
"rows": [
[
"Visitor",
"hi, quick question about the $300 checking bonus"
],
[
"Agent (Priya, digital support)",
"Hi! Happy to help. What would you like to know?"
],
[
"Visitor",
"does my whole paycheck have to go to the new account or can I split it? I want to keep part of it going to my current bank for the mortgage"
],
[
"Agent (Priya, digital support)",
"You can split it. Any direct deposits that add up to $2,000 within 90 days of opening qualify."
],
[
"Visitor",
"ok great. and when does the bonus show up?"
],
[
"Agent (Priya, digital support)",
"Within 30 days after you meet the requirement."
],
[
"Visitor",
"perfect, thanks!"
]
]
}
}
],
"rules_fired": [
{
"rule": "AO-090",
"description": "OFAC potential match (auto-cleared)"
},
{
"rule": "AO-133",
"description": "IP is a VPN or proxy"
},
{
"rule": "AO-140",
"description": "IP location more than 150 miles from home address"
},
{
"rule": "AO-221",
"description": "Phone ported in last 90 days"
},
{
"rule": "AO-262",
"description": "Email surname differs from applicant surname"
}
],
"decision_request": {
"stage": "Submission; all automated checks returned",
"requested_at": "2026-10-07T17:23:25Z",
"on_approval": "Account number issued, opening transfer pulled from the linked account, debit card mailed; mobile check deposit available after 30 days"
}
},
"questions": {
"identity_not_own": {
"type": "noul",
"instructions": "Is the applicant using an identity that isn't their own, either a real person's stolen identity or a synthetic identity built from a mix of real and invented details?"
},
"fraud_likelihood": {
"type": "score",
"instructions": "How likely is it that this application is fraudulent, whether through a stolen identity, a synthetic identity, or an applicant who plans to defraud the institution using their own identity?",
"criteria": [
"Very unlikely (under 10%)",
"Unlikely (10-40%)",
"Uncertain (40-60%)",
"Likely (60-90%)",
"Very likely (over 90%)"
]
},
"application_type": {
"type": "choice",
"instructions": "Which best describes this application?",
"criteria": {
"legitimate": "A legitimate applicant using their own identity, with no intent to defraud",
"stolen_identity": "Stolen identity: a real person's details used without their knowledge",
"synthetic_identity": "Synthetic identity: a fabricated person built from a mix of real and invented details",
"first_party": "First-party fraud: the applicant's own identity, used with intent to defraud the institution"
}
},
"decision": {
"type": "choice",
"instructions": "What should happen to this application?",
"criteria": {
"approve": "Approve the application and open the account",
"step_up": "Pause the application and require document verification with a selfie match before deciding",
"decline": "Decline the application"
}
}
}
}The response. Probabilities and confidence are shortened to four decimals here, and the score to three; responses carry full precision.
{
"id": "dec_647d1fe0fb20478cb35159bac3deb111",
"model": "grayson-1",
"answers": {
"identity_not_own": {
"type": "noul",
"noul": 0.0017
},
"fraud_likelihood": {
"type": "score",
"score": 0.014,
"legend": {
"0": "Very unlikely (under 10%)",
"1": "Unlikely (10-40%)",
"2": "Uncertain (40-60%)",
"3": "Likely (60-90%)",
"4": "Very likely (over 90%)"
},
"confidence": 0.9902,
"probabilities": {
"0": 0.9922,
"1": 0.0052,
"2": 0.0007,
"3": 0.0006,
"4": 0.0013
}
},
"application_type": {
"type": "choice",
"choice": "legitimate",
"confidence": 0.9878,
"probabilities": {
"legitimate": 0.9909,
"stolen_identity": 0.0025,
"synthetic_identity": 0.0015,
"first_party": 0.0052
}
},
"decision": {
"type": "choice",
"choice": "approve",
"confidence": 0.9911,
"probabilities": {
"approve": 0.994,
"step_up": 0.0028,
"decline": 0.0032
}
}
},
"usage": {
"input_tokens": 11657,
"output_tokens": 0
}
}Open in Playground
A five-year-old identity whose credit began on three strangers' cards. A 35-year-old whose identity first appears in 2021, at age 30, with a post-2011 SSN, a credit file that began with authorized-user spots on three strangers' cards, one early application with a different date of birth, and a card application declined in August because the identity couldn't be verified. Since then it looks lived in: the same phone and email, two apartments, a secured card that graduated, an auto loan paid on time, and delivery-app income, rent and groceries in the linked account. It fits someone who got an SSN as an adult and bought a head start, and it fits a carefully aged synthetic identity.
| Question | Grayson's answer |
|---|---|
identity_not_own | 15% true |
fraud_likelihood | 0.16 of 4, confidence 91% |
application_type | legitimate, confidence 60% |
decision | approve, confidence 84% |
11,449 input tokens, $0.00040 per decision, answered in 198 ms.
The request, with long lists cut short. The full request is ambiguous.json (49 KB).
{
"model": "grayson-1",
"state": {
"institution": "Our bank (U.S. regional bank): online consumer checking",
"application": {
"id": "app_2VF9C4",
"product": "Online checking with debit card and mobile check deposit",
"channel": "Mobile web",
"started_at": "2026-10-05T03:41:09Z",
"submitted_at": "2026-10-05T03:46:16Z",
"applicant": {
"name": "Adrian M. Castell",
"date_of_birth": "1990-11-03",
"age": 35,
"ssn": "xxx-xx-2718",
"citizenship": "U.S. citizen"
},
"home_address": "4835 W Mesa Verde Ln, Apt 1127, Las Vegas, NV 89103",
"time_at_address": "2 years or more",
"mailing_address": "Same as home",
"email": "adrian.castell@example.net",
"mobile_phone": "(702) 555-0164",
"employment": {
"status": "Self-employed",
"occupation": "Delivery driver (app-based)"
},
"stated_annual_income_usd": 44000,
"account_use": {
"purpose": "Everyday spending and bill pay",
"expected_monthly_deposits_usd": 3600,
"mobile_check_deposits": "Rarely",
"cash_deposits": "Under $1,000 a month",
"international_transfers": "No"
},
"debit_card_overdraft_coverage": "Declined",
"promo_code": null,
"how_heard": "Friend or family"
},
"identity_verification": {
"name_ssn_dob": "Match: name, SSN and date of birth appear together in credit-header records",
"identity_first_reported": "2021-06",
"records_before_first_report": "None: no address, phone, utility, property or public records before 2021-06 (applicant age 30 then)",
"header_sources": 3,
"name_variations": [],
"ssn": {
"format_and_issuance": "Valid; issued",
"issuance": "Randomized range: issued June 2011 or later, at least 20 years after the date of birth",
"names_associated_with_ssn": 1,
"dates_of_birth_associated_with_ssn": 2,
"dates_of_birth_note": "1990-11-03 on every record but one; 1990-11-08 on a credit application dated 2021-08-19",
"death_master_file": "No match"
},
"address_history": [
{
"address": "4835 W Mesa Verde Ln, Apt 1127, Las Vegas, NV 89103",
"first_reported": "2023-09",
"last_reported": "2026-09",
"sources": 4
},
{
"address": "2216 N Rancho Arroyo Dr, Apt 18, Las Vegas, NV 89108",
"first_reported": "2021-06",
"last_reported": "2023-08",
"sources": 3
}
],
"phones_associated": [
{
"phone": "(702) 555-0164",
"type": "Mobile",
"first_reported": "2021-06",
"last_reported": "2026-09"
}
],
"emails_associated": [
{
"email": "adrian.castell@example.net",
"first_reported": "2021-05",
"last_reported": "2026-09"
}
],
"application_phone_and_email_in_identity_records": "Both, since 2021-05 and 2021-06",
"vendor_scores": {
"synthetic_identity": {
"score": 655,
"scale": "0-999, higher is riskier",
"reasons": [
"No identity records before age 30",
"SSN issued long after date of birth",
"Early credit established through authorized-user tradelines",
"SSN associated with more than one date of birth"
]
},
"identity_theft": {
"score": 88,
"scale": "0-999, higher is riskier",
"reasons": [
"Device not previously seen"
]
},
"first_party_fraud": {
"score": 174,
"scale": "0-999, higher is riskier",
"reasons": []
}
},
"document_selfie_and_ecbsv": "Not run at submission. Our flow runs document verification with a selfie match, and an SSA eCBSV check of the name, SSN and date of birth, only when an application is stepped up."
},
"credit_file": {
"pulled_at": "2026-10-05T03:46:18Z",
"pull_type": "Soft inquiry for identity and fraud screening",
"file_created": "2021-06-02",
"name_on_file": "ADRIAN M CASTELL",
"employment_on_file": "Self-employed (reported 2025-01 by an inquiry)",
"score": {
"model": "Generic risk score, 300-850",
"value": 708,
"factors": [
"Length of time accounts have been established",
"Delinquency in the last 24 months",
"Too few accounts currently paid as agreed"
]
},
"alerts_and_freezes": "None (no fraud alert, active-duty alert or security freeze; no consumer statement)",
"summary": {
"tradelines_total": 7,
"tradelines_open": 7,
"primary_tradelines": 4,
"authorized_user_tradelines": 3,
"oldest_primary_tradeline_opened": "2021-10",
"primary_revolving_limit_usd": 10700,
"primary_revolving_balance_usd": 2056,
"primary_revolving_utilization_pct": 19.2,
"open_installment_balance_usd": 7261,
"accounts_opened_last_12_months": 0,
"hard_inquiries_last_90_days": 1,
"hard_inquiries_last_12_months": 1,
"late_payments_last_24_months": 1,
"collections": 0,
"public_records": 0
},
"tradelines": [
{
"creditor_type": "Bank credit card",
"account": "x7731",
"ownership": "Authorized user",
"opened": "2008-05",
"authorized_user_added": "2021-07",
"primary_cardholder_relationship": "No shared surname or address; primary cardholder's address history is in Texas",
"credit_limit_usd": 16000,
"balance_usd": 1120,
"status": "Open, current",
"last_reported": "2026-09",
"payment_history_24m_newest_first": "CCCCCCCCCCCCCCCCCCCCCCCC",
"statement_balances_24m_newest_first": [
1120,
1230,
1284,
614,
561,
"… 19 more in ambiguous.json"
]
},
{
"creditor_type": "Bank credit card",
"account": "x0458",
"ownership": "Authorized user",
"opened": "2011-09",
"authorized_user_added": "2021-09",
"primary_cardholder_relationship": "No shared surname or address; primary cardholder's address history is in North Carolina",
"credit_limit_usd": 11000,
"balance_usd": 325,
"status": "Open, current",
"last_reported": "2026-09",
"payment_history_24m_newest_first": "CCCCCCCCCCCCCCCCCCCCCCCC",
"statement_balances_24m_newest_first": [
325,
509,
369,
580,
407,
"… 19 more in ambiguous.json"
]
},
{
"creditor_type": "Bank credit card",
"account": "x3392",
"ownership": "Authorized user",
"opened": "2005-02",
"authorized_user_added": "2021-08",
"primary_cardholder_relationship": "No shared surname or address; primary cardholder's address history is in Ohio",
"credit_limit_usd": 21000,
"balance_usd": 1448,
"status": "Open, current",
"last_reported": "2026-09",
"payment_history_24m_newest_first": "CCCCCCCCCCCCCCCCCCCCCCCC",
"statement_balances_24m_newest_first": [
1448,
457,
1069,
854,
1098,
"… 19 more in ambiguous.json"
]
},
{
"creditor_type": "Bank credit card",
"account": "x5106",
"ownership": "Individual",
"opened": "2021-10",
"history": "Opened as a $500 secured card; converted to unsecured 2022-11; limit raised 2023-06 and 2025-01",
"credit_limit_usd": 3500,
"balance_usd": 467,
"status": "Open, current",
"last_reported": "2026-09",
"payment_history_24m_newest_first": "CCCCCCCCCCCCCCCCCCCCCCCC",
"statement_balances_24m_newest_first": [
467,
661,
1030,
610,
567,
"… 19 more in ambiguous.json"
]
},
{
"creditor_type": "Retail store card (department store)",
"account": "x6643",
"ownership": "Individual",
"opened": "2022-04",
"credit_limit_usd": 1200,
"balance_usd": 46,
"status": "Open, current",
"last_reported": "2026-09",
"payment_history_24m_newest_first": "CCCCCCCCCCCCCCC1CCCCCCCC",
"statement_balances_24m_newest_first": [
46,
184,
173,
274,
57,
"… 19 more in ambiguous.json"
]
},
{
"creditor_type": "Credit union auto loan",
"account": "x7318",
"ownership": "Individual",
"opened": "2023-03",
"original_amount_usd": 21800,
"term_months": 60,
"monthly_payment_usd": 424,
"balance_usd": 7261,
"status": "Open, current",
"last_reported": "2026-09",
"payment_history_24m_newest_first": "CCCCCCCCCCCCCCCCCCCCCCCC"
},
{
"creditor_type": "Bank credit card",
"account": "x2290",
"ownership": "Individual",
"opened": "2024-01",
"credit_limit_usd": 6000,
"balance_usd": 1543,
"status": "Open, current",
"last_reported": "2026-09",
"payment_history_24m_newest_first": "CCCCCCCCCCCCCCCCCCCCCCCC",
"statement_balances_24m_newest_first": [
1543,
1532,
1481,
1190,
1137,
"… 19 more in ambiguous.json"
]
}
],
"hard_inquiries_last_24_months": [
{
"date": "2025-01-21",
"industry": "Bank credit card (limit increase request)"
},
{
"date": "2026-08-14",
"industry": "Bank credit card"
}
]
},
"deposit_account_screening": {
"prior_closures_for_cause": 0,
"unpaid_overdraft_or_charge_off_balances": 0,
"deposit_inquiries": {
"last_30_days": 0,
"last_90_days": 0,
"last_12_months": 0
},
"id_verification_alerts": "None"
},
"consortium": {
"ssn_first_seen_at_members": "2021-06",
"applications_with_this_ssn": {
"last_7_days": 0,
"last_30_days": 0,
"last_90_days": 1,
"last_12_months": 1
},
"distinct_names_dobs_with_this_ssn": {
"names": 1,
"dates_of_birth": 2,
"note": "1990-11-08 on one 2021-08 credit card application at a member (declined); 1990-11-03 on all others"
},
"distinct_addresses_with_this_ssn_last_12_months": 1,
"this_phone_or_email_with_other_names_or_ssns": 0,
"this_device_with_other_names_or_ssns": 0,
"this_ip_with_other_names_or_ssns_last_30_days": 0,
"this_street_address_with_other_identities_last_12_months": "Apartment complex (312 units); 7 other identities in other units applied at members; 1 has a confirmed synthetic-identity report (2025)",
"confirmed_fraud_reports_on_this_ssn_phone_email_or_device": 0,
"recent_applications_with_this_ssn": {
"columns": [
"date",
"member_type",
"product",
"outcome",
"same_phone",
"same_email",
"same_address"
],
"rows": [
[
"2021-08-19",
"Bank",
"Credit card",
"Declined",
true,
true,
false
],
[
"2023-03-04",
"Credit union",
"Auto loan",
"Approved",
true,
true,
false
],
[
"2024-01-09",
"Bank",
"Credit card",
"Approved",
true,
true,
true
],
[
"2026-08-14",
"Bank",
"Credit card",
"Declined: identity could not be verified",
true,
true,
true
]
]
}
},
"email_check": {
"email": "adrian.castell@example.net",
"first_seen": "2021-05-18",
"domain_type": "Free webmail",
"name_match": "Full name match",
"appears_in_known_data_breaches": 1,
"disposable": false,
"deliverable": true,
"risk_score": {
"score": 236,
"scale": "0-999, higher is riskier",
"reasons": [
"Email first seen with the identity's first records"
]
}
},
"phone_check": {
"phone": "(702) 555-0164",
"line_type": "Mobile",
"carrier": "Major U.S. wireless carrier (postpaid)",
"first_seen": "2021-06",
"subscriber_name": "ADRIAN CASTELL (carrier record, matches)",
"ported_last_90_days": false,
"sim_change_last_30_days": "No",
"sms_one_time_code": "Delivered and entered correctly",
"other_phones_for_this_identity": "None",
"risk_score": {
"score": 96,
"scale": "0-999, higher is riskier",
"reasons": []
}
},
"address_check": {
"address_type": "Apartment in a multi-unit residential complex",
"usps_delivery_point": "Confirmed (unit confirmed)",
"residential": true,
"usps_change_of_address": "None filed",
"property_records": "Rental apartment complex owned by a property management company",
"distance_from_ip_location_miles": 4
},
"watchlists_and_internal": {
"ofac_sdn": "No match",
"politically_exposed_person": "No match",
"internal_negative_file": "No match",
"existing_customer": "None",
"prior_applications_at_our_bank": 0
},
"device_and_network": {
"device_id": "dev_8b14e7a2d6f0",
"first_seen": "2026-10-05T03:41:09Z",
"device_type": "Mobile phone",
"os": "Android 16",
"browser": "Chrome 141",
"screen": "412x915",
"hardware": "8 logical cores; mobile GPU",
"language": "en-US",
"timezone": "America/Los_Angeles",
"local_time_at_submission": "2026-10-04T20:46:16-07:00",
"ip_address": "198.51.100.62",
"ip_type": "Residential broadband (home Wi-Fi)",
"ip_location": "Las Vegas, NV",
"proxy_vpn_tor_or_hosting": "None detected",
"emulator_or_virtual_machine": false,
"fingerprint_integrity": "Consistent",
"remote_access_software": "None detected",
"cookies": "None from earlier visits",
"seen_with_other_identities": {
"our_bank": 0,
"consortium": 0
},
"risk_score": {
"score": 142,
"scale": "0-999, higher is riskier",
"reasons": [
"New device"
]
}
},
"session_behavior": {
"navigation": "Touch; varied tap positions and scroll speeds",
"familiarity_with_personal_data": "Mixed: name, date of birth, email and phone typed steadily; SSN typed with a 5.9 s pause after the fifth digit",
"duration_seconds": 308,
"median_duration_seconds_for_this_form": 462,
"fields_typed": 13,
"fields_pasted": 0,
"autofill_events": 0,
"times_left_page": 0,
"events": {
"columns": [
"offset_s",
"page",
"field",
"event",
"detail"
],
"rows": [
[
0,
"Choose an account",
"",
"page_view",
""
],
[
15.6,
"Choose an account",
"product",
"selected",
"Online checking with debit card and mobile check deposit"
],
[
20.6,
"Choose an account",
"",
"continue_clicked",
""
],
[
25.7,
"About you",
"",
"page_view",
""
],
[
28.8,
"About you",
"first_name",
"typed",
"6 keys in 1.8 s, 0 corrections"
],
"… 46 more in ambiguous.json"
]
}
},
"velocity_at_our_bank_last_90_days": {
"same_device_other_applications": 0,
"same_phone_other_applications": 0,
"same_email_other_applications": 0,
"same_ip_other_applications": 0,
"same_street_address_other_applications": {
"count": 1,
"detail": "Different unit and name, 2026-06-02, approved, in good standing"
}
},
"funding": {
"method": "Transfer from another bank (instant account link)",
"requested_opening_amount_usd": 200,
"external_account": {
"type": "Checking at an online bank",
"opened": "2021-07",
"owner_name": "ADRIAN M CASTELL",
"owner_name_match": "Match",
"owner_address": "4835 W Mesa Verde Ln Apt 1127, Las Vegas NV",
"balance_at_link_usd": 1846.2
},
"cash_flow_last_90_days": {
"average_daily_balance_usd": 3420.54,
"recurring_income": "Delivery-app instant payouts, 2 to 3 a week (33 deposits)",
"inflows": "Delivery-app payouts; 2 small person-to-person transfers in",
"outflows": "Rent on the 1st, auto loan, electric, internet, phone, card payments, a monthly $200 transfer to L CASTELL, everyday spending",
"everyday_spending": "Groceries, fuel and restaurants in the Las Vegas area",
"returned_items": [],
"overdrafts": "None in the last 12 months"
},
"transactions_last_90_days": {
"note": "Posted items 2026-07-06 to 2026-10-04, from the account link; debits negative",
"columns": [
"posted",
"type",
"description",
"amount_usd",
"balance_usd"
],
"rows": [
[
"2026-07-06",
"ACH credit",
"QUIKRUN DELIVERY INSTANT PAYOUT",
406.91,
4038.06
],
[
"2026-07-07",
"P2P out",
"P2P TO L CASTELL",
-200,
3838.06
],
[
"2026-07-07",
"Debit card",
"ARCO #82811 LAS VEGAS NV",
-46.09,
3791.97
],
[
"2026-07-09",
"ACH credit",
"QUIKRUN DELIVERY INSTANT PAYOUT",
375.05,
4167.02
],
[
"2026-07-09",
"ACH debit",
"AT&T MOBILITY ONLINE PMT",
-65,
4102.02
],
"… 126 more in ambiguous.json"
]
}
},
"contact_history": [],
"rules_fired": [
{
"rule": "AO-112",
"description": "SSN issued 15 or more years after date of birth"
},
{
"rule": "AO-118",
"description": "No identity records before age 25"
},
{
"rule": "AO-121",
"description": "Credit file built on authorized-user tradelines with unrelated primary cardholders"
},
{
"rule": "AO-126",
"description": "SSN associated with more than one date of birth"
}
],
"decision_request": {
"stage": "Submission; all automated checks returned",
"requested_at": "2026-10-05T03:46:20Z",
"on_approval": "Account number issued, opening transfer pulled from the linked account, debit card mailed; mobile check deposit available after 30 days"
}
},
"questions": {
"identity_not_own": {
"type": "noul",
"instructions": "Is the applicant using an identity that isn't their own, either a real person's stolen identity or a synthetic identity built from a mix of real and invented details?"
},
"fraud_likelihood": {
"type": "score",
"instructions": "How likely is it that this application is fraudulent, whether through a stolen identity, a synthetic identity, or an applicant who plans to defraud the institution using their own identity?",
"criteria": [
"Very unlikely (under 10%)",
"Unlikely (10-40%)",
"Uncertain (40-60%)",
"Likely (60-90%)",
"Very likely (over 90%)"
]
},
"application_type": {
"type": "choice",
"instructions": "Which best describes this application?",
"criteria": {
"legitimate": "A legitimate applicant using their own identity, with no intent to defraud",
"stolen_identity": "Stolen identity: a real person's details used without their knowledge",
"synthetic_identity": "Synthetic identity: a fabricated person built from a mix of real and invented details",
"first_party": "First-party fraud: the applicant's own identity, used with intent to defraud the institution"
}
},
"decision": {
"type": "choice",
"instructions": "What should happen to this application?",
"criteria": {
"approve": "Approve the application and open the account",
"step_up": "Pause the application and require document verification with a selfie match before deciding",
"decline": "Decline the application"
}
}
}
}The response. Probabilities and confidence are shortened to four decimals here, and the score to three; responses carry full precision.
{
"id": "dec_2c3f7e417d894eee889968a16b5952da",
"model": "grayson-1",
"answers": {
"identity_not_own": {
"type": "noul",
"noul": 0.148
},
"fraud_likelihood": {
"type": "score",
"score": 0.161,
"legend": {
"0": "Very unlikely (under 10%)",
"1": "Unlikely (10-40%)",
"2": "Uncertain (40-60%)",
"3": "Likely (60-90%)",
"4": "Very likely (over 90%)"
},
"confidence": 0.9089,
"probabilities": {
"0": 0.9271,
"1": 0.0359,
"2": 0.0071,
"3": 0.008,
"4": 0.0218
}
},
"application_type": {
"type": "choice",
"choice": "legitimate",
"confidence": 0.6003,
"probabilities": {
"legitimate": 0.7003,
"stolen_identity": 0.0042,
"synthetic_identity": 0.2919,
"first_party": 0.0037
}
},
"decision": {
"type": "choice",
"choice": "approve",
"confidence": 0.8397,
"probabilities": {
"approve": 0.8931,
"step_up": 0.0127,
"decline": 0.0941
}
}
},
"usage": {
"input_tokens": 11449,
"output_tokens": 0
}
}A yes/no answer is Grayson's probability that it's true. A choice answer is the top option and Grayson's confidence: 0% when every option is equally likely, 100% when one option has all the probability. A score answer is the expected level, numbering the levels in its criteria from 0, with its confidence measured the same way and, when no level reaches 70%, each level's probability. A multiple-choice answer lists the options at 50% or more.
decisionroutes the application: decline only whendeclineclears a high bar, and step up whenstep_upanddeclinetogether are high, or whenapplication_typegives a fraud type a real share, as in the ambiguous example.application_typepicks the follow-up: verification for a likely stolen identity, manual review for a likely synthetic one, account limits for likely first-party fraud.fraud_likelihoodorders your review queue: add the "Likely" and "Very likely" probabilities and sort on the sum.
Call it from your code
Save an example as request.json, such as fraud.json, and send it with your API key in GRAYSON_API_KEY:
curl https://api.finic.ai/v1/decide \
-H "Authorization: Bearer $GRAYSON_API_KEY" \
-H "Content-Type: application/json" \
--data @request.jsonThe problem
Most signals of account opening fraud are common among good applicants too: VoIP numbers, private mailboxes, pasted SSNs, authorized-user tradelines. A rule that declines on any one turns away good customers, and one that waits for all of them misses a carefully aged synthetic identity. Each kind of fraud also needs a different response.
What to send
Send everything your checks return at submission, with dates. The examples send about 11,000 tokens each:
- Identity-vendor match results. Whether the name, SSN and date of birth appear together in credit-header records, and since when.
- SSN issuance. A number issued years after the stated date of birth adds weight to other synthetic signals.
- How the credit file was built. Authorized-user spots on strangers' cards, not a parent's, are how a synthetic identity buys a score; monthly balances show a bust-out starting.
- Consortium results. Applications with the same SSN, phone, email or address at other institutions, with their outcomes and any confirmed fraud reports.
- Email, phone and address. Contact details created this week fit a stolen identity; a private mailbox can serve many identities.
- Device, session and velocity. Whether the device, phone, email or address appears on other recent applications under other names, and whether the applicant typed their own details or pasted them from another window.
- Deposit account history. Prior closures for cause and unpaid overdrafts, the main application-time sign of first-party fraud.
- The funding account. The owner-name match and its recent transactions: a real person's account shows pay, rent and groceries, and a synthetic identity's shows money passing through.
Add your own policy
Most fraud teams have a written procedure that says which signals justify a decline and which only justify more verification; put it in the request and Grayson applies it. This one declines at submission only when the identity elements don't match one another or the device, phone or email has been used under another name, and sends every other application with fraud indicators to document and selfie verification.
Your step-up standard adds this to the state of the obvious example:
{
"institution_policy": "Our account opening procedure, section 4 (identity decisions): We decline at submission only when the identity elements don't match one another (the identity bureau can't place the name, SSN and date of birth together), or when the device, phone number or email has been used on an application under a different name or SSN in the last 90 days. We don't decline at submission on credit-file, SSN-issuance, address, funding or session-behavior indicators, however strong, because document verification with a selfie match and an SSA eCBSV check settle most of these cases, and the same indicators describe many real applicants. We don't approve an application with those indicators at submission either: it goes to document and selfie verification, and we decide after it."
}| Question | Without | With your step-up standard |
|---|---|---|
identity_not_own | 89% true | 88% true |
fraud_likelihood | 3.79 of 4, confidence 86% | 3.77 of 4, confidence 83% |
application_type | synthetic_identity, confidence 77% | synthetic_identity, confidence 78% |
decision | decline, confidence 94% | step_up, confidence 85% |
In the obvious-fraud example the identity elements match one another, and what ties it to other applicants is its mailbox address, not its device, phone or email. So the decision moves from decline to document and selfie verification, while application_type stays synthetic_identity because the credit file still looks synthetic.
Where to call it
- After the identity, credit, email, phone and device checks return, and before the account number is issued or the account is funded.
- When no option is clearly ahead, step up rather than decline, then call again with the verification result added.
- Again at the first large check deposit or outbound transfer, when first-party intent starts to show.
Cost and latency
| Example | Input tokens | Per decision | Per 1,000 decisions | Latency |
|---|---|---|---|---|
| Obvious | 11,044 | $0.00039 | $0.39 | 203 ms |
| Legitimate | 11,657 | $0.00041 | $0.41 | 194 ms |
| Ambiguous | 11,449 | $0.00040 | $0.40 | 198 ms |
You pay only for input tokens, at $0.035 per million, and each request is rounded up to the next millionth of a dollar, so a request with a larger state costs proportionally more; every response reports its size in usage.input_tokens. Latency is the median of 5 calls each through api.finic.ai from US-West, and grows with the number of input tokens. Add your own network time to api.finic.ai.
Evaluate on your own data
Score Grayson on your own past cases before you use it: a CSV with one row per case and a column with the right answer to each question. Every other column is sent as the case.
pipx install https://docs.finic.ai/downloads/grayson_cli-0.4.0-py3-none-any.whl
grayson eval my-cases.csv --questions https://docs.finic.ai/recipes/account-opening-fraud/questions.json --label identity_not_own=<column> --label fraud_likelihood=<column> --label application_type=<column> --label decision=<column>Each --label names the column with that question's right answer:
identity_not_own:trueorfalsefraud_likelihood: a level, such as "Very likely (over 90%)"application_type:legitimate,stolen_identity,synthetic_identity,first_partydecision:approve,step_up,decline
Or run grayson on its own to set up your questions step by step. You get each question's accuracy and a CSV with Grayson's answer next to yours for every case.
FAQ
Can Grayson tell a synthetic identity from a real applicant who is new to credit?
Usually, if you send the details that separate them. A real applicant's authorized-user tradelines usually come from a family member who shares their surname or address, and their email and phone predate the credit file; a synthetic identity's come from strangers, and its contact details tend to appear at the same time as the file. Starter case account-opening-fraud-2 is that benign twin.
Does document and selfie verification stop synthetic identities?
Less well than it stops stolen identities. A selfie check confirms that the person holding the phone matches the photo on the document, which a fraudster using a stolen identity can't do, but a synthetic identity's license is fabricated with the fraudster's own photo. Checks against authoritative records do more: SSA's eCBSV for the SSN and, where available, verification of the license against the issuing state's records.
Can it catch first-party fraud at application time?
Only partly. A first-party fraudster applies with their own identity, so the application-time signals are mostly deposit account history and a burst of recent inquiries at other institutions. Most first-party fraud shows after opening, so call Grayson again at the first large check deposit or outbound transfer and ask about the activity itself.
Related recipes
Detect money mule accounts
Whether an account is passing other people's money through, whether the holder knows, and what to do
Detect insider threats in employee account access
Decide whether an employee's account access is work, snooping or insider fraud, and close, refer or suspend.
Recipes
Every use case, with its questions and cost per decision.
Onboarding
Applications for deposit accounts, business services and loans. Ready-to-run Grayson recipes with real responses, cost and latency.
Business onboarding
Grayson reviews a small business's application for card processing, checks that the business is real and sells what it says, scores shell, impersonation and bust-out risk, and picks approve, approve with limits, request documents or decline.