#[non_exhaustive]pub enum Check {
Show 17 variants
OsChanged,
BrowserChanged,
PlatformHintChanged,
InconsistentHints,
BrowserDowngraded,
UserAgentMissing,
MobileHintChanged,
TorOrProxyEntered,
CountryChanged,
ClientHintsMissing,
TlsChanged,
AnonymizerEntered,
IpPingPong,
OrphanedToken,
AsnChanged,
AcceptLanguageChanged,
IpPrefixChanged,
}Expand description
A risk signal compared between a session’s baseline and the current request.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
OsChanged
The operating system family changed (Android↔Linux and iOS↔macOS are compatible).
BrowserChanged
The browser family changed.
PlatformHintChanged
The Sec-CH-UA-Platform client hint changed to an incompatible platform.
InconsistentHints
The platform hint contradicts the operating system in the User-Agent.
BrowserDowngraded
Same browser, lower major version.
UserAgentMissing
The User-Agent disappeared or became unparseable.
MobileHintChanged
Sec-CH-UA-Mobile flipped.
TorOrProxyEntered
The IP moved onto a Tor exit node or an open proxy (needs an IpIntel
source that reports Anonymity).
CountryChanged
The IP moved to another country (needs an IpIntel source).
ClientHintsMissing
Client hints the session used to send disappeared.
TlsChanged
The TLS fingerprint changed while the browser version stayed the same.
AnonymizerEntered
The IP moved from a direct connection onto a VPN, hosting provider or residential proxy
(needs an IpIntel source that reports
Anonymity).
IpPingPong
The IP returned to the previous network shortly after leaving it.
OrphanedToken
The presented token was superseded and its successor never presented: a lost rotation response, or a replayed stolen token.
AsnChanged
The IP moved to another autonomous system (needs an IpIntel source).
AcceptLanguageChanged
The preferred languages changed.
IpPrefixChanged
The IP left its /24 (IPv4) or /48 (IPv6) network.
Implementations§
Trait Implementations§
impl Copy for Check
Source§impl<'de> Deserialize<'de> for Check
impl<'de> Deserialize<'de> for Check
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Check
Source§impl Ord for Check
impl Ord for Check
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialOrd for Check
impl PartialOrd for Check
impl StructuralPartialEq for Check
Auto Trait Implementations§
impl Freeze for Check
impl RefUnwindSafe for Check
impl Send for Check
impl Sync for Check
impl Unpin for Check
impl UnsafeUnpin for Check
impl UnwindSafe for Check
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more