Skip to main content
The RadarFraud class contains fraud detection signals that indicate whether a user’s location can be trusted. These signals help detect location spoofing, proxies, and other fraudulent behavior.
These values should not be trusted unless you called trackVerified() instead of trackOnce().

Properties

passed
Bool
A boolean indicating whether the user passed fraud detection checks. May be false if Fraud is not enabled.
bypassed
Bool
A boolean indicating whether fraud detection checks were bypassed for the user for testing. May be false if Fraud is not enabled.
verified
Bool
A boolean indicating whether the request was made with SSL pinning configured successfully. May be false if Fraud is not enabled.
proxy
Bool
A boolean indicating whether the user’s IP address is a known proxy. May be false if Fraud is not enabled.
mocked
Bool
A boolean indicating whether the user’s location is being mocked, such as in the simulator or using a location spoofing app. May be false if Fraud is not enabled.
compromised
Bool
A boolean indicating whether the user’s device or app has been compromised according to DeviceCheck. May be false if Fraud is not enabled.
Learn more about DeviceCheck on Apple’s developer documentation.
jumped
Bool
A boolean indicating whether the user moved too far too fast. May be false if Fraud is not enabled.
inaccurate
Bool
A boolean indicating whether the user’s location is not accurate enough. May be false if Fraud is not enabled.
sharing
Bool
A boolean indicating whether the user’s location is being shared from another device. May be false if Fraud is not enabled.
blocked
Bool
A boolean indicating whether the user has been manually blocked. May be false if Fraud is not enabled.

Methods

dictionaryValue

Returns a dictionary representation of the fraud detection signals.
func dictionaryValue() -> [AnyHashable : Any]
- (NSDictionary *_Nonnull)dictionaryValue;
Returns: A dictionary containing all fraud detection properties.

Example

// Access fraud signals from a RadarUser
if let fraud = user.fraud {
    if fraud.passed {
        print("User passed fraud detection")
    } else {
        // Check specific fraud signals
        if fraud.mocked {
            print("Location is being mocked")
        }
        if fraud.proxy {
            print("User is using a proxy")
        }
        if fraud.compromised {
            print("Device or app is compromised")
        }
        if fraud.jumped {
            print("User jumped location")
        }
    }
}
// Access fraud signals from a RadarUser
if (user.fraud) {
    RadarFraud *fraud = user.fraud;
    if (fraud.passed) {
        NSLog(@"User passed fraud detection");
    } else {
        // Check specific fraud signals
        if (fraud.mocked) {
            NSLog(@"Location is being mocked");
        }
        if (fraud.proxy) {
            NSLog(@"User is using a proxy");
        }
        if (fraud.compromised) {
            NSLog(@"Device or app is compromised");
        }
        if (fraud.jumped) {
            NSLog(@"User jumped location");
        }
    }
}

Fraud Detection Signals

See Also