Expand description
Drop-in replacement for the Debug derive macro that hides fields marked as sensitive.
§Example
The following code snippet
#[derive(Debug)]
struct SensitiveData {
id: u8,
#[sensitive]
secret: u8
}
fn main() {
println!("{:?}", SensitiveData { id: 1, secret: 42 })
}
will print:
SensitiveData { id: 1, secret: <redacted> }
If the debug_mode
feature is active, the same code will print:
WARN - WARNING: securefmt debug_mode feature is active. Sensitive data may be leaked. It is strongly recommended to disable debug_mode in production releases.
SensitiveData { id: 1, secret: 42 }
Derive Macros§
- Debug
- Usage