Skip to main content

oxigdal_security/anonymization/
mod.rs

1//! Data anonymization.
2
3pub mod differential_privacy;
4pub mod generalization;
5pub mod masking;
6
7use serde::{Deserialize, Serialize};
8
9/// Anonymization strategy.
10#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
11pub enum AnonymizationStrategy {
12    /// Mask with fixed character.
13    Masking,
14    /// K-anonymity.
15    KAnonymity,
16    /// L-diversity.
17    LDiversity,
18    /// Differential privacy.
19    DifferentialPrivacy,
20}
21
22/// Anonymization config.
23#[derive(Debug, Clone, Serialize, Deserialize)]
24pub struct AnonymizationConfig {
25    /// Strategy to use.
26    pub strategy: AnonymizationStrategy,
27    /// Fields to anonymize.
28    pub fields: Vec<String>,
29    /// Strategy-specific parameters.
30    pub parameters: std::collections::HashMap<String, String>,
31}