upollo

package module
v0.2.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 24, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

README

Upollo Go Client

The Upollo golang library can be used identify users before they login or if they visit from multiple devices.

The Go library runs on your server and can be paired with the web or mobile library to protect logins or payments.

Usage

See upollo.ai/docs/examples/verify for an example, or the reference at upollo.ai/docs/reference/server-libraries.

Documentation

Index

Constants

View Source
const (
	Shepherd_Track_FullMethodName           = "/uwproto.Shepherd/Track"
	Shepherd_Verify_FullMethodName          = "/uwproto.Shepherd/Verify"
	Shepherd_CreateChallenge_FullMethodName = "/uwproto.Shepherd/CreateChallenge"
	Shepherd_VerifyChallenge_FullMethodName = "/uwproto.Shepherd/VerifyChallenge"
	Shepherd_ApproveDevice_FullMethodName   = "/uwproto.Shepherd/ApproveDevice"
	Shepherd_ReportDevice_FullMethodName    = "/uwproto.Shepherd/ReportDevice"
	Shepherd_GetDeviceList_FullMethodName   = "/uwproto.Shepherd/GetDeviceList"
)

Variables

View Source
var (
	EventType_name = map[int32]string{
		0:  "EVENT_TYPE_UNSPECIFIED",
		1:  "EVENT_TYPE_LOGIN",
		2:  "EVENT_TYPE_REGISTER",
		3:  "EVENT_TYPE_ATTEMPT_PURCHASE",
		4:  "EVENT_TYPE_COMPLETE_PURCHASE",
		5:  "EVENT_TYPE_ATTEMPT_REDEEM_OFFER",
		6:  "EVENT_TYPE_REDEEMED_OFFER",
		11: "EVENT_TYPE_ADD_PAYMENT_METHOD",
		14: "EVENT_TYPE_START_SUBSCRIPTION",
		15: "EVENT_TYPE_END_SUBSCRIPTION",
		16: "EVENT_TYPE_HEARTBEAT",
		17: "EVENT_TYPE_PAGE_VISIT",
		18: "EVENT_TYPE_LOGIN_SUCCESS",
		19: "EVENT_TYPE_REGISTER_SUCCESS",
		20: "EVENT_TYPE_INTERNAL",
		7:  "EVENT_TYPE_VERIFY_DEVICE",
		8:  "EVENT_TYPE_REPORT_DEVICE",
		9:  "EVENT_TYPE_ADD_TEAM_MEMBER",
		10: "EVENT_TYPE_REMOVE_TEAM_MEMBER",
		12: "EVENT_TYPE_ATTEMPT_DELETE_ACCOUNT",
		13: "EVENT_TYPE_CUSTOMER_DEFINED",
	}
	EventType_value = map[string]int32{
		"EVENT_TYPE_UNSPECIFIED":            0,
		"EVENT_TYPE_LOGIN":                  1,
		"EVENT_TYPE_REGISTER":               2,
		"EVENT_TYPE_ATTEMPT_PURCHASE":       3,
		"EVENT_TYPE_COMPLETE_PURCHASE":      4,
		"EVENT_TYPE_ATTEMPT_REDEEM_OFFER":   5,
		"EVENT_TYPE_REDEEMED_OFFER":         6,
		"EVENT_TYPE_ADD_PAYMENT_METHOD":     11,
		"EVENT_TYPE_START_SUBSCRIPTION":     14,
		"EVENT_TYPE_END_SUBSCRIPTION":       15,
		"EVENT_TYPE_HEARTBEAT":              16,
		"EVENT_TYPE_PAGE_VISIT":             17,
		"EVENT_TYPE_LOGIN_SUCCESS":          18,
		"EVENT_TYPE_REGISTER_SUCCESS":       19,
		"EVENT_TYPE_INTERNAL":               20,
		"EVENT_TYPE_VERIFY_DEVICE":          7,
		"EVENT_TYPE_REPORT_DEVICE":          8,
		"EVENT_TYPE_ADD_TEAM_MEMBER":        9,
		"EVENT_TYPE_REMOVE_TEAM_MEMBER":     10,
		"EVENT_TYPE_ATTEMPT_DELETE_ACCOUNT": 12,
		"EVENT_TYPE_CUSTOMER_DEFINED":       13,
	}
)

Enum value maps for EventType.

View Source
var (
	Outcome_name = map[int32]string{
		0: "OUTCOME_UNSPECIFIED",
		1: "OUTCOME_DENY",
		2: "OUTCOME_CHALLENGE",
		3: "OUTCOME_PERMIT",
		4: "OUTCOME_OFFER",
		5: "OUTCOME_LOG",
		6: "OUTCOME_CUSTOMER_DEFINED",
	}
	Outcome_value = map[string]int32{
		"OUTCOME_UNSPECIFIED":      0,
		"OUTCOME_DENY":             1,
		"OUTCOME_CHALLENGE":        2,
		"OUTCOME_PERMIT":           3,
		"OUTCOME_OFFER":            4,
		"OUTCOME_LOG":              5,
		"OUTCOME_CUSTOMER_DEFINED": 6,
	}
)

Enum value maps for Outcome.

View Source
var (
	FlagType_name = map[int32]string{
		0:  "FLAG_TYPE_UNSPECIFIED",
		1:  "ACCOUNT_SHARING",
		2:  "ACCOUNT_SHARING_SAME_HOUSEHOLD",
		3:  "SUSPECTED_ACCOUNT_COMPROMISE",
		4:  "CREDENTIAL_STUFFING",
		5:  "REPEATED_REDEMPTION",
		6:  "SUSPECTED_FRAUD",
		7:  "REPEATED_SIGNUP",
		8:  "SUSPECTED_BOT",
		9:  "RATE_LIMITED_IP",
		10: "RATE_LIMITED_DEVICE",
		11: "BLACKLISTED_IP",
		12: "BLACKLISTED_DEVICE",
		13: "ACCOUNT_COMPROMISE_NEW_LOCATION",
		14: "ACCOUNT_COMPROMISE_NEW_DEVICE",
		16: "DISPOSABLE_EMAIL",
		17: "USING_VPN",
		18: "USING_TOR",
		19: "DEVICE_BLOCKED_GLOBALLY",
		20: "DEVICE_BLOCKED_FOR_THIS_USER",
		21: "INVALID_EMAIL",
		23: "INVALID_PHONE_NUMBER",
		22: "INVALID_PHONE_TYPE",
		24: "MULTIPLE_ACCOUNTS",
		25: "ALREADY_USED_EMAIL",
		26: "ALREADY_USED_PHONE",
		27: "LIMITED_DEVICE_INFORMATION",
		28: "COMMERCIAL_USER",
		29: "PAYMENT_NAME_DIFFERS",
		30: "TRIALED_ON_OTHER_ACCOUNT",
	}
	FlagType_value = map[string]int32{
		"FLAG_TYPE_UNSPECIFIED":           0,
		"ACCOUNT_SHARING":                 1,
		"ACCOUNT_SHARING_SAME_HOUSEHOLD":  2,
		"SUSPECTED_ACCOUNT_COMPROMISE":    3,
		"CREDENTIAL_STUFFING":             4,
		"REPEATED_REDEMPTION":             5,
		"SUSPECTED_FRAUD":                 6,
		"REPEATED_SIGNUP":                 7,
		"SUSPECTED_BOT":                   8,
		"RATE_LIMITED_IP":                 9,
		"RATE_LIMITED_DEVICE":             10,
		"BLACKLISTED_IP":                  11,
		"BLACKLISTED_DEVICE":              12,
		"ACCOUNT_COMPROMISE_NEW_LOCATION": 13,
		"ACCOUNT_COMPROMISE_NEW_DEVICE":   14,
		"DISPOSABLE_EMAIL":                16,
		"USING_VPN":                       17,
		"USING_TOR":                       18,
		"DEVICE_BLOCKED_GLOBALLY":         19,
		"DEVICE_BLOCKED_FOR_THIS_USER":    20,
		"INVALID_EMAIL":                   21,
		"INVALID_PHONE_NUMBER":            23,
		"INVALID_PHONE_TYPE":              22,
		"MULTIPLE_ACCOUNTS":               24,
		"ALREADY_USED_EMAIL":              25,
		"ALREADY_USED_PHONE":              26,
		"LIMITED_DEVICE_INFORMATION":      27,
		"COMMERCIAL_USER":                 28,
		"PAYMENT_NAME_DIFFERS":            29,
		"TRIALED_ON_OTHER_ACCOUNT":        30,
	}
)

Enum value maps for FlagType.

View Source
var (
	AddressType_name = map[int32]string{
		0: "ADDRESS_TYPE_UNSPECIFIED",
		1: "ADDRESS_TYPE_HOME",
		2: "ADDRESS_TYPE_WORK",
		3: "ADDRESS_TYPE_OTHER",
	}
	AddressType_value = map[string]int32{
		"ADDRESS_TYPE_UNSPECIFIED": 0,
		"ADDRESS_TYPE_HOME":        1,
		"ADDRESS_TYPE_WORK":        2,
		"ADDRESS_TYPE_OTHER":       3,
	}
)

Enum value maps for AddressType.

View Source
var (
	DeviceClass_name = map[int32]string{
		0: "DEVICE_CLASS_DESKTOP",
		1: "DEVICE_CLASS_MOBILE",
		2: "DEVICE_CLASS_TABLET",
		3: "DEVICE_CLASS_GOODBOT",
		4: "DEVICE_CLASS_BADBOT",
		5: "DEVICE_CLASS_UNKNOWN",
	}
	DeviceClass_value = map[string]int32{
		"DEVICE_CLASS_DESKTOP": 0,
		"DEVICE_CLASS_MOBILE":  1,
		"DEVICE_CLASS_TABLET":  2,
		"DEVICE_CLASS_GOODBOT": 3,
		"DEVICE_CLASS_BADBOT":  4,
		"DEVICE_CLASS_UNKNOWN": 5,
	}
)

Enum value maps for DeviceClass.

View Source
var (
	ChallengeType_name = map[int32]string{
		0: "CHALLENGE_TYPE_UNSPECIFIED",
		1: "CHALLENGE_TYPE_WEBAUTHN",
		2: "CHALLENGE_TYPE_SMS",
		3: "CHALLENGE_TYPE_EMAIL",
		4: "CHALLENGE_TYPE_BANKSY",
	}
	ChallengeType_value = map[string]int32{
		"CHALLENGE_TYPE_UNSPECIFIED": 0,
		"CHALLENGE_TYPE_WEBAUTHN":    1,
		"CHALLENGE_TYPE_SMS":         2,
		"CHALLENGE_TYPE_EMAIL":       3,
		"CHALLENGE_TYPE_BANKSY":      4,
	}
)

Enum value maps for ChallengeType.

View Source
var (
	EmailProvider_name = map[int32]string{
		0:  "EMAIL_PROVIDER_UNSPECIFIED",
		1:  "EMAIL_PROVIDER_SELFHOSTED",
		2:  "EMAIL_PROVIDER_PPHOSTED",
		3:  "EMAIL_PROVIDER_GOOGLE",
		4:  "EMAIL_PROVIDER_OUTLOOK",
		5:  "EMAIL_PROVIDER_IPHMX",
		6:  "EMAIL_PROVIDER_AMAZON",
		7:  "EMAIL_PROVIDER_APPLE",
		8:  "EMAIL_PROVIDER_MIMECAST",
		9:  "EMAIL_PROVIDER_ALIBABA",
		10: "EMAIL_PROVIDER_PROTONMAIL",
		11: "EMAIL_PROVIDER_YAHOO",
		12: "EMAIL_PROVIDER_INFINITUM",
		13: "EMAIL_PROVIDER_QQ",
		14: "EMAIL_PROVIDER_CLOUDFILTER",
		15: "EMAIL_PROVIDER_ICLOUD",
		16: "EMAIL_PROVIDER_MAIL",
		17: "EMAIL_PROVIDER_PPEHOSTED",
		18: "EMAIL_PROVIDER_MAILRU",
		19: "EMAIL_PROVIDER_MESSAGELABS",
		20: "EMAIL_PROVIDER_CSCDNS",
		21: "EMAIL_PROVIDER_MAILERHOST",
		22: "EMAIL_PROVIDER_BARRACUDANETWORKS",
		23: "EMAIL_PROVIDER_CLOUDFLARE",
		24: "EMAIL_PROVIDER_FIREEYE",
		25: "EMAIL_PROVIDER_MICROSOFT",
		26: "EMAIL_PROVIDER_HOSTEDEMAIL",
		27: "EMAIL_PROVIDER_ZOHO",
		28: "EMAIL_PROVIDER_TRENDMICRO",
		29: "EMAIL_PROVIDER_ABOVE",
		30: "EMAIL_PROVIDER_MAILCONTROL",
		31: "EMAIL_PROVIDER_CENTURYLINK",
		32: "EMAIL_PROVIDER_CHARTERCOM",
		33: "EMAIL_PROVIDER_GPPHOSTED",
		34: "EMAIL_PROVIDER_FRONTBRIDGE",
	}
	EmailProvider_value = map[string]int32{
		"EMAIL_PROVIDER_UNSPECIFIED":       0,
		"EMAIL_PROVIDER_SELFHOSTED":        1,
		"EMAIL_PROVIDER_PPHOSTED":          2,
		"EMAIL_PROVIDER_GOOGLE":            3,
		"EMAIL_PROVIDER_OUTLOOK":           4,
		"EMAIL_PROVIDER_IPHMX":             5,
		"EMAIL_PROVIDER_AMAZON":            6,
		"EMAIL_PROVIDER_APPLE":             7,
		"EMAIL_PROVIDER_MIMECAST":          8,
		"EMAIL_PROVIDER_ALIBABA":           9,
		"EMAIL_PROVIDER_PROTONMAIL":        10,
		"EMAIL_PROVIDER_YAHOO":             11,
		"EMAIL_PROVIDER_INFINITUM":         12,
		"EMAIL_PROVIDER_QQ":                13,
		"EMAIL_PROVIDER_CLOUDFILTER":       14,
		"EMAIL_PROVIDER_ICLOUD":            15,
		"EMAIL_PROVIDER_MAIL":              16,
		"EMAIL_PROVIDER_PPEHOSTED":         17,
		"EMAIL_PROVIDER_MAILRU":            18,
		"EMAIL_PROVIDER_MESSAGELABS":       19,
		"EMAIL_PROVIDER_CSCDNS":            20,
		"EMAIL_PROVIDER_MAILERHOST":        21,
		"EMAIL_PROVIDER_BARRACUDANETWORKS": 22,
		"EMAIL_PROVIDER_CLOUDFLARE":        23,
		"EMAIL_PROVIDER_FIREEYE":           24,
		"EMAIL_PROVIDER_MICROSOFT":         25,
		"EMAIL_PROVIDER_HOSTEDEMAIL":       26,
		"EMAIL_PROVIDER_ZOHO":              27,
		"EMAIL_PROVIDER_TRENDMICRO":        28,
		"EMAIL_PROVIDER_ABOVE":             29,
		"EMAIL_PROVIDER_MAILCONTROL":       30,
		"EMAIL_PROVIDER_CENTURYLINK":       31,
		"EMAIL_PROVIDER_CHARTERCOM":        32,
		"EMAIL_PROVIDER_GPPHOSTED":         33,
		"EMAIL_PROVIDER_FRONTBRIDGE":       34,
	}
)

Enum value maps for EmailProvider.

View Source
var (
	EmailInvalidReason_name = map[int32]string{
		0: "EMAIL_INVALID_REASON_UNSPECIFIED",
		1: "EMAIL_INVALID_REASON_FORMAT",
		2: "EMAIL_INVALID_REASON_INVALID_DOMAIN",
		3: "EMAIL_INVALID_REASON_DISPOSABLE",
		4: "EMAIL_INVALID_REASON_INVALID_USER",
	}
	EmailInvalidReason_value = map[string]int32{
		"EMAIL_INVALID_REASON_UNSPECIFIED":    0,
		"EMAIL_INVALID_REASON_FORMAT":         1,
		"EMAIL_INVALID_REASON_INVALID_DOMAIN": 2,
		"EMAIL_INVALID_REASON_DISPOSABLE":     3,
		"EMAIL_INVALID_REASON_INVALID_USER":   4,
	}
)

Enum value maps for EmailInvalidReason.

View Source
var (
	EmailType_name = map[int32]string{
		0: "EMAIL_TYPE_UNSPECIFIED",
		1: "EMAIL_TYPE_PUBLIC",
		2: "EMAIL_TYPE_DISPOSABLE",
		3: "EMAIL_TYPE_COMPANY",
		4: "EMAIL_TYPE_OTHER",
		5: "EMAIL_TYPE_EDUCATION",
		6: "EMAIL_TYPE_NFP",
	}
	EmailType_value = map[string]int32{
		"EMAIL_TYPE_UNSPECIFIED": 0,
		"EMAIL_TYPE_PUBLIC":      1,
		"EMAIL_TYPE_DISPOSABLE":  2,
		"EMAIL_TYPE_COMPANY":     3,
		"EMAIL_TYPE_OTHER":       4,
		"EMAIL_TYPE_EDUCATION":   5,
		"EMAIL_TYPE_NFP":         6,
	}
)

Enum value maps for EmailType.

View Source
var (
	PhoneLineType_name = map[int32]string{
		0: "PHONE_LINE_TYPE_UNSPECIFIED",
		1: "PHONE_LINE_TYPE_MOBILE",
		2: "PHONE_LINE_TYPE_LANDLINE",
		3: "PHONE_LINE_TYPE_VOIP",
		4: "PHONE_LINE_TYPE_INVALID",
		5: "PHONE_LINE_TYPE_PREPAID",
		6: "PHONE_LINE_TYPE_OTHER",
	}
	PhoneLineType_value = map[string]int32{
		"PHONE_LINE_TYPE_UNSPECIFIED": 0,
		"PHONE_LINE_TYPE_MOBILE":      1,
		"PHONE_LINE_TYPE_LANDLINE":    2,
		"PHONE_LINE_TYPE_VOIP":        3,
		"PHONE_LINE_TYPE_INVALID":     4,
		"PHONE_LINE_TYPE_PREPAID":     5,
		"PHONE_LINE_TYPE_OTHER":       6,
	}
)

Enum value maps for PhoneLineType.

View Source
var (
	PhoneInvalidReason_name = map[int32]string{
		0: "PHONE_INVALID_REASON_UNSPECIFIED",
		1: "PHONE_INVALID_REASON_NUMBER_FORMAT",
		2: "PHONE_INVALID_REASON_INACTIVE_LINE",
		3: "PHONE_INVALID_REASON_VOIP",
		4: "PHONE_INVALID_REASON_INVALID_TYPE",
		5: "PHONE_INVALID_REASON_DISPOSABLE_PHONE",
	}
	PhoneInvalidReason_value = map[string]int32{
		"PHONE_INVALID_REASON_UNSPECIFIED":      0,
		"PHONE_INVALID_REASON_NUMBER_FORMAT":    1,
		"PHONE_INVALID_REASON_INACTIVE_LINE":    2,
		"PHONE_INVALID_REASON_VOIP":             3,
		"PHONE_INVALID_REASON_INVALID_TYPE":     4,
		"PHONE_INVALID_REASON_DISPOSABLE_PHONE": 5,
	}
)

Enum value maps for PhoneInvalidReason.

View Source
var (
	NullableBool_name = map[int32]string{
		0: "NULLABLE_BOOL_UNSPECIFIED",
		1: "NULLABLE_BOOL_FALSE",
		2: "NULLABLE_BOOL_TRUE",
	}
	NullableBool_value = map[string]int32{
		"NULLABLE_BOOL_UNSPECIFIED": 0,
		"NULLABLE_BOOL_FALSE":       1,
		"NULLABLE_BOOL_TRUE":        2,
	}
)

Enum value maps for NullableBool.

View Source
var File_userwatch_public_proto protoreflect.FileDescriptor
View Source
var File_userwatch_shepherd_proto protoreflect.FileDescriptor
View Source
var Shepherd_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "uwproto.Shepherd",
	HandlerType: (*ShepherdServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Track",
			Handler:    _Shepherd_Track_Handler,
		},
		{
			MethodName: "Verify",
			Handler:    _Shepherd_Verify_Handler,
		},
		{
			MethodName: "CreateChallenge",
			Handler:    _Shepherd_CreateChallenge_Handler,
		},
		{
			MethodName: "VerifyChallenge",
			Handler:    _Shepherd_VerifyChallenge_Handler,
		},
		{
			MethodName: "ApproveDevice",
			Handler:    _Shepherd_ApproveDevice_Handler,
		},
		{
			MethodName: "ReportDevice",
			Handler:    _Shepherd_ReportDevice_Handler,
		},
		{
			MethodName: "GetDeviceList",
			Handler:    _Shepherd_GetDeviceList_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "userwatch_shepherd.proto",
}

Shepherd_ServiceDesc is the grpc.ServiceDesc for Shepherd service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func RegisterShepherdServer

func RegisterShepherdServer(s grpc.ServiceRegistrar, srv ShepherdServer)

Types

type AddressType

type AddressType int32

The type of physical address.

const (
	AddressType_ADDRESS_TYPE_UNSPECIFIED AddressType = 0
	// The address is at a residential location.
	AddressType_ADDRESS_TYPE_HOME AddressType = 1
	// The address is at a work location.
	AddressType_ADDRESS_TYPE_WORK  AddressType = 2
	AddressType_ADDRESS_TYPE_OTHER AddressType = 3
)

func (AddressType) Descriptor

func (AddressType) Enum

func (x AddressType) Enum() *AddressType

func (AddressType) EnumDescriptor deprecated

func (AddressType) EnumDescriptor() ([]byte, []int)

Deprecated: Use AddressType.Descriptor instead.

func (AddressType) Number

func (x AddressType) Number() protoreflect.EnumNumber

func (AddressType) String

func (x AddressType) String() string

func (AddressType) Type

type AnalysisResponse

type AnalysisResponse struct {

	// Recommended action based on the Upollo analysis.
	Action Outcome `protobuf:"varint,1,opt,name=action,proto3,enum=uwproto.Outcome" json:"action,omitempty"`
	// All flags the Upollo analysis identified.
	// Note any flags with an ignored_until value after the present should
	// generally be treated as if they were not present. Those ignored flags are
	// already excluded from factoring into the action Outcome above.
	Flags []*Flag `protobuf:"bytes,6,rep,name=flags,proto3" json:"flags,omitempty"`
	// True if Upollo detects a VPN is being used.
	// Deprecated: This is available as in flags as type USING_VPN
	//
	// Deprecated: Marked as deprecated in userwatch_public.proto.
	IsUsingVpn bool `protobuf:"varint,3,opt,name=is_using_vpn,json=isUsingVpn,proto3" json:"is_using_vpn,omitempty"`
	// True if Upollo detects TOR is being used.
	// Deprecated: This is available in flags as type USING_TOR
	//
	// Deprecated: Marked as deprecated in userwatch_public.proto.
	IsUsingTor bool `protobuf:"varint,4,opt,name=is_using_tor,json=isUsingTor,proto3" json:"is_using_tor,omitempty"`
	// Information Upollo discerned about the user.
	UserInfo *UserInfo `protobuf:"bytes,7,opt,name=user_info,json=userInfo,proto3" json:"user_info,omitempty"`
	// Information Upollo discerned about the device.
	DeviceInfo *DeviceInfo `protobuf:"bytes,8,opt,name=device_info,json=deviceInfo,proto3" json:"device_info,omitempty"`
	// Geographic information discerned by Upollo.
	GeoInfo             *GeoInfo        `protobuf:"bytes,9,opt,name=geo_info,json=geoInfo,proto3" json:"geo_info,omitempty"`
	SupportedChallenges []ChallengeType `` /* 154-byte string literal not displayed */
	// Unique identifier of the request which resulted in this analysis.
	RequestId string `protobuf:"bytes,10,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// Event type which resulted in this analysis being done.
	EventType     EventType           `protobuf:"varint,12,opt,name=event_type,json=eventType,proto3,enum=uwproto.EventType" json:"event_type,omitempty"`
	EmailAnalysis *CheckEmailResponse `protobuf:"bytes,13,opt,name=email_analysis,json=emailAnalysis,proto3" json:"email_analysis,omitempty"`
	PhoneAnalysis *CheckPhoneResponse `protobuf:"bytes,14,opt,name=phone_analysis,json=phoneAnalysis,proto3" json:"phone_analysis,omitempty"`
	// The matched users who were multi account
	// This field is only present in webhooks and serverside tokens
	MultiAccountingMatchedUsers []*UserInfo `` /* 147-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*AnalysisResponse) Descriptor deprecated

func (*AnalysisResponse) Descriptor() ([]byte, []int)

Deprecated: Use AnalysisResponse.ProtoReflect.Descriptor instead.

func (*AnalysisResponse) GetAction

func (x *AnalysisResponse) GetAction() Outcome

func (*AnalysisResponse) GetDeviceInfo

func (x *AnalysisResponse) GetDeviceInfo() *DeviceInfo

func (*AnalysisResponse) GetEmailAnalysis

func (x *AnalysisResponse) GetEmailAnalysis() *CheckEmailResponse

func (*AnalysisResponse) GetEventType

func (x *AnalysisResponse) GetEventType() EventType

func (*AnalysisResponse) GetFlags

func (x *AnalysisResponse) GetFlags() []*Flag

func (*AnalysisResponse) GetGeoInfo

func (x *AnalysisResponse) GetGeoInfo() *GeoInfo

func (*AnalysisResponse) GetIsUsingTor deprecated

func (x *AnalysisResponse) GetIsUsingTor() bool

Deprecated: Marked as deprecated in userwatch_public.proto.

func (*AnalysisResponse) GetIsUsingVpn deprecated

func (x *AnalysisResponse) GetIsUsingVpn() bool

Deprecated: Marked as deprecated in userwatch_public.proto.

func (*AnalysisResponse) GetMultiAccountingMatchedUsers added in v0.2.3

func (x *AnalysisResponse) GetMultiAccountingMatchedUsers() []*UserInfo

func (*AnalysisResponse) GetPhoneAnalysis

func (x *AnalysisResponse) GetPhoneAnalysis() *CheckPhoneResponse

func (*AnalysisResponse) GetRequestId

func (x *AnalysisResponse) GetRequestId() string

func (*AnalysisResponse) GetSupportedChallenges

func (x *AnalysisResponse) GetSupportedChallenges() []ChallengeType

func (*AnalysisResponse) GetUserInfo

func (x *AnalysisResponse) GetUserInfo() *UserInfo

func (*AnalysisResponse) ProtoMessage

func (*AnalysisResponse) ProtoMessage()

func (*AnalysisResponse) ProtoReflect

func (x *AnalysisResponse) ProtoReflect() protoreflect.Message

func (*AnalysisResponse) Reset

func (x *AnalysisResponse) Reset()

func (*AnalysisResponse) String

func (x *AnalysisResponse) String() string

type ChallengeType

type ChallengeType int32
const (
	ChallengeType_CHALLENGE_TYPE_UNSPECIFIED ChallengeType = 0
	ChallengeType_CHALLENGE_TYPE_WEBAUTHN    ChallengeType = 1
	ChallengeType_CHALLENGE_TYPE_SMS         ChallengeType = 2
	ChallengeType_CHALLENGE_TYPE_EMAIL       ChallengeType = 3
	ChallengeType_CHALLENGE_TYPE_BANKSY      ChallengeType = 4
)

func (ChallengeType) Descriptor

func (ChallengeType) Enum

func (x ChallengeType) Enum() *ChallengeType

func (ChallengeType) EnumDescriptor deprecated

func (ChallengeType) EnumDescriptor() ([]byte, []int)

Deprecated: Use ChallengeType.Descriptor instead.

func (ChallengeType) Number

func (ChallengeType) String

func (x ChallengeType) String() string

func (ChallengeType) Type

type ChallengeVerificationRequest

type ChallengeVerificationRequest struct {
	ChallengeId                string `protobuf:"bytes,1,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
	SecretResponse             string `protobuf:"bytes,2,opt,name=secret_response,json=secretResponse,proto3" json:"secret_response,omitempty"`
	WebauthnCredentialResponse []byte `` /* 141-byte string literal not displayed */
	// Not required if sending with a validation request
	Userinfo *UserInfo `protobuf:"bytes,6,opt,name=userinfo,proto3" json:"userinfo,omitempty"`
	// Not required if sending with a validation request
	DeviceId    string        `protobuf:"bytes,7,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	Type        ChallengeType `protobuf:"varint,5,opt,name=type,proto3,enum=uwproto.ChallengeType" json:"type,omitempty"`
	ReportToken string        `protobuf:"bytes,8,opt,name=report_token,json=reportToken,proto3" json:"report_token,omitempty"`
	// contains filtered or unexported fields
}

func (*ChallengeVerificationRequest) Descriptor deprecated

func (*ChallengeVerificationRequest) Descriptor() ([]byte, []int)

Deprecated: Use ChallengeVerificationRequest.ProtoReflect.Descriptor instead.

func (*ChallengeVerificationRequest) GetChallengeId

func (x *ChallengeVerificationRequest) GetChallengeId() string

func (*ChallengeVerificationRequest) GetDeviceId

func (x *ChallengeVerificationRequest) GetDeviceId() string

func (*ChallengeVerificationRequest) GetReportToken

func (x *ChallengeVerificationRequest) GetReportToken() string

func (*ChallengeVerificationRequest) GetSecretResponse

func (x *ChallengeVerificationRequest) GetSecretResponse() string

func (*ChallengeVerificationRequest) GetType

func (*ChallengeVerificationRequest) GetUserinfo

func (x *ChallengeVerificationRequest) GetUserinfo() *UserInfo

func (*ChallengeVerificationRequest) GetWebauthnCredentialResponse

func (x *ChallengeVerificationRequest) GetWebauthnCredentialResponse() []byte

func (*ChallengeVerificationRequest) ProtoMessage

func (*ChallengeVerificationRequest) ProtoMessage()

func (*ChallengeVerificationRequest) ProtoReflect

func (*ChallengeVerificationRequest) Reset

func (x *ChallengeVerificationRequest) Reset()

func (*ChallengeVerificationRequest) String

type ChallengeVerificationResponse

type ChallengeVerificationResponse struct {
	ChallengeCompletedSuccessfully *wrapperspb.BoolValue `` /* 153-byte string literal not displayed */
	EventType                      EventType             `protobuf:"varint,3,opt,name=event_type,json=eventType,proto3,enum=uwproto.EventType" json:"event_type,omitempty"`
	CustomerDefinedEventType       string                `` /* 137-byte string literal not displayed */
	SubEventType                   string                `protobuf:"bytes,5,opt,name=sub_event_type,json=subEventType,proto3" json:"sub_event_type,omitempty"`
	// contains filtered or unexported fields
}

func (*ChallengeVerificationResponse) Descriptor deprecated

func (*ChallengeVerificationResponse) Descriptor() ([]byte, []int)

Deprecated: Use ChallengeVerificationResponse.ProtoReflect.Descriptor instead.

func (*ChallengeVerificationResponse) GetChallengeCompletedSuccessfully

func (x *ChallengeVerificationResponse) GetChallengeCompletedSuccessfully() *wrapperspb.BoolValue

func (*ChallengeVerificationResponse) GetCustomerDefinedEventType

func (x *ChallengeVerificationResponse) GetCustomerDefinedEventType() string

func (*ChallengeVerificationResponse) GetEventType

func (x *ChallengeVerificationResponse) GetEventType() EventType

func (*ChallengeVerificationResponse) GetSubEventType

func (x *ChallengeVerificationResponse) GetSubEventType() string

func (*ChallengeVerificationResponse) ProtoMessage

func (*ChallengeVerificationResponse) ProtoMessage()

func (*ChallengeVerificationResponse) ProtoReflect

func (*ChallengeVerificationResponse) Reset

func (x *ChallengeVerificationResponse) Reset()

func (*ChallengeVerificationResponse) String

type CheckEmailResponse

type CheckEmailResponse struct {

	// If true, the email address is valid.
	Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"`
	// If the email address is invalid, a reason indicating why.
	Reason EmailInvalidReason `protobuf:"varint,2,opt,name=reason,proto3,enum=uwproto.EmailInvalidReason" json:"reason,omitempty"`
	// The type of email address, such as company, education, public.
	EmailType EmailType `protobuf:"varint,3,opt,name=email_type,json=emailType,proto3,enum=uwproto.EmailType" json:"email_type,omitempty"`
	// If the email is associated with a company or education institution, data
	// about the company/institution.
	Company *CompanyData `protobuf:"bytes,4,opt,name=company,proto3" json:"company,omitempty"`
	// Email provider, ie gmail, outlook, etc
	Provider EmailProvider `protobuf:"varint,5,opt,name=provider,proto3,enum=uwproto.EmailProvider" json:"provider,omitempty"`
	// contains filtered or unexported fields
}

Contains the results of checking the validity of an email address.

func (*CheckEmailResponse) Descriptor deprecated

func (*CheckEmailResponse) Descriptor() ([]byte, []int)

Deprecated: Use CheckEmailResponse.ProtoReflect.Descriptor instead.

func (*CheckEmailResponse) GetCompany

func (x *CheckEmailResponse) GetCompany() *CompanyData

func (*CheckEmailResponse) GetEmailType

func (x *CheckEmailResponse) GetEmailType() EmailType

func (*CheckEmailResponse) GetProvider added in v0.2.3

func (x *CheckEmailResponse) GetProvider() EmailProvider

func (*CheckEmailResponse) GetReason

func (x *CheckEmailResponse) GetReason() EmailInvalidReason

func (*CheckEmailResponse) GetValid

func (x *CheckEmailResponse) GetValid() bool

func (*CheckEmailResponse) ProtoMessage

func (*CheckEmailResponse) ProtoMessage()

func (*CheckEmailResponse) ProtoReflect

func (x *CheckEmailResponse) ProtoReflect() protoreflect.Message

func (*CheckEmailResponse) Reset

func (x *CheckEmailResponse) Reset()

func (*CheckEmailResponse) String

func (x *CheckEmailResponse) String() string

type CheckPasswordResponse

type CheckPasswordResponse struct {
	Compromised bool `protobuf:"varint,1,opt,name=compromised,proto3" json:"compromised,omitempty"`
	// contains filtered or unexported fields
}

Contains the results of checking a password for leaks.

func (*CheckPasswordResponse) Descriptor deprecated

func (*CheckPasswordResponse) Descriptor() ([]byte, []int)

Deprecated: Use CheckPasswordResponse.ProtoReflect.Descriptor instead.

func (*CheckPasswordResponse) GetCompromised

func (x *CheckPasswordResponse) GetCompromised() bool

func (*CheckPasswordResponse) ProtoMessage

func (*CheckPasswordResponse) ProtoMessage()

func (*CheckPasswordResponse) ProtoReflect

func (x *CheckPasswordResponse) ProtoReflect() protoreflect.Message

func (*CheckPasswordResponse) Reset

func (x *CheckPasswordResponse) Reset()

func (*CheckPasswordResponse) String

func (x *CheckPasswordResponse) String() string

type CheckPhoneResponse

type CheckPhoneResponse struct {

	// If true, the phone number is valid.
	Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"`
	// If the number is invalid, a reason indicating why.
	Reason PhoneInvalidReason `protobuf:"varint,2,opt,name=reason,proto3,enum=uwproto.PhoneInvalidReason" json:"reason,omitempty"`
	// The phone number's country code.
	CountryCode string `protobuf:"bytes,3,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
	// The phone number's line type.
	LineType PhoneLineType `protobuf:"varint,4,opt,name=line_type,json=lineType,proto3,enum=uwproto.PhoneLineType" json:"line_type,omitempty"`
	// The phone number's carrier.
	Carrier string `protobuf:"bytes,5,opt,name=carrier,proto3" json:"carrier,omitempty"`
	// A clean, consistently formatted phone number.
	CleanNumber string `protobuf:"bytes,6,opt,name=clean_number,json=cleanNumber,proto3" json:"clean_number,omitempty"`
	// contains filtered or unexported fields
}

Contains the results of checking the validity of a phone number.

func (*CheckPhoneResponse) Descriptor deprecated

func (*CheckPhoneResponse) Descriptor() ([]byte, []int)

Deprecated: Use CheckPhoneResponse.ProtoReflect.Descriptor instead.

func (*CheckPhoneResponse) GetCarrier

func (x *CheckPhoneResponse) GetCarrier() string

func (*CheckPhoneResponse) GetCleanNumber

func (x *CheckPhoneResponse) GetCleanNumber() string

func (*CheckPhoneResponse) GetCountryCode

func (x *CheckPhoneResponse) GetCountryCode() string

func (*CheckPhoneResponse) GetLineType

func (x *CheckPhoneResponse) GetLineType() PhoneLineType

func (*CheckPhoneResponse) GetReason

func (x *CheckPhoneResponse) GetReason() PhoneInvalidReason

func (*CheckPhoneResponse) GetValid

func (x *CheckPhoneResponse) GetValid() bool

func (*CheckPhoneResponse) ProtoMessage

func (*CheckPhoneResponse) ProtoMessage()

func (*CheckPhoneResponse) ProtoReflect

func (x *CheckPhoneResponse) ProtoReflect() protoreflect.Message

func (*CheckPhoneResponse) Reset

func (x *CheckPhoneResponse) Reset()

func (*CheckPhoneResponse) String

func (x *CheckPhoneResponse) String() string

type ClientOptions

type ClientOptions struct {
	// contains filtered or unexported fields
}

func NewClientBuilder

func NewClientBuilder(apiKey string) *ClientOptions

func (*ClientOptions) Build

func (opts *ClientOptions) Build() (ShepherdClient, error)

func (*ClientOptions) WithRequireTls

func (opts *ClientOptions) WithRequireTls(requireTls bool) *ClientOptions

optionally override the tls requirement for testing.

func (*ClientOptions) WithUrl

func (opts *ClientOptions) WithUrl(url string) *ClientOptions

optionally override the url for testing

type CompanyData

type CompanyData struct {

	// Name of the company.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Industry that the company operates in. E.g.
	Industry string `protobuf:"bytes,2,opt,name=industry,proto3" json:"industry,omitempty"`
	// The size of the company.
	CompanySize *CompanySize `protobuf:"bytes,3,opt,name=company_size,json=companySize,proto3" json:"company_size,omitempty"`
	// contains filtered or unexported fields
}

Information about a company.

func (*CompanyData) Descriptor deprecated

func (*CompanyData) Descriptor() ([]byte, []int)

Deprecated: Use CompanyData.ProtoReflect.Descriptor instead.

func (*CompanyData) GetCompanySize

func (x *CompanyData) GetCompanySize() *CompanySize

func (*CompanyData) GetIndustry

func (x *CompanyData) GetIndustry() string

func (*CompanyData) GetName

func (x *CompanyData) GetName() string

func (*CompanyData) ProtoMessage

func (*CompanyData) ProtoMessage()

func (*CompanyData) ProtoReflect

func (x *CompanyData) ProtoReflect() protoreflect.Message

func (*CompanyData) Reset

func (x *CompanyData) Reset()

func (*CompanyData) String

func (x *CompanyData) String() string

type CompanyInfoFetchRequest added in v0.2.3

type CompanyInfoFetchRequest struct {
	Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
	// contains filtered or unexported fields
}

func (*CompanyInfoFetchRequest) Descriptor deprecated added in v0.2.3

func (*CompanyInfoFetchRequest) Descriptor() ([]byte, []int)

Deprecated: Use CompanyInfoFetchRequest.ProtoReflect.Descriptor instead.

func (*CompanyInfoFetchRequest) GetDomain added in v0.2.3

func (x *CompanyInfoFetchRequest) GetDomain() string

func (*CompanyInfoFetchRequest) ProtoMessage added in v0.2.3

func (*CompanyInfoFetchRequest) ProtoMessage()

func (*CompanyInfoFetchRequest) ProtoReflect added in v0.2.3

func (x *CompanyInfoFetchRequest) ProtoReflect() protoreflect.Message

func (*CompanyInfoFetchRequest) Reset added in v0.2.3

func (x *CompanyInfoFetchRequest) Reset()

func (*CompanyInfoFetchRequest) String added in v0.2.3

func (x *CompanyInfoFetchRequest) String() string

type CompanySize

type CompanySize struct {

	// The minimum number of employees at the company.
	EmployeesMin int32 `protobuf:"varint,1,opt,name=employees_min,json=employeesMin,proto3" json:"employees_min,omitempty"`
	// The maximum number of employees at the company. It will be set to 0 if
	// there is no known maximum (e.g. 100+ employees).
	EmployeesMax int32 `protobuf:"varint,2,opt,name=employees_max,json=employeesMax,proto3" json:"employees_max,omitempty"`
	// contains filtered or unexported fields
}

The size of the company, as a range. Note that unbounded sizes, such as 100+ employees, will have employees_max set to 0.

func (*CompanySize) Descriptor deprecated

func (*CompanySize) Descriptor() ([]byte, []int)

Deprecated: Use CompanySize.ProtoReflect.Descriptor instead.

func (*CompanySize) GetEmployeesMax

func (x *CompanySize) GetEmployeesMax() int32

func (*CompanySize) GetEmployeesMin

func (x *CompanySize) GetEmployeesMin() int32

func (*CompanySize) ProtoMessage

func (*CompanySize) ProtoMessage()

func (*CompanySize) ProtoReflect

func (x *CompanySize) ProtoReflect() protoreflect.Message

func (*CompanySize) Reset

func (x *CompanySize) Reset()

func (*CompanySize) String

func (x *CompanySize) String() string

type CreateChallengeRequest

type CreateChallengeRequest struct {
	Type ChallengeType `protobuf:"varint,1,opt,name=type,proto3,enum=uwproto.ChallengeType" json:"type,omitempty"`
	// Userinfo is used for phone numbers and email details
	Userinfo *UserInfo `protobuf:"bytes,2,opt,name=userinfo,proto3" json:"userinfo,omitempty"`
	DeviceId string    `protobuf:"bytes,4,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// Required for webauthn
	// Should be consistent eg. login.company.com or similar
	Origin                   string    `protobuf:"bytes,5,opt,name=origin,proto3" json:"origin,omitempty"`
	EventType                EventType `protobuf:"varint,6,opt,name=event_type,json=eventType,proto3,enum=uwproto.EventType" json:"event_type,omitempty"`
	CustomerDefinedEventType string    `` /* 137-byte string literal not displayed */
	SubEventType             string    `protobuf:"bytes,8,opt,name=sub_event_type,json=subEventType,proto3" json:"sub_event_type,omitempty"`
	// contains filtered or unexported fields
}

func (*CreateChallengeRequest) Descriptor deprecated

func (*CreateChallengeRequest) Descriptor() ([]byte, []int)

Deprecated: Use CreateChallengeRequest.ProtoReflect.Descriptor instead.

func (*CreateChallengeRequest) GetCustomerDefinedEventType

func (x *CreateChallengeRequest) GetCustomerDefinedEventType() string

func (*CreateChallengeRequest) GetDeviceId

func (x *CreateChallengeRequest) GetDeviceId() string

func (*CreateChallengeRequest) GetEventType

func (x *CreateChallengeRequest) GetEventType() EventType

func (*CreateChallengeRequest) GetOrigin

func (x *CreateChallengeRequest) GetOrigin() string

func (*CreateChallengeRequest) GetSubEventType

func (x *CreateChallengeRequest) GetSubEventType() string

func (*CreateChallengeRequest) GetType

func (*CreateChallengeRequest) GetUserinfo

func (x *CreateChallengeRequest) GetUserinfo() *UserInfo

func (*CreateChallengeRequest) ProtoMessage

func (*CreateChallengeRequest) ProtoMessage()

func (*CreateChallengeRequest) ProtoReflect

func (x *CreateChallengeRequest) ProtoReflect() protoreflect.Message

func (*CreateChallengeRequest) Reset

func (x *CreateChallengeRequest) Reset()

func (*CreateChallengeRequest) String

func (x *CreateChallengeRequest) String() string

type CreateChallengeResponse

type CreateChallengeResponse struct {
	ChallengeId         string                 `protobuf:"bytes,1,opt,name=challenge_id,json=challengeId,proto3" json:"challenge_id,omitempty"`
	Expiry              *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=expiry,proto3" json:"expiry,omitempty"`
	WebauthnCredentials []byte                 `protobuf:"bytes,3,opt,name=webauthn_credentials,json=webauthnCredentials,proto3" json:"webauthn_credentials,omitempty"`
	Type                ChallengeType          `protobuf:"varint,4,opt,name=type,proto3,enum=uwproto.ChallengeType" json:"type,omitempty"`
	// contains filtered or unexported fields
}

An error will be returned if creating the challenge fails (eg. phone number is out of service, email bounces)

func (*CreateChallengeResponse) Descriptor deprecated

func (*CreateChallengeResponse) Descriptor() ([]byte, []int)

Deprecated: Use CreateChallengeResponse.ProtoReflect.Descriptor instead.

func (*CreateChallengeResponse) GetChallengeId

func (x *CreateChallengeResponse) GetChallengeId() string

func (*CreateChallengeResponse) GetExpiry

func (*CreateChallengeResponse) GetType

func (*CreateChallengeResponse) GetWebauthnCredentials

func (x *CreateChallengeResponse) GetWebauthnCredentials() []byte

func (*CreateChallengeResponse) ProtoMessage

func (*CreateChallengeResponse) ProtoMessage()

func (*CreateChallengeResponse) ProtoReflect

func (x *CreateChallengeResponse) ProtoReflect() protoreflect.Message

func (*CreateChallengeResponse) Reset

func (x *CreateChallengeResponse) Reset()

func (*CreateChallengeResponse) String

func (x *CreateChallengeResponse) String() string

type DeviceClass

type DeviceClass int32
const (
	// protolint:disable ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
	// DEVICE_CLASS_DESKTOP indicates the device is a desktop computer.
	DeviceClass_DEVICE_CLASS_DESKTOP DeviceClass = 0
	// protolint:enable ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
	// DEVICE_CLASS_MOBILE indicates the device is a mobile.
	DeviceClass_DEVICE_CLASS_MOBILE DeviceClass = 1
	// DEVICE_CLASS_TABLET indicates the device is a tablet.
	DeviceClass_DEVICE_CLASS_TABLET DeviceClass = 2
	// DEVICE_CLASS_GOODBOT indicates the "device" is actually a bot, but one
	// that is typically allowed (such as the Googlebot web crawler).
	DeviceClass_DEVICE_CLASS_GOODBOT DeviceClass = 3
	// DEVICE_CLASS_BADBOT indicates the "device" is actually a bot, but one that
	// is known for bad activity.
	DeviceClass_DEVICE_CLASS_BADBOT  DeviceClass = 4
	DeviceClass_DEVICE_CLASS_UNKNOWN DeviceClass = 5
)

func (DeviceClass) Descriptor

func (DeviceClass) Enum

func (x DeviceClass) Enum() *DeviceClass

func (DeviceClass) EnumDescriptor deprecated

func (DeviceClass) EnumDescriptor() ([]byte, []int)

Deprecated: Use DeviceClass.Descriptor instead.

func (DeviceClass) Number

func (x DeviceClass) Number() protoreflect.EnumNumber

func (DeviceClass) String

func (x DeviceClass) String() string

func (DeviceClass) Type

type DeviceInfo

type DeviceInfo struct {

	// A unique identifier for the device.
	DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// The operating system that the device is using.
	Os string `protobuf:"bytes,2,opt,name=os,proto3" json:"os,omitempty"`
	// The type of device (mobile, desktop, tablet, bot etc).
	DeviceClass DeviceClass `protobuf:"varint,3,opt,name=device_class,json=deviceClass,proto3,enum=uwproto.DeviceClass" json:"device_class,omitempty"`
	// The name of the device.
	DeviceName string `protobuf:"bytes,4,opt,name=device_name,json=deviceName,proto3" json:"device_name,omitempty"`
	// User agent string for the device.
	UserAgent string `protobuf:"bytes,5,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
	// Browser that the device is using
	Browser string `protobuf:"bytes,6,opt,name=browser,proto3" json:"browser,omitempty"`
	// Timestamp that the device was last used.
	LastUsed *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=last_used,json=lastUsed,proto3" json:"last_used,omitempty"`
	// If true, the device is blocked globally.
	BlockedGlobally bool `protobuf:"varint,8,opt,name=blocked_globally,json=blockedGlobally,proto3" json:"blocked_globally,omitempty"`
	// Will always be false if request is unrelated to a single user
	BlockedForThisUser bool `protobuf:"varint,9,opt,name=blocked_for_this_user,json=blockedForThisUser,proto3" json:"blocked_for_this_user,omitempty"`
	// contains filtered or unexported fields
}

Information about a device.

func (*DeviceInfo) Descriptor deprecated

func (*DeviceInfo) Descriptor() ([]byte, []int)

Deprecated: Use DeviceInfo.ProtoReflect.Descriptor instead.

func (*DeviceInfo) GetBlockedForThisUser

func (x *DeviceInfo) GetBlockedForThisUser() bool

func (*DeviceInfo) GetBlockedGlobally

func (x *DeviceInfo) GetBlockedGlobally() bool

func (*DeviceInfo) GetBrowser

func (x *DeviceInfo) GetBrowser() string

func (*DeviceInfo) GetDeviceClass

func (x *DeviceInfo) GetDeviceClass() DeviceClass

func (*DeviceInfo) GetDeviceId

func (x *DeviceInfo) GetDeviceId() string

func (*DeviceInfo) GetDeviceName

func (x *DeviceInfo) GetDeviceName() string

func (*DeviceInfo) GetLastUsed

func (x *DeviceInfo) GetLastUsed() *timestamppb.Timestamp

func (*DeviceInfo) GetOs

func (x *DeviceInfo) GetOs() string

func (*DeviceInfo) GetUserAgent

func (x *DeviceInfo) GetUserAgent() string

func (*DeviceInfo) ProtoMessage

func (*DeviceInfo) ProtoMessage()

func (*DeviceInfo) ProtoReflect

func (x *DeviceInfo) ProtoReflect() protoreflect.Message

func (*DeviceInfo) Reset

func (x *DeviceInfo) Reset()

func (*DeviceInfo) String

func (x *DeviceInfo) String() string

type DeviceListRequest

type DeviceListRequest struct {
	UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// contains filtered or unexported fields
}

func (*DeviceListRequest) Descriptor deprecated

func (*DeviceListRequest) Descriptor() ([]byte, []int)

Deprecated: Use DeviceListRequest.ProtoReflect.Descriptor instead.

func (*DeviceListRequest) GetUserId

func (x *DeviceListRequest) GetUserId() string

func (*DeviceListRequest) ProtoMessage

func (*DeviceListRequest) ProtoMessage()

func (*DeviceListRequest) ProtoReflect

func (x *DeviceListRequest) ProtoReflect() protoreflect.Message

func (*DeviceListRequest) Reset

func (x *DeviceListRequest) Reset()

func (*DeviceListRequest) String

func (x *DeviceListRequest) String() string

type DeviceListResponse

type DeviceListResponse struct {
	Devices []*DeviceInfo `protobuf:"bytes,1,rep,name=devices,proto3" json:"devices,omitempty"`
	// contains filtered or unexported fields
}

func (*DeviceListResponse) Descriptor deprecated

func (*DeviceListResponse) Descriptor() ([]byte, []int)

Deprecated: Use DeviceListResponse.ProtoReflect.Descriptor instead.

func (*DeviceListResponse) GetDevices

func (x *DeviceListResponse) GetDevices() []*DeviceInfo

func (*DeviceListResponse) ProtoMessage

func (*DeviceListResponse) ProtoMessage()

func (*DeviceListResponse) ProtoReflect

func (x *DeviceListResponse) ProtoReflect() protoreflect.Message

func (*DeviceListResponse) Reset

func (x *DeviceListResponse) Reset()

func (*DeviceListResponse) String

func (x *DeviceListResponse) String() string

type DeviceRequest

type DeviceRequest struct {
	DeviceId string `protobuf:"bytes,1,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"`
	// UserID of to block or approve this device for. Cannot be used with global
	UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// Block or approve this device globally. Cannot be used with user_id
	Global bool `protobuf:"varint,3,opt,name=global,proto3" json:"global,omitempty"`
	// contains filtered or unexported fields
}

func (*DeviceRequest) Descriptor deprecated

func (*DeviceRequest) Descriptor() ([]byte, []int)

Deprecated: Use DeviceRequest.ProtoReflect.Descriptor instead.

func (*DeviceRequest) GetDeviceId

func (x *DeviceRequest) GetDeviceId() string

func (*DeviceRequest) GetGlobal

func (x *DeviceRequest) GetGlobal() bool

func (*DeviceRequest) GetUserId

func (x *DeviceRequest) GetUserId() string

func (*DeviceRequest) ProtoMessage

func (*DeviceRequest) ProtoMessage()

func (*DeviceRequest) ProtoReflect

func (x *DeviceRequest) ProtoReflect() protoreflect.Message

func (*DeviceRequest) Reset

func (x *DeviceRequest) Reset()

func (*DeviceRequest) String

func (x *DeviceRequest) String() string

type DeviceResponse

type DeviceResponse struct {
	Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	// contains filtered or unexported fields
}

func (*DeviceResponse) Descriptor deprecated

func (*DeviceResponse) Descriptor() ([]byte, []int)

Deprecated: Use DeviceResponse.ProtoReflect.Descriptor instead.

func (*DeviceResponse) GetSuccess

func (x *DeviceResponse) GetSuccess() bool

func (*DeviceResponse) ProtoMessage

func (*DeviceResponse) ProtoMessage()

func (*DeviceResponse) ProtoReflect

func (x *DeviceResponse) ProtoReflect() protoreflect.Message

func (*DeviceResponse) Reset

func (x *DeviceResponse) Reset()

func (*DeviceResponse) String

func (x *DeviceResponse) String() string

type EmailInvalidReason

type EmailInvalidReason int32

A reason why the email address is not valid.

const (
	EmailInvalidReason_EMAIL_INVALID_REASON_UNSPECIFIED EmailInvalidReason = 0
	// EMAIL_INVALID_REASON_FORMAT indicates the email address is incorrectly
	// formatted.
	EmailInvalidReason_EMAIL_INVALID_REASON_FORMAT EmailInvalidReason = 1
	// EMAIL_INVALID_REASON_INVALID_DOMAIN indicates the email address is from
	// a domain that is invalid (e.g. doesn't exist).
	EmailInvalidReason_EMAIL_INVALID_REASON_INVALID_DOMAIN EmailInvalidReason = 2
	// EMAIL_INVALID_REASON_DISPOSABLE indicates the email address is a disposable
	// email.
	EmailInvalidReason_EMAIL_INVALID_REASON_DISPOSABLE EmailInvalidReason = 3
	// EMAIL_INVALID_REASON_INVALID_USER indiciates the email address has an
	// invalid user.
	EmailInvalidReason_EMAIL_INVALID_REASON_INVALID_USER EmailInvalidReason = 4
)

func (EmailInvalidReason) Descriptor

func (EmailInvalidReason) Enum

func (EmailInvalidReason) EnumDescriptor deprecated

func (EmailInvalidReason) EnumDescriptor() ([]byte, []int)

Deprecated: Use EmailInvalidReason.Descriptor instead.

func (EmailInvalidReason) Number

func (EmailInvalidReason) String

func (x EmailInvalidReason) String() string

func (EmailInvalidReason) Type

type EmailProvider added in v0.2.3

type EmailProvider int32

Email provider is determined by looking up MX records and extracting the domains from highest priority MX record.

const (
	// Unspecified is returned if the email address is invalid
	//
	//	or if no specific email provider can be determined. This is a catch all.
	EmailProvider_EMAIL_PROVIDER_UNSPECIFIED EmailProvider = 0
	// self hosted occurs when the email domain and mx record domain match
	EmailProvider_EMAIL_PROVIDER_SELFHOSTED EmailProvider = 1
	// Below here are specific providers that can be determined from MX records
	// pphosted
	EmailProvider_EMAIL_PROVIDER_PPHOSTED EmailProvider = 2
	// Google
	EmailProvider_EMAIL_PROVIDER_GOOGLE EmailProvider = 3
	// Outlook
	EmailProvider_EMAIL_PROVIDER_OUTLOOK EmailProvider = 4
	// CISCO
	EmailProvider_EMAIL_PROVIDER_IPHMX EmailProvider = 5
	// AMAZON
	EmailProvider_EMAIL_PROVIDER_AMAZON EmailProvider = 6
	// APPLE
	EmailProvider_EMAIL_PROVIDER_APPLE EmailProvider = 7
	// MIMECAST
	EmailProvider_EMAIL_PROVIDER_MIMECAST EmailProvider = 8
	// ALIBABA
	EmailProvider_EMAIL_PROVIDER_ALIBABA EmailProvider = 9
	// protonmail.ch
	EmailProvider_EMAIL_PROVIDER_PROTONMAIL EmailProvider = 10
	// yahoodns.net
	EmailProvider_EMAIL_PROVIDER_YAHOO EmailProvider = 11
	// prodigy.net
	EmailProvider_EMAIL_PROVIDER_INFINITUM EmailProvider = 12
	// qq.com
	EmailProvider_EMAIL_PROVIDER_QQ EmailProvider = 13
	// cloudfilter.net
	EmailProvider_EMAIL_PROVIDER_CLOUDFILTER EmailProvider = 14
	// icloud.com
	EmailProvider_EMAIL_PROVIDER_ICLOUD EmailProvider = 15
	// mail.com
	EmailProvider_EMAIL_PROVIDER_MAIL EmailProvider = 16
	// ppe-hosted.com
	EmailProvider_EMAIL_PROVIDER_PPEHOSTED EmailProvider = 17
	// mail.ru
	EmailProvider_EMAIL_PROVIDER_MAILRU EmailProvider = 18
	// messagelabs.com.
	EmailProvider_EMAIL_PROVIDER_MESSAGELABS EmailProvider = 19
	// cscdns.net.
	EmailProvider_EMAIL_PROVIDER_CSCDNS EmailProvider = 20
	// mailerhost.net.
	EmailProvider_EMAIL_PROVIDER_MAILERHOST EmailProvider = 21
	// barracudanetworks.com.
	EmailProvider_EMAIL_PROVIDER_BARRACUDANETWORKS EmailProvider = 22
	// mxrecord.io.
	EmailProvider_EMAIL_PROVIDER_CLOUDFLARE EmailProvider = 23
	// fireeyecloud.com
	EmailProvider_EMAIL_PROVIDER_FIREEYE EmailProvider = 24
	// microsoft.com. this is a different MX record to outlook
	EmailProvider_EMAIL_PROVIDER_MICROSOFT EmailProvider = 25
	// hostedemail.com.
	EmailProvider_EMAIL_PROVIDER_HOSTEDEMAIL EmailProvider = 26
	// zoho.com.
	EmailProvider_EMAIL_PROVIDER_ZOHO EmailProvider = 27
	// trendmicro.com.
	EmailProvider_EMAIL_PROVIDER_TRENDMICRO EmailProvider = 28
	// above.com.
	EmailProvider_EMAIL_PROVIDER_ABOVE EmailProvider = 29
	// mailcontrol.com.
	EmailProvider_EMAIL_PROVIDER_MAILCONTROL EmailProvider = 30
	// centurylink.com.
	EmailProvider_EMAIL_PROVIDER_CENTURYLINK EmailProvider = 31
	// chartercom.com.
	EmailProvider_EMAIL_PROVIDER_CHARTERCOM EmailProvider = 32
	// gpphosted.com.
	EmailProvider_EMAIL_PROVIDER_GPPHOSTED EmailProvider = 33
	// frontbridge.com.
	EmailProvider_EMAIL_PROVIDER_FRONTBRIDGE EmailProvider = 34
)

func (EmailProvider) Descriptor added in v0.2.3

func (EmailProvider) Enum added in v0.2.3

func (x EmailProvider) Enum() *EmailProvider

func (EmailProvider) EnumDescriptor deprecated added in v0.2.3

func (EmailProvider) EnumDescriptor() ([]byte, []int)

Deprecated: Use EmailProvider.Descriptor instead.

func (EmailProvider) Number added in v0.2.3

func (EmailProvider) String added in v0.2.3

func (x EmailProvider) String() string

func (EmailProvider) Type added in v0.2.3

type EmailType

type EmailType int32

The type of email address.

const (
	EmailType_EMAIL_TYPE_UNSPECIFIED EmailType = 0
	// EMAIL_TYPE_PUBLIC indicates the email address is publicly available, such
	// as from Gmail, Yahoo, Hotmail etc.
	EmailType_EMAIL_TYPE_PUBLIC EmailType = 1
	// EMAIL_TYPE_DISPOSABLE indicates the email address is disposable.
	EmailType_EMAIL_TYPE_DISPOSABLE EmailType = 2
	// EMAIL_TYPE_COMPANY indicates the email address is from a company.
	EmailType_EMAIL_TYPE_COMPANY EmailType = 3
	// EMAIL_TYPE_OTHER indicates the email address is of a type not captured with
	// the other values.
	EmailType_EMAIL_TYPE_OTHER EmailType = 4
	// EMAIL_TYPE_EDUCATION indicates the email address is from an educational
	// instutition, e.g. email@stanford.edu.
	EmailType_EMAIL_TYPE_EDUCATION EmailType = 5
	// EMAIL_TYPE_NFP indicates the email address is from a non-profit.
	EmailType_EMAIL_TYPE_NFP EmailType = 6
)

func (EmailType) Descriptor

func (EmailType) Descriptor() protoreflect.EnumDescriptor

func (EmailType) Enum

func (x EmailType) Enum() *EmailType

func (EmailType) EnumDescriptor deprecated

func (EmailType) EnumDescriptor() ([]byte, []int)

Deprecated: Use EmailType.Descriptor instead.

func (EmailType) Number

func (x EmailType) Number() protoreflect.EnumNumber

func (EmailType) String

func (x EmailType) String() string

func (EmailType) Type

type Event

type Event struct {

	// The event type can be either one of Upollo's EventTypes or a custom one.
	//
	// Types that are assignable to EventType:
	//
	//	*Event_EventTypeEnum
	//	*Event_CustomerDefinedEventType
	EventType isEvent_EventType `protobuf_oneof:"event_type"`
	// The timestamp that the event occurred.
	Timestamp *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// contains filtered or unexported fields
}

An event, such as a user logging in.

func (*Event) Descriptor deprecated

func (*Event) Descriptor() ([]byte, []int)

Deprecated: Use Event.ProtoReflect.Descriptor instead.

func (*Event) GetCustomerDefinedEventType

func (x *Event) GetCustomerDefinedEventType() string

func (*Event) GetEventType

func (m *Event) GetEventType() isEvent_EventType

func (*Event) GetEventTypeEnum

func (x *Event) GetEventTypeEnum() EventType

func (*Event) GetTimestamp

func (x *Event) GetTimestamp() *timestamppb.Timestamp

func (*Event) ProtoMessage

func (*Event) ProtoMessage()

func (*Event) ProtoReflect

func (x *Event) ProtoReflect() protoreflect.Message

func (*Event) Reset

func (x *Event) Reset()

func (*Event) String

func (x *Event) String() string

type EventResponse

type EventResponse struct {

	// A token which can be sent to your own server so it can dig into the
	// assessment of a user following events being reported for tracking by
	// your client application.
	EventToken string `protobuf:"bytes,1,opt,name=event_token,json=eventToken,proto3" json:"event_token,omitempty"`
	// contains filtered or unexported fields
}

func (*EventResponse) Descriptor deprecated

func (*EventResponse) Descriptor() ([]byte, []int)

Deprecated: Use EventResponse.ProtoReflect.Descriptor instead.

func (*EventResponse) GetEventToken

func (x *EventResponse) GetEventToken() string

func (*EventResponse) ProtoMessage

func (*EventResponse) ProtoMessage()

func (*EventResponse) ProtoReflect

func (x *EventResponse) ProtoReflect() protoreflect.Message

func (*EventResponse) Reset

func (x *EventResponse) Reset()

func (*EventResponse) String

func (x *EventResponse) String() string

type EventType

type EventType int32

Events relating to general user activity in the application.

const (
	EventType_EVENT_TYPE_UNSPECIFIED EventType = 0
	// EVENT_TYPE_LOGIN should be sent immediately before a login attempt. The
	// login may still fail due to invalid credentials, and this is fine because
	// the EVENT_TYPE_LOGIN_SUCCESS is for when the login is actually successful.
	EventType_EVENT_TYPE_LOGIN EventType = 1
	// EVENT_TYPE_REGISTER should be sent immediately before a customer a customer
	// attempts to register an account.
	EventType_EVENT_TYPE_REGISTER EventType = 2
	// EVENT_TYPE_ATTEMPT_PURCHASE should be sent immediately before a purchase.
	// attempt You should track this event regardless of whether the purchase
	// succeeds or fails. If the purchase succeeds, you should additionally track
	// EVENT_TYPE_COMPLETE_PURCHASE.
	EventType_EVENT_TYPE_ATTEMPT_PURCHASE EventType = 3
	// EVENT_TYPE_COMPLETE_PURCHASE should be sent immediately after a successful
	// purchase.
	EventType_EVENT_TYPE_COMPLETE_PURCHASE EventType = 4
	// EVENT_TYPE_ATTEMPT_REDEEM_OFFER should be sent immediately before an
	// attempt to redeem an offer. You should track this event regardless of
	// whether the redemption succeeds or fails. If the redemption succeeds,
	// you should additionally track EVENT_TYPE_REDEEMED_OFFER.
	EventType_EVENT_TYPE_ATTEMPT_REDEEM_OFFER EventType = 5
	// EVENT_TYPE_REDEEMED_OFFER should be sent after the customer has
	// successfully redeemed an offer.
	EventType_EVENT_TYPE_REDEEMED_OFFER EventType = 6
	// EVENT_TYPE_ADD_PAYMENT_METHOD should be sent immediately after the customer
	// has successfully added a new payment method.
	EventType_EVENT_TYPE_ADD_PAYMENT_METHOD EventType = 11
	// EVENT_TYPE_START_SUBSCRIPTION should be sent immediately after a
	// subscription has started.
	EventType_EVENT_TYPE_START_SUBSCRIPTION EventType = 14
	// EVENT_TYPE_END_SUBSCRIPTION should be sent immediately after a subscription
	// is ended.
	EventType_EVENT_TYPE_END_SUBSCRIPTION EventType = 15
	// EVENT_TYPE_HEARTBEAT should be sent at regular intervals if no other events
	// are sent. We recommend every 30 minutes.
	EventType_EVENT_TYPE_HEARTBEAT EventType = 16
	// EVENT_TYPE_PAGE_VISIT should be sent when a page or screen is loaded.
	EventType_EVENT_TYPE_PAGE_VISIT EventType = 17
	// EVENT_TYPE_LOGIN_SUCCESS should be sent immediately after a successful
	// login. This does not include a token renewal.
	EventType_EVENT_TYPE_LOGIN_SUCCESS EventType = 18
	// EVENT_TYPE_REGISTER_SUCCESS should be sent after the customer has
	// successfully registered a new account.
	EventType_EVENT_TYPE_REGISTER_SUCCESS EventType = 19
	// EVENT_TYPE_INTERNAL is used internally and you should not use it.
	EventType_EVENT_TYPE_INTERNAL EventType = 20
	// Deprecated fields: do not use.
	//
	// Deprecated: Marked as deprecated in userwatch_public.proto.
	EventType_EVENT_TYPE_VERIFY_DEVICE EventType = 7
	// Deprecated: Marked as deprecated in userwatch_public.proto.
	EventType_EVENT_TYPE_REPORT_DEVICE EventType = 8
	// Deprecated: Marked as deprecated in userwatch_public.proto.
	EventType_EVENT_TYPE_ADD_TEAM_MEMBER EventType = 9
	// Deprecated: Marked as deprecated in userwatch_public.proto.
	EventType_EVENT_TYPE_REMOVE_TEAM_MEMBER EventType = 10
	// Deprecated: Marked as deprecated in userwatch_public.proto.
	EventType_EVENT_TYPE_ATTEMPT_DELETE_ACCOUNT EventType = 12
	// Deprecated: Marked as deprecated in userwatch_public.proto.
	EventType_EVENT_TYPE_CUSTOMER_DEFINED EventType = 13
)

func (EventType) Descriptor

func (EventType) Descriptor() protoreflect.EnumDescriptor

func (EventType) Enum

func (x EventType) Enum() *EventType

func (EventType) EnumDescriptor deprecated

func (EventType) EnumDescriptor() ([]byte, []int)

Deprecated: Use EventType.Descriptor instead.

func (EventType) Number

func (x EventType) Number() protoreflect.EnumNumber

func (EventType) String

func (x EventType) String() string

func (EventType) Type

type Event_CustomerDefinedEventType

type Event_CustomerDefinedEventType struct {
	CustomerDefinedEventType string `protobuf:"bytes,2,opt,name=customer_defined_event_type,json=customerDefinedEventType,proto3,oneof"`
}

type Event_EventTypeEnum

type Event_EventTypeEnum struct {
	EventTypeEnum EventType `protobuf:"varint,1,opt,name=event_type_enum,json=eventTypeEnum,proto3,enum=uwproto.EventType,oneof"`
}

type Flag

type Flag struct {

	// The type of flag.
	Type FlagType `protobuf:"varint,1,opt,name=type,proto3,enum=uwproto.FlagType" json:"type,omitempty"`
	// The timestamp that the flag was first flagged.
	FirstFlagged *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=first_flagged,json=firstFlagged,proto3" json:"first_flagged,omitempty"`
	// The timestamp that the flag was most recently flagged.
	MostRecentlyFlagged *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=most_recently_flagged,json=mostRecentlyFlagged,proto3" json:"most_recently_flagged,omitempty"`
	// A nil ignored_until value, or a non-nil value before the present, means
	// this flag is set and should be treated accordingly.
	// A non-nil ignored_until value which is after the present indicates this
	// flag is set, but should be ignored — i.e. treated as if not flagged.
	// The max time further indicates that the flag should be ignored forever.
	IgnoredUntil *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=ignored_until,json=ignoredUntil,proto3" json:"ignored_until,omitempty"`
	// contains filtered or unexported fields
}

func (*Flag) Descriptor deprecated

func (*Flag) Descriptor() ([]byte, []int)

Deprecated: Use Flag.ProtoReflect.Descriptor instead.

func (*Flag) GetFirstFlagged

func (x *Flag) GetFirstFlagged() *timestamppb.Timestamp

func (*Flag) GetIgnoredUntil

func (x *Flag) GetIgnoredUntil() *timestamppb.Timestamp

func (*Flag) GetMostRecentlyFlagged

func (x *Flag) GetMostRecentlyFlagged() *timestamppb.Timestamp

func (*Flag) GetType

func (x *Flag) GetType() FlagType

func (*Flag) ProtoMessage

func (*Flag) ProtoMessage()

func (*Flag) ProtoReflect

func (x *Flag) ProtoReflect() protoreflect.Message

func (*Flag) Reset

func (x *Flag) Reset()

func (*Flag) String

func (x *Flag) String() string

type FlagType

type FlagType int32

protolint:disable ENUM_FIELD_NAMES_PREFIX

const (
	FlagType_FLAG_TYPE_UNSPECIFIED FlagType = 0
	// ACCOUNT_SHARING indicates that the same account is being shared by
	// multiple people, typically on multiple devices.
	FlagType_ACCOUNT_SHARING FlagType = 1
	// ACCOUNT_SHARING_SAME_HOUSEHOLD indicates that the same account is being
	// shared by multiple people in the same household, typically on multiple
	// devices.
	FlagType_ACCOUNT_SHARING_SAME_HOUSEHOLD FlagType = 2
	// SUSPECTED_ACCOUNT_COMPROMISE indicates that the account may have been
	// compromised, as there is suspcious activity associated with the account.
	FlagType_SUSPECTED_ACCOUNT_COMPROMISE FlagType = 3
	// CREDENTIAL_STUFFING indicates that the account has been used in a
	// credential stuffing attack.
	FlagType_CREDENTIAL_STUFFING FlagType = 4
	// REPEATED_REDEMPTION indicates that the account has previous redeemed an
	// offer.
	FlagType_REPEATED_REDEMPTION FlagType = 5
	// SUSPECTED_FRAUD indicates that there is suspected fraud associated with
	// the account.
	FlagType_SUSPECTED_FRAUD FlagType = 6
	// REPEATED_SIGNUP indicates if the current event type is
	// EventType_EVENT_TYPE_REGISTER and there has previously
	// been an event of that type from this device or the email/phone
	// has already been used.
	FlagType_REPEATED_SIGNUP FlagType = 7
	// SUSPECTED_BOT indicates that the account is suspected to be a bot.
	FlagType_SUSPECTED_BOT                   FlagType = 8
	FlagType_RATE_LIMITED_IP                 FlagType = 9
	FlagType_RATE_LIMITED_DEVICE             FlagType = 10
	FlagType_BLACKLISTED_IP                  FlagType = 11
	FlagType_BLACKLISTED_DEVICE              FlagType = 12 // DEPRECATED
	FlagType_ACCOUNT_COMPROMISE_NEW_LOCATION FlagType = 13
	FlagType_ACCOUNT_COMPROMISE_NEW_DEVICE   FlagType = 14
	// The account is using a disposable email address.
	FlagType_DISPOSABLE_EMAIL             FlagType = 16
	FlagType_USING_VPN                    FlagType = 17
	FlagType_USING_TOR                    FlagType = 18
	FlagType_DEVICE_BLOCKED_GLOBALLY      FlagType = 19
	FlagType_DEVICE_BLOCKED_FOR_THIS_USER FlagType = 20
	// The email is invalid.
	FlagType_INVALID_EMAIL FlagType = 21
	// The phone number is invalid.
	FlagType_INVALID_PHONE_NUMBER FlagType = 23
	// The type of phone is invalid.
	FlagType_INVALID_PHONE_TYPE FlagType = 22
	// MULTIPLE_ACCOUNTS indicates that the same person is using multiple accounts
	// typically on the same device.
	FlagType_MULTIPLE_ACCOUNTS  FlagType = 24
	FlagType_ALREADY_USED_EMAIL FlagType = 25
	FlagType_ALREADY_USED_PHONE FlagType = 26
	// LIMITED_DEVICE_INFORMATION indicates that the device did not have
	// sufficient information to perform a detailed assessment.
	FlagType_LIMITED_DEVICE_INFORMATION FlagType = 27
	FlagType_COMMERCIAL_USER            FlagType = 28
	FlagType_PAYMENT_NAME_DIFFERS       FlagType = 29
	// TRIALED_ON_OTHER_ACCOUNT indicates that the person is currently or has in
	// meaningfully recent history trialed the product using a different account.
	FlagType_TRIALED_ON_OTHER_ACCOUNT FlagType = 30
)

func (FlagType) Descriptor

func (FlagType) Descriptor() protoreflect.EnumDescriptor

func (FlagType) Enum

func (x FlagType) Enum() *FlagType

func (FlagType) EnumDescriptor deprecated

func (FlagType) EnumDescriptor() ([]byte, []int)

Deprecated: Use FlagType.Descriptor instead.

func (FlagType) Number

func (x FlagType) Number() protoreflect.EnumNumber

func (FlagType) String

func (x FlagType) String() string

func (FlagType) Type

type Flags

type Flags struct {
	Flags []*Flag `protobuf:"bytes,1,rep,name=flags,proto3" json:"flags,omitempty"`
	// contains filtered or unexported fields
}

func (*Flags) Descriptor deprecated

func (*Flags) Descriptor() ([]byte, []int)

Deprecated: Use Flags.ProtoReflect.Descriptor instead.

func (*Flags) GetFlags

func (x *Flags) GetFlags() []*Flag

func (*Flags) ProtoMessage

func (*Flags) ProtoMessage()

func (*Flags) ProtoReflect

func (x *Flags) ProtoReflect() protoreflect.Message

func (*Flags) Reset

func (x *Flags) Reset()

func (*Flags) String

func (x *Flags) String() string

type GeoInfo

type GeoInfo struct {

	// A lat-lng for the location.
	GeoIpLatlng *LatLng `protobuf:"bytes,1,opt,name=geo_ip_latlng,json=geoIpLatlng,proto3" json:"geo_ip_latlng,omitempty"`
	// The name of the city for the location.
	GeoIpCity string `protobuf:"bytes,2,opt,name=geo_ip_city,json=geoIpCity,proto3" json:"geo_ip_city,omitempty"`
	// The name of the subregion for the location.
	GeoIpSubregion string `protobuf:"bytes,3,opt,name=geo_ip_subregion,json=geoIpSubregion,proto3" json:"geo_ip_subregion,omitempty"`
	// The name of the region for the location.
	GeoIpRegion string `protobuf:"bytes,4,opt,name=geo_ip_region,json=geoIpRegion,proto3" json:"geo_ip_region,omitempty"`
	// A timestamp for when the location was last seen.
	LastHere *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=last_here,json=lastHere,proto3" json:"last_here,omitempty"`
	// contains filtered or unexported fields
}

Encapsulates geographical information.

func (*GeoInfo) Descriptor deprecated

func (*GeoInfo) Descriptor() ([]byte, []int)

Deprecated: Use GeoInfo.ProtoReflect.Descriptor instead.

func (*GeoInfo) GetGeoIpCity

func (x *GeoInfo) GetGeoIpCity() string

func (*GeoInfo) GetGeoIpLatlng

func (x *GeoInfo) GetGeoIpLatlng() *LatLng

func (*GeoInfo) GetGeoIpRegion

func (x *GeoInfo) GetGeoIpRegion() string

func (*GeoInfo) GetGeoIpSubregion

func (x *GeoInfo) GetGeoIpSubregion() string

func (*GeoInfo) GetLastHere

func (x *GeoInfo) GetLastHere() *timestamppb.Timestamp

func (*GeoInfo) ProtoMessage

func (*GeoInfo) ProtoMessage()

func (*GeoInfo) ProtoReflect

func (x *GeoInfo) ProtoReflect() protoreflect.Message

func (*GeoInfo) Reset

func (x *GeoInfo) Reset()

func (*GeoInfo) String

func (x *GeoInfo) String() string

type KeyPerRPCCredentials

type KeyPerRPCCredentials struct {
	credentials.PerRPCCredentials
	// contains filtered or unexported fields
}

func (KeyPerRPCCredentials) GetRequestMetadata

func (key KeyPerRPCCredentials) GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error)

func (KeyPerRPCCredentials) RequireTransportSecurity

func (key KeyPerRPCCredentials) RequireTransportSecurity() bool

type LatLng

type LatLng struct {

	// The latitude in degrees. It must be in the range [-90.0, +90.0].
	Latitude float64 `protobuf:"fixed64,1,opt,name=latitude,proto3" json:"latitude,omitempty"`
	// The longitude in degrees. It must be in the range [-180.0, +180.0].
	Longitude float64 `protobuf:"fixed64,2,opt,name=longitude,proto3" json:"longitude,omitempty"`
	// contains filtered or unexported fields
}

func (*LatLng) Descriptor deprecated

func (*LatLng) Descriptor() ([]byte, []int)

Deprecated: Use LatLng.ProtoReflect.Descriptor instead.

func (*LatLng) GetLatitude

func (x *LatLng) GetLatitude() float64

func (*LatLng) GetLongitude

func (x *LatLng) GetLongitude() float64

func (*LatLng) ProtoMessage

func (*LatLng) ProtoMessage()

func (*LatLng) ProtoReflect

func (x *LatLng) ProtoReflect() protoreflect.Message

func (*LatLng) Reset

func (x *LatLng) Reset()

func (*LatLng) String

func (x *LatLng) String() string

type NullableBool

type NullableBool int32

NullableBool is used to support optional booleans (i.e. booleans that may not be set).

const (
	NullableBool_NULLABLE_BOOL_UNSPECIFIED NullableBool = 0
	NullableBool_NULLABLE_BOOL_FALSE       NullableBool = 1
	NullableBool_NULLABLE_BOOL_TRUE        NullableBool = 2
)

func (NullableBool) Descriptor

func (NullableBool) Enum

func (x NullableBool) Enum() *NullableBool

func (NullableBool) EnumDescriptor deprecated

func (NullableBool) EnumDescriptor() ([]byte, []int)

Deprecated: Use NullableBool.Descriptor instead.

func (NullableBool) Number

func (NullableBool) String

func (x NullableBool) String() string

func (NullableBool) Type

type Outcome

type Outcome int32

The recommended action based on Upollo's analysis. See the other information

in the AnalysisReponse for reasons behind the outcome.
const (
	Outcome_OUTCOME_UNSPECIFIED Outcome = 0
	// OUTCOME_DENY indicates the user should be denied access.
	Outcome_OUTCOME_DENY Outcome = 1
	// OUTCOME_CHALLENGE indicates there is something suspcious about the user, so
	// they should be sent a challenge (e.g. SMS) to confirm their identiy.
	Outcome_OUTCOME_CHALLENGE Outcome = 2
	// OUTCOME_PERMIT indicates the user is genuine.
	Outcome_OUTCOME_PERMIT           Outcome = 3
	Outcome_OUTCOME_OFFER            Outcome = 4
	Outcome_OUTCOME_LOG              Outcome = 5
	Outcome_OUTCOME_CUSTOMER_DEFINED Outcome = 6
)

func (Outcome) Descriptor

func (Outcome) Descriptor() protoreflect.EnumDescriptor

func (Outcome) Enum

func (x Outcome) Enum() *Outcome

func (Outcome) EnumDescriptor deprecated

func (Outcome) EnumDescriptor() ([]byte, []int)

Deprecated: Use Outcome.Descriptor instead.

func (Outcome) Number

func (x Outcome) Number() protoreflect.EnumNumber

func (Outcome) String

func (x Outcome) String() string

func (Outcome) Type

func (Outcome) Type() protoreflect.EnumType

type PhoneInvalidReason

type PhoneInvalidReason int32

Reasons why a phone number is invalid.

const (
	PhoneInvalidReason_PHONE_INVALID_REASON_UNSPECIFIED PhoneInvalidReason = 0
	// PHONE_INVALID_REASON_NUMBER_FORMAT indicates the format of the phone
	// number is not valid.
	PhoneInvalidReason_PHONE_INVALID_REASON_NUMBER_FORMAT PhoneInvalidReason = 1
	// PHONE_INVALID_REASON_INACTIVE_LINE indicates the phone line is inactive.
	PhoneInvalidReason_PHONE_INVALID_REASON_INACTIVE_LINE PhoneInvalidReason = 2
	// PHONE_INVALID_REASON_VOIP indicates the phone number is a VOIP number.
	PhoneInvalidReason_PHONE_INVALID_REASON_VOIP PhoneInvalidReason = 3
	// PHONE_INVALID_REASON_INVALID_TYPE indicates the type of phone number is
	// not valid.
	PhoneInvalidReason_PHONE_INVALID_REASON_INVALID_TYPE PhoneInvalidReason = 4
	// PHONE_INVALID_REASON_DISPOSABLE_PHONE indicates the phone number is a
	// known disposable number.
	PhoneInvalidReason_PHONE_INVALID_REASON_DISPOSABLE_PHONE PhoneInvalidReason = 5
)

func (PhoneInvalidReason) Descriptor

func (PhoneInvalidReason) Enum

func (PhoneInvalidReason) EnumDescriptor deprecated

func (PhoneInvalidReason) EnumDescriptor() ([]byte, []int)

Deprecated: Use PhoneInvalidReason.Descriptor instead.

func (PhoneInvalidReason) Number

func (PhoneInvalidReason) String

func (x PhoneInvalidReason) String() string

func (PhoneInvalidReason) Type

type PhoneLineType

type PhoneLineType int32

The type of phone line.

const (
	PhoneLineType_PHONE_LINE_TYPE_UNSPECIFIED PhoneLineType = 0
	// PHONE_LINE_TYPE_MOBILE indicates a mobile phone.
	PhoneLineType_PHONE_LINE_TYPE_MOBILE PhoneLineType = 1
	// PHONE_LINE_TYPE_LANDLINE indicates a landline.
	PhoneLineType_PHONE_LINE_TYPE_LANDLINE PhoneLineType = 2
	// PHONE_LINE_TYPE_VOIP indicates the phone line is voice over IP (VOIP).
	PhoneLineType_PHONE_LINE_TYPE_VOIP PhoneLineType = 3
	// PHONE_LINE_TYPE_INVALID indicates the phone line is invalid.
	PhoneLineType_PHONE_LINE_TYPE_INVALID PhoneLineType = 4
	// PHONE_LINE_TYPE_PREPAID indicates the phone line is a pre-paid line.
	PhoneLineType_PHONE_LINE_TYPE_PREPAID PhoneLineType = 5
	// PHONE_LINE_TYPE_OTHER indicates the line is of a type not captured with
	// the other values.
	PhoneLineType_PHONE_LINE_TYPE_OTHER PhoneLineType = 6
)

func (PhoneLineType) Descriptor

func (PhoneLineType) Enum

func (x PhoneLineType) Enum() *PhoneLineType

func (PhoneLineType) EnumDescriptor deprecated

func (PhoneLineType) EnumDescriptor() ([]byte, []int)

Deprecated: Use PhoneLineType.Descriptor instead.

func (PhoneLineType) Number

func (PhoneLineType) String

func (x PhoneLineType) String() string

func (PhoneLineType) Type

type PhysicalAddress

type PhysicalAddress struct {

	// The type of address (e.g. home, work).
	Type AddressType `protobuf:"varint,1,opt,name=type,proto3,enum=uwproto.AddressType" json:"type,omitempty"`
	// The address.
	Address *postaladdress.PostalAddress `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	// contains filtered or unexported fields
}

func (*PhysicalAddress) Descriptor deprecated

func (*PhysicalAddress) Descriptor() ([]byte, []int)

Deprecated: Use PhysicalAddress.ProtoReflect.Descriptor instead.

func (*PhysicalAddress) GetAddress

func (x *PhysicalAddress) GetAddress() *postaladdress.PostalAddress

func (*PhysicalAddress) GetType

func (x *PhysicalAddress) GetType() AddressType

func (*PhysicalAddress) ProtoMessage

func (*PhysicalAddress) ProtoMessage()

func (*PhysicalAddress) ProtoReflect

func (x *PhysicalAddress) ProtoReflect() protoreflect.Message

func (*PhysicalAddress) Reset

func (x *PhysicalAddress) Reset()

func (*PhysicalAddress) String

func (x *PhysicalAddress) String() string

type ShepherdClient

type ShepherdClient interface {
	// Inform Userwatch of an event in your application.
	//
	// Include any UserInfo you have, or an empty UserInfo if you have none.
	Track(ctx context.Context, in *TrackEventRequest, opts ...grpc.CallOption) (*AnalysisResponse, error)
	// Access the assessment of a user for whom an event was previously
	// registered with Userwatch via a track(UserInfo, EventType) call from
	// your client application.
	//
	// At this point you can also attach any additional UserInfo your server
	// has which your client might not have had available.
	Verify(ctx context.Context, in *VerifyRequest, opts ...grpc.CallOption) (*AnalysisResponse, error)
	// Verifying Challenge Responses
	CreateChallenge(ctx context.Context, in *CreateChallengeRequest, opts ...grpc.CallOption) (*CreateChallengeResponse, error)
	VerifyChallenge(ctx context.Context, in *ChallengeVerificationRequest, opts ...grpc.CallOption) (*ChallengeVerificationResponse, error)
	// User Management
	ApproveDevice(ctx context.Context, in *DeviceRequest, opts ...grpc.CallOption) (*DeviceResponse, error)
	ReportDevice(ctx context.Context, in *DeviceRequest, opts ...grpc.CallOption) (*DeviceResponse, error)
	GetDeviceList(ctx context.Context, in *DeviceListRequest, opts ...grpc.CallOption) (*DeviceListResponse, error)
}

ShepherdClient is the client API for Shepherd service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

func NewShepherdClient

func NewShepherdClient(cc grpc.ClientConnInterface) ShepherdClient

type ShepherdServer

type ShepherdServer interface {
	// Inform Userwatch of an event in your application.
	//
	// Include any UserInfo you have, or an empty UserInfo if you have none.
	Track(context.Context, *TrackEventRequest) (*AnalysisResponse, error)
	// Access the assessment of a user for whom an event was previously
	// registered with Userwatch via a track(UserInfo, EventType) call from
	// your client application.
	//
	// At this point you can also attach any additional UserInfo your server
	// has which your client might not have had available.
	Verify(context.Context, *VerifyRequest) (*AnalysisResponse, error)
	// Verifying Challenge Responses
	CreateChallenge(context.Context, *CreateChallengeRequest) (*CreateChallengeResponse, error)
	VerifyChallenge(context.Context, *ChallengeVerificationRequest) (*ChallengeVerificationResponse, error)
	// User Management
	ApproveDevice(context.Context, *DeviceRequest) (*DeviceResponse, error)
	ReportDevice(context.Context, *DeviceRequest) (*DeviceResponse, error)
	GetDeviceList(context.Context, *DeviceListRequest) (*DeviceListResponse, error)
	// contains filtered or unexported methods
}

ShepherdServer is the server API for Shepherd service. All implementations must embed UnimplementedShepherdServer for forward compatibility

type SignedToken

type SignedToken struct {
	Payload   []byte                 `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
	Signature []byte                 `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
	Nonce     []byte                 `protobuf:"bytes,3,opt,name=nonce,proto3" json:"nonce,omitempty"`
	Timestamp *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// contains filtered or unexported fields
}

func (*SignedToken) Descriptor deprecated

func (*SignedToken) Descriptor() ([]byte, []int)

Deprecated: Use SignedToken.ProtoReflect.Descriptor instead.

func (*SignedToken) GetNonce

func (x *SignedToken) GetNonce() []byte

func (*SignedToken) GetPayload

func (x *SignedToken) GetPayload() []byte

func (*SignedToken) GetSignature

func (x *SignedToken) GetSignature() []byte

func (*SignedToken) GetTimestamp

func (x *SignedToken) GetTimestamp() *timestamppb.Timestamp

func (*SignedToken) ProtoMessage

func (*SignedToken) ProtoMessage()

func (*SignedToken) ProtoReflect

func (x *SignedToken) ProtoReflect() protoreflect.Message

func (*SignedToken) Reset

func (x *SignedToken) Reset()

func (*SignedToken) String

func (x *SignedToken) String() string

type TrackEventRequest

type TrackEventRequest struct {
	Userinfo *UserInfo `protobuf:"bytes,1,opt,name=userinfo,proto3" json:"userinfo,omitempty"`
	Event    *Event    `protobuf:"bytes,2,opt,name=event,proto3" json:"event,omitempty"`
	// contains filtered or unexported fields
}

func (*TrackEventRequest) Descriptor deprecated

func (*TrackEventRequest) Descriptor() ([]byte, []int)

Deprecated: Use TrackEventRequest.ProtoReflect.Descriptor instead.

func (*TrackEventRequest) GetEvent

func (x *TrackEventRequest) GetEvent() *Event

func (*TrackEventRequest) GetUserinfo

func (x *TrackEventRequest) GetUserinfo() *UserInfo

func (*TrackEventRequest) ProtoMessage

func (*TrackEventRequest) ProtoMessage()

func (*TrackEventRequest) ProtoReflect

func (x *TrackEventRequest) ProtoReflect() protoreflect.Message

func (*TrackEventRequest) Reset

func (x *TrackEventRequest) Reset()

func (*TrackEventRequest) String

func (x *TrackEventRequest) String() string

type UnimplementedShepherdServer

type UnimplementedShepherdServer struct {
}

UnimplementedShepherdServer must be embedded to have forward compatible implementations.

func (UnimplementedShepherdServer) ApproveDevice

func (UnimplementedShepherdServer) CreateChallenge

func (UnimplementedShepherdServer) GetDeviceList

func (UnimplementedShepherdServer) ReportDevice

func (UnimplementedShepherdServer) Track

func (UnimplementedShepherdServer) Verify

type UnsafeShepherdServer

type UnsafeShepherdServer interface {
	// contains filtered or unexported methods
}

UnsafeShepherdServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ShepherdServer will result in compilation errors.

type UserInfo

type UserInfo struct {

	// A unique identifier for the user.
	UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// The user's email address.
	UserEmail string `protobuf:"bytes,2,opt,name=user_email,json=userEmail,proto3" json:"user_email,omitempty"`
	// The user's phone number.
	UserPhone string `protobuf:"bytes,3,opt,name=user_phone,json=userPhone,proto3" json:"user_phone,omitempty"`
	// the user's name.
	UserName string `protobuf:"bytes,4,opt,name=user_name,json=userName,proto3" json:"user_name,omitempty"`
	// An image of the user.
	UserImage string `protobuf:"bytes,5,opt,name=user_image,json=userImage,proto3" json:"user_image,omitempty"`
	// A generic map to allow you to add your own values.
	CustomerSuppliedValues map[string]string `` /* 217-byte string literal not displayed */
	// Address information, this would typically be shipping or home address
	Addresses []*PhysicalAddress `protobuf:"bytes,7,rep,name=addresses,proto3" json:"addresses,omitempty"`
	// contains filtered or unexported fields
}

Information about a user.

func (*UserInfo) Descriptor deprecated

func (*UserInfo) Descriptor() ([]byte, []int)

Deprecated: Use UserInfo.ProtoReflect.Descriptor instead.

func (*UserInfo) GetAddresses

func (x *UserInfo) GetAddresses() []*PhysicalAddress

func (*UserInfo) GetCustomerSuppliedValues

func (x *UserInfo) GetCustomerSuppliedValues() map[string]string

func (*UserInfo) GetUserEmail

func (x *UserInfo) GetUserEmail() string

func (*UserInfo) GetUserId

func (x *UserInfo) GetUserId() string

func (*UserInfo) GetUserImage

func (x *UserInfo) GetUserImage() string

func (*UserInfo) GetUserName

func (x *UserInfo) GetUserName() string

func (*UserInfo) GetUserPhone

func (x *UserInfo) GetUserPhone() string

func (*UserInfo) ProtoMessage

func (*UserInfo) ProtoMessage()

func (*UserInfo) ProtoReflect

func (x *UserInfo) ProtoReflect() protoreflect.Message

func (*UserInfo) Reset

func (x *UserInfo) Reset()

func (*UserInfo) String

func (x *UserInfo) String() string

type VerifyRequest

type VerifyRequest struct {
	EventToken            string                        `protobuf:"bytes,1,opt,name=event_token,json=eventToken,proto3" json:"event_token,omitempty"`
	Userinfo              *UserInfo                     `protobuf:"bytes,2,opt,name=userinfo,proto3" json:"userinfo,omitempty"`
	ChallengeVerification *ChallengeVerificationRequest `protobuf:"bytes,4,opt,name=challenge_verification,json=challengeVerification,proto3" json:"challenge_verification,omitempty"`
	// The following information is redundant with the event_token
	//
	// Deprecated: Marked as deprecated in userwatch_shepherd.proto.
	EventType EventType `protobuf:"varint,5,opt,name=event_type,json=eventType,proto3,enum=uwproto.EventType" json:"event_type,omitempty"`
	// Deprecated: Marked as deprecated in userwatch_shepherd.proto.
	CustomerDefinedEventType string `` /* 137-byte string literal not displayed */
	// Deprecated: Marked as deprecated in userwatch_shepherd.proto.
	SubEventType string `protobuf:"bytes,8,opt,name=sub_event_type,json=subEventType,proto3" json:"sub_event_type,omitempty"`
	// contains filtered or unexported fields
}

func (*VerifyRequest) Descriptor deprecated

func (*VerifyRequest) Descriptor() ([]byte, []int)

Deprecated: Use VerifyRequest.ProtoReflect.Descriptor instead.

func (*VerifyRequest) GetChallengeVerification

func (x *VerifyRequest) GetChallengeVerification() *ChallengeVerificationRequest

func (*VerifyRequest) GetCustomerDefinedEventType deprecated

func (x *VerifyRequest) GetCustomerDefinedEventType() string

Deprecated: Marked as deprecated in userwatch_shepherd.proto.

func (*VerifyRequest) GetEventToken

func (x *VerifyRequest) GetEventToken() string

func (*VerifyRequest) GetEventType deprecated

func (x *VerifyRequest) GetEventType() EventType

Deprecated: Marked as deprecated in userwatch_shepherd.proto.

func (*VerifyRequest) GetSubEventType deprecated

func (x *VerifyRequest) GetSubEventType() string

Deprecated: Marked as deprecated in userwatch_shepherd.proto.

func (*VerifyRequest) GetUserinfo

func (x *VerifyRequest) GetUserinfo() *UserInfo

func (*VerifyRequest) ProtoMessage

func (*VerifyRequest) ProtoMessage()

func (*VerifyRequest) ProtoReflect

func (x *VerifyRequest) ProtoReflect() protoreflect.Message

func (*VerifyRequest) Reset

func (x *VerifyRequest) Reset()

func (*VerifyRequest) String

func (x *VerifyRequest) String() string

type WebHookRequest

type WebHookRequest struct {
	Analysis   *AnalysisResponse `protobuf:"bytes,1,opt,name=analysis,proto3" json:"analysis,omitempty"`
	ProjectId  string            `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	Urls       []string          `protobuf:"bytes,3,rep,name=urls,proto3" json:"urls,omitempty"`
	WebHookKey string            `protobuf:"bytes,4,opt,name=web_hook_key,json=webHookKey,proto3" json:"web_hook_key,omitempty"`
	// contains filtered or unexported fields
}

func (*WebHookRequest) Descriptor deprecated

func (*WebHookRequest) Descriptor() ([]byte, []int)

Deprecated: Use WebHookRequest.ProtoReflect.Descriptor instead.

func (*WebHookRequest) GetAnalysis

func (x *WebHookRequest) GetAnalysis() *AnalysisResponse

func (*WebHookRequest) GetProjectId

func (x *WebHookRequest) GetProjectId() string

func (*WebHookRequest) GetUrls

func (x *WebHookRequest) GetUrls() []string

func (*WebHookRequest) GetWebHookKey

func (x *WebHookRequest) GetWebHookKey() string

func (*WebHookRequest) ProtoMessage

func (*WebHookRequest) ProtoMessage()

func (*WebHookRequest) ProtoReflect

func (x *WebHookRequest) ProtoReflect() protoreflect.Message

func (*WebHookRequest) Reset

func (x *WebHookRequest) Reset()

func (*WebHookRequest) String

func (x *WebHookRequest) String() string

type WebHookResponse

type WebHookResponse struct {
	Analysis  *AnalysisResponse      `protobuf:"bytes,1,opt,name=analysis,proto3" json:"analysis,omitempty"`
	Timestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// contains filtered or unexported fields
}

func (*WebHookResponse) Descriptor deprecated

func (*WebHookResponse) Descriptor() ([]byte, []int)

Deprecated: Use WebHookResponse.ProtoReflect.Descriptor instead.

func (*WebHookResponse) GetAnalysis

func (x *WebHookResponse) GetAnalysis() *AnalysisResponse

func (*WebHookResponse) GetTimestamp

func (x *WebHookResponse) GetTimestamp() *timestamppb.Timestamp

func (*WebHookResponse) ProtoMessage

func (*WebHookResponse) ProtoMessage()

func (*WebHookResponse) ProtoReflect

func (x *WebHookResponse) ProtoReflect() protoreflect.Message

func (*WebHookResponse) Reset

func (x *WebHookResponse) Reset()

func (*WebHookResponse) String

func (x *WebHookResponse) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL