RiskSignals

Common request risk signals.

JSON representation
{
  "environmentalDetails": {
    object (EnvironmentalDetails)
  },
  "physicalDetails": {
    object (PhysicalDetails)
  },
  "googleAccountDetails": {
    object (GoogleAccountDetails)
  },
  "googleRiskAssessment": {
    object (GoogleRiskAssessment)
  }
}
Fields
environmentalDetails

object (EnvironmentalDetails)

REQUIRED: Environmental details about the device. These details are particular to the environment the physical device is located in, and therefore are expected to change over time.

physicalDetails

object (PhysicalDetails)

REQUIRED Physical details about the device.

googleAccountDetails

object (GoogleAccountDetails)

REQUIRED Details about the customer's Google account.

googleRiskAssessment

object (GoogleRiskAssessment)

REQUIRED Details about Google's risk assessment.

EnvironmentalDetails

Environmental details about the device.

JSON representation
{
  "ipAddress": string,
  "actionContext": enum (ActionContext),
  "deviceGeoLocation": {
    object (AnonymizedUserLocation)
  }
}
Fields
ipAddress

string

REQUIRED: IP Address of the device making the request.

This is a string that can be in IPv4 or IPv6 format.

actionContext

enum (ActionContext)

REQUIRED: The context in which the action that triggered the request took place.

deviceGeoLocation

object (AnonymizedUserLocation)

OPTIONAL: Anonymized lat/long of the device at the time of request if it is available.

ActionContext

The context in which the action that triggered the request took place.

Enums
ACTION_CONTEXT_UNSPECIFIED DO NOT USE
WEB The action was triggered from a web browser.
NATIVE_APP The action was triggered from a native app on a device.

AnonymizedUserLocation

A latitude and longitude used to describe an anonymized user location on the Earth's surface.

JSON representation
{
  "latitudeE7": string,
  "longitudeE7": string
}
Fields
latitudeE7

string (Int64Value format)

REQUIRED: Latitude in the range +/- 90 degrees (inclusive). Units are degrees x 10^7. For example, 39.6317 degrees North is represented as 396317000.

longitudeE7

string (Int64Value format)

REQUIRED: Longitude in the range +/- 180 degrees (inclusive). Units are degrees x 10^7. For example, 8.6733 degrees West is represented as -86733000.

PhysicalDetails

Physical details about the device

JSON representation
{
  "deviceToAccountBindingId": string,
  "deviceAccountAge": enum (DeviceAccountAgeBucket),
  "devicePhoneNumberLastFour": string,

  // Union field DevicePlatformType can be only one of the following:
  "android": {
    object (Empty)
  },
  "desktop": {
    object (Empty)
  },
  "ios": {
    object (Empty)
  }
  // End of list of possible types for union field DevicePlatformType.

  // Union field DevicePlatformAuthenticator can be only one of the following:
  "devicePlatformAuthenticatorDisabled": {
    object (Empty)
  },
  "devicePlatformAuthenticatorEnabled": {
    object (Empty)
  }
  // End of list of possible types for union field DevicePlatformAuthenticator.
}
Fields
deviceToAccountBindingId

string

REQUIRED: This identifier uniquely identifies the device for the user. It is not stable across factory resets. It is not stable across users, so two Google users using the same device will have different values. The value will be different for different partners.

This is a string that has 64 characters and contains only the characters "0-9" and "a-f".

deviceAccountAge

enum (DeviceAccountAgeBucket)

REQUIRED: The age range the device account falls into.

devicePhoneNumberLastFour

string

OPTIONAL: Last four digits of the device phone number if it is available.

This is a string that has 4 characters and contains only the characters "0-9".

Union field DevicePlatformType. REQUIRED: Contains the possible device platform types.

DevicePlatformType can be only one of the following:

android

object (Empty)

A device on an Android platform.

desktop

object (Empty)

A device on a desktop platform.

ios

object (Empty)

A device on an iOS platform.

Union field DevicePlatformAuthenticator. REQUIRED: Contains details about Platform Authenticator on the device.

DevicePlatformAuthenticator can be only one of the following:

devicePlatformAuthenticatorDisabled

object (Empty)

Platform Authenticator is disabled on this device.

devicePlatformAuthenticatorEnabled

object (Empty)

Platform Authenticator is enabled on this device.

DeviceAccountAgeBucket

The age range the device account age can fall into.

Enums
DEVICE_ACCOUNT_AGE_BUCKET_UNSPECIFIED DO NOT USE
LESS_THAN_ONE_DAY The device account age is one day or less.
LESS_THAN_SEVEN_DAYS The device account age is seven days or less.
LESS_THAN_THIRTY_DAYS The device account age is 30 days or less.
LESS_THAN_ONE_YEAR The device account age is one year (365 days) or less.
ONE_YEAR_OR_GREATER The device account age is one year (365 days) or greater.

GoogleAccountDetails

Details about the customer's Google account.

JSON representation
{
  "mostRecentAccountPaymentMethodChangeActivity": enum (MostRecentAccountPaymentMethodChangeActivity),
  "mostRecentAccountSecurityActivity": enum (MostRecentAccountSecurityActivity),
  "customerPhoneNumberLastFour": string,
  "autofillPaymentMethodAttempts": string,
  "cardAge": enum (CardAgeBucket),
  "numberOfBillingLastNames": string,

  // Union field GoogleAccountAndCardNameMatch can be only one of the following:
  "accountAndCardNameMatch": {
    object (Empty)
  },
  "accountAndCardNameNoMatch": {
    object (Empty)
  },
  "unknownCardholderName": {
    object (Empty)
  }
  // End of list of possible types for union field GoogleAccountAndCardNameMatch.
}
Fields
mostRecentAccountPaymentMethodChangeActivity

enum (MostRecentAccountPaymentMethodChangeActivity)

REQUIRED: Time elapsed since the most recent create/update/delete action that occurred for payment methods under the Google account.

mostRecentAccountSecurityActivity

enum (MostRecentAccountSecurityActivity)

REQUIRED: Time elapsed since the most recent password or two-factor authentication change on the Google account.

customerPhoneNumberLastFour

string

OPTIONAL: Last four digits of the customer phone number if it is available.

This is a string that has 4 characters and contains only the characters "0-9".

autofillPaymentMethodAttempts

string (Int64Value format)

REQUIRED: Number of attempts to add a payment method to the Google account over the past 24 hours via Autofill.

cardAge

enum (CardAgeBucket)

REQUIRED: The age range the card falls into. Card age is the length of time since the card was added to the Google account.

numberOfBillingLastNames

string (Int64Value format)

REQUIRED: Number of distinct billing last names present in the Google account.

Union field GoogleAccountAndCardNameMatch. REQUIRED: Whether the customer name used with the Google account matches the name on the card. Note that the customer name is entered by the user and is not generally verified by Google.

GoogleAccountAndCardNameMatch can be only one of the following:

accountAndCardNameMatch

object (Empty)

The names match.

accountAndCardNameNoMatch

object (Empty)

The names do not match.

unknownCardholderName

object (Empty)

Google does not know the name on the card and therefore cannot compare the names.

MostRecentAccountPaymentMethodChangeActivity

Time elapsed since the most recent create/update/delete action that occurred for payment methods under the Google account.

Enums
MOST_RECENT_ACCOUNT_PAYMENT_METHOD_CHANGE_ACTIVITY_UNSPECIFIED DO NOT USE
MOST_RECENT_ACCOUNT_PAYMENT_METHOD_CHANGE_ACTIVITY_LESS_THAN_ONE_DAY The most recent action occurred less than one day ago.
MOST_RECENT_ACCOUNT_PAYMENT_METHOD_CHANGE_ACTIVITY_LESS_THAN_SEVEN_DAYS The most recent action occurred less than seven days ago.
MOST_RECENT_ACCOUNT_PAYMENT_METHOD_CHANGE_ACTIVITY_LESS_THAN_THIRTY_DAYS The most recent action occurred less than thirty days ago.
MOST_RECENT_ACCOUNT_PAYMENT_METHOD_CHANGE_ACTIVITY_LESS_THAN_ONE_YEAR The most recent action occurred less than one year (365 days) ago.
MOST_RECENT_ACCOUNT_PAYMENT_METHOD_CHANGE_ACTIVITY_ONE_YEAR_OR_GREATER The most recent action occurred one year (365 days) ago or greater.

MostRecentAccountSecurityActivity

Time elapsed since the most recent password or two-factor authentication change on the Google account.

Enums
MOST_RECENT_ACCOUNT_SECURITY_ACTIVITY_UNSPECIFIED DO NOT USE
MOST_RECENT_ACCOUNT_SECURITY_ACTIVITY_LESS_THAN_ONE_DAY The most recent change occurred less than one day ago.
MOST_RECENT_ACCOUNT_SECURITY_ACTIVITY_LESS_THAN_SEVEN_DAYS The most recent change occurred less than seven days ago.
MOST_RECENT_ACCOUNT_SECURITY_ACTIVITY_LESS_THAN_THIRTY_DAYS The most recent change occurred less than thirty days ago.
MOST_RECENT_ACCOUNT_SECURITY_ACTIVITY_LESS_THAN_ONE_YEAR The most recent change occurred less than one year (365 days) ago.
MOST_RECENT_ACCOUNT_SECURITY_ACTIVITY_ONE_YEAR_OR_GREATER The most recent change occurred one year (365 days) ago or greater.

CardAgeBucket

The age range the card age can fall into.

Enums
CARD_AGE_BUCKET_UNSPECIFIED DO NOT USE
LESS_THAN_ONE_DAY The card age is one day or less.
LESS_THAN_SEVEN_DAYS The card age is seven days or less.
LESS_THAN_THIRTY_DAYS The card age is 30 days or less.
LESS_THAN_ONE_YEAR The card age is one year (365 days) or less.
ONE_YEAR_OR_GREATER The card age is one year (365 days) or greater.

GoogleRiskAssessment

Details about Google's risk assessment.

JSON representation
{
  "deviceRiskScore": enum (DeviceRiskScore),
  "accountRiskScore": enum (AccountRiskScore)
}
Fields
deviceRiskScore

enum (DeviceRiskScore)

OPTIONAL: Google's assessment of the riskiness of the device, when available.

accountRiskScore

enum (AccountRiskScore)

REQUIRED: Google's assessment of the riskiness of the Google account.

DeviceRiskScore

Google's assessment of the riskiness of the device.

Enums
DEVICE_RISK_SCORE_UNSPECIFIED DO NOT USE
DEVICE_RISK_SCORE_VERY_LOW Riskiness of the device is very low.
DEVICE_RISK_SCORE_LOW Riskiness of the device is low.
DEVICE_RISK_SCORE_MEDIUM Riskiness of the device is medium.
DEVICE_RISK_SCORE_HIGH Riskiness of the device is high.
DEVICE_RISK_SCORE_VERY_HIGH Riskiness of the device is very high.

AccountRiskScore

Google's assessment of the riskiness of the Google account.

Enums
ACCOUNT_RISK_SCORE_UNSPECIFIED DO NOT USE
ACCOUNT_RISK_SCORE_VERY_LOW Riskiness of the Google account is very low.
ACCOUNT_RISK_SCORE_LOW Riskiness of the Google account is low.
ACCOUNT_RISK_SCORE_MEDIUM Riskiness of the Google account is medium.
ACCOUNT_RISK_SCORE_HIGH Riskiness of the Google account is high.
ACCOUNT_RISK_SCORE_VERY_HIGH Riskiness of the Google account is very high.