use serde::{Deserialize, Serialize};
#[derive(Debug, Deserialize, Serialize)]
#[serde(tag = "event")]
pub enum AuditEvent {
#[serde(rename = "approval_requested")]
ApprovalRequested {
binary: String,
secret: String,
},
#[serde(rename = "approval_result")]
ApprovalResult {
binary: String,
secret: String,
decision: String,
},
#[serde(rename = "secret_stored")]
SecretStored {
name: String,
},
#[serde(rename = "secret_revoked")]
SecretRevoked {
name: String,
},
#[serde(rename = "signal_recorded", alias = "environment_blocked")]
SignalRecorded {
tier: String,
classification: String,
},
#[serde(rename = "challenge_attempted")]
ChallengeAttempted {
passed: bool,
},
#[serde(rename = "tier_changed")]
TierChanged {
from: String,
to: String,
},
#[serde(rename = "rate_limited")]
RateLimited {
reason: String,
},
#[serde(rename = "secret_accessed")]
SecretAccessed {
binary: String,
secret: String,
},
#[serde(rename = "supervisor_leak_detected")]
SupervisorLeakDetected {
secret: String,
binary: String,
leak_count: usize,
},
#[serde(rename = "secret_store_failed")]
SecretStoreFailed {
name: String,
reason: String,
},
#[serde(rename = "fido2_enrolled")]
Fido2Enrolled {
credential_id_hash: String,
},
#[serde(rename = "fido2_disabled")]
Fido2Disabled {
credential_id_hash: String,
},
#[serde(rename = "fido2_unlock")]
Fido2Unlock {
credential_id_hash: String,
succeeded: bool,
},
}