pub enum IntegrityProbeOutcome {
Clean,
TrapSuspected,
TrapConfirmed,
Skipped,
}Expand description
Severity outcome of an integrity probe.
Skipped is not an error — it marks a probe that could not
run (the relevant API was not exposed on the page, e.g. an
opaque-origin iframe). Skipped probes contribute zero risk to
the aggregate score and are excluded from the denominator (so
partial probe coverage does not pull the score toward zero).
Variants§
Clean
Probe ran and the surface looks native / unpatched.
TrapSuspected
Probe ran and the surface shows an ambiguous anomaly that is consistent with either a stealth patch or a browser polyfill.
TrapConfirmed
Probe ran and the surface shows a deterministic patch
artefact (e.g. webdriver is a data property on
Navigator.prototype).
Skipped
Probe could not run (API not exposed, exception thrown, etc.). No panic, no risk contribution.
Implementations§
Source§impl IntegrityProbeOutcome
impl IntegrityProbeOutcome
Sourcepub const fn severity(self) -> f64
pub const fn severity(self) -> f64
Severity multiplier used by the score formula:
Clean→0.0(no risk contribution)TrapSuspected→0.5(ambiguous signal)TrapConfirmed→1.0(deterministic regression)Skipped→0.0AND excluded from the denominator
Exposing this as a constant helper keeps the scoring formula in one place so future risk weighting stays consistent.
Sourcepub const fn contributes(self) -> bool
pub const fn contributes(self) -> bool
true when the outcome counts toward the aggregate score
(i.e. the probe actually ran and produced a verdict).
Trait Implementations§
Source§impl Clone for IntegrityProbeOutcome
impl Clone for IntegrityProbeOutcome
Source§fn clone(&self) -> IntegrityProbeOutcome
fn clone(&self) -> IntegrityProbeOutcome
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for IntegrityProbeOutcome
impl Debug for IntegrityProbeOutcome
Source§impl<'de> Deserialize<'de> for IntegrityProbeOutcome
impl<'de> Deserialize<'de> for IntegrityProbeOutcome
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>,
Source§impl Display for IntegrityProbeOutcome
impl Display for IntegrityProbeOutcome
Source§impl Hash for IntegrityProbeOutcome
impl Hash for IntegrityProbeOutcome
Source§impl PartialEq for IntegrityProbeOutcome
impl PartialEq for IntegrityProbeOutcome
Source§impl Serialize for IntegrityProbeOutcome
impl Serialize for IntegrityProbeOutcome
impl Copy for IntegrityProbeOutcome
impl Eq for IntegrityProbeOutcome
impl StructuralPartialEq for IntegrityProbeOutcome
Auto Trait Implementations§
impl Freeze for IntegrityProbeOutcome
impl RefUnwindSafe for IntegrityProbeOutcome
impl Send for IntegrityProbeOutcome
impl Sync for IntegrityProbeOutcome
impl Unpin for IntegrityProbeOutcome
impl UnsafeUnpin for IntegrityProbeOutcome
impl UnwindSafe for IntegrityProbeOutcome
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.