ProximityVerifyResponse
UUID of the persisted verification record. Empty for early-exit results (INVALID_FORMAT, ADDRESS_NOT_FOUND).
Possible values: [NEAR, FAR, ADDRESS_NOT_FOUND, INVALID_FORMAT]
True iff result == NEAR AND confidence >= 0.60.
0.0–1.0. Computed from the rubric, then capped by accuracy and spoof_risk.
declared_address object
proximity object
Haversine distance in meters between device and resolved address.
Echoed from request — caller can log input quality.
True iff gps_accuracy_m <= 100. Null when accuracy was not provided.
tiers object
confidence_factors object
Boolean inputs to the confidence rubric. Each true factor contributes its documented weight. Surfaced in the response so callers can audit why a score was what it was.
integrity object
Possible values: [LOW, MEDIUM, HIGH]
Names of failed/suspicious checks. Possible values: mock_location_detected, gps_accuracy_insufficient, altitude_zero, speed_inconsistent, location_stale, ip_location_mismatch, timezone_mismatch.
checks object
Per-check verdict. Each value is one of: PASS | FAIL | DEGRADED | SUSPICIOUS | STALE | VERY_STALE | MISMATCH | NOT_PROVIDED.
NOT_PROVIDED in v1; planned for v2 alongside IPIntelligence wiring.
fraud_check object
Real-time fraud detection analysis result
Whether the transaction was blocked (risk_score >= 0.8)
falseCumulative risk score from all detected signals
Possible values: >= 0 and <= 1
0.25Risk classification based on score thresholds
Possible values: [low, medium, high, critical]
lowsignals object[]
Individual fraud signals detected
Signal type identifier
Possible values: [velocity_abuse, velocity_suspicious, impossible_travel, suspicious_travel, bulk_fraud, new_customer, manual_entry, off_hours]
new_customerSignal severity level
Possible values: [low, medium, high, critical]
lowHuman-readable explanation of the signal
First verification for this customerContribution to total risk score
0.1Human-readable action recommendation
Approve transactioncertificate object
Short reference embedded in the proximity response so callers know where to fetch and verify the full certificate.
Public verification endpoint (no auth required).
Full signed certificate JSON (auth required).
PDF certificate with embedded QR code (auth required).
JWK Set used to verify the signature.
retention object
Retention duration and legal basis, surfaced in the response so compliance teams can audit the data lifecycle without a separate documentation lookup.
{
"verification_id": "string",
"result": "NEAR",
"verified": true,
"confidence": 0,
"declared_address": {
"gps_code": "string",
"exists": true,
"lat": 0,
"lng": 0,
"region": "string",
"district": "string",
"area": "string",
"quality_score": 0
},
"proximity": {
"device_distance_m": 0,
"gps_accuracy_m": 0,
"accuracy_sufficient": true,
"tiers": {
"within_50m": true,
"within_100m": true,
"within_500m": true,
"within_1km": true
}
},
"confidence_factors": {
"address_exists": true,
"device_within_1km": true,
"device_within_500m": true,
"device_within_100m": true,
"device_within_50m": true,
"gps_accuracy_provided": true,
"gps_accuracy_under_25m": true,
"gps_accuracy_under_10m": true,
"mock_location_off": true,
"provider_is_hardware": true,
"location_fix_fresh": true,
"altitude_non_zero": true,
"no_fraud_signals": true
},
"integrity": {
"spoof_risk": "LOW",
"flags": [
"string"
],
"checks": {
"mock_location": "string",
"gps_accuracy": "string",
"altitude_plausible": "string",
"speed_consistent": "string",
"location_freshness": "string",
"ip_location_match": "string",
"timezone_match": "string"
}
},
"fraud_check": {
"blocked": false,
"risk_score": 0.25,
"risk_level": "low",
"signals": [
{
"type": "new_customer",
"severity": "low",
"description": "First verification for this customer",
"score": 0.1
}
],
"recommendation": "Approve transaction"
},
"certificate": {
"id": "string",
"verification_url": "string",
"json_url": "string",
"pdf_url": "string",
"jwks_url": "string",
"issued_at": "string"
},
"retention": {
"verification_stored": true,
"retention_period": "string",
"data_retained": [
"string"
],
"retention_legal_basis": "string"
},
"timestamp": "2024-07-29T15:51:28.071Z"
}