#derive-debug #macro-derive #sensitive #fields #replacement #secret #hides

macro securefmt

Drop-in replacement for the Debug derive macro that hides fields marked as sensitive

5 releases

0.1.4 May 7, 2021
0.1.3 May 7, 2021
0.1.2 Apr 25, 2021
0.1.1 Mar 21, 2021
0.1.0 Mar 20, 2021

#25 in #sensitive

Download history 211/week @ 2023-11-20 124/week @ 2023-11-27 273/week @ 2023-12-04 279/week @ 2023-12-11 399/week @ 2023-12-18 129/week @ 2023-12-25 33/week @ 2024-01-01 142/week @ 2024-01-08 222/week @ 2024-01-15 205/week @ 2024-01-22 340/week @ 2024-01-29 286/week @ 2024-02-05 251/week @ 2024-02-12 152/week @ 2024-02-19 323/week @ 2024-02-26 176/week @ 2024-03-04

903 downloads per month
Used in camo-url

BSD-3-Clause

26KB
534 lines

securefmt

Build Status Latest Version Docs

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 }

Dependencies

~1.5MB
~38K SLoC