redactrs 0.1.0

Wrapper to avoid accidentally leaking sensitive data during printing/logging
Documentation

Redactrs

What is it?

Redactrs is a wrapper for sensitive data that you want to avoid being leaked by accidentally printing/logging/etc. them.

How the data is redacted is defined by the Redactor. A Redactor is a struct that implements the Redactor-trait.

Usage

In it's most basic form, Redacted is used like this:

use redact::Redacted;

let x: Redacted<&str> = "sensitive".into();

assert_eq!(x.to_string(), "<redacted>");

This will by default use the Simple-Redactor. If desired, it can be swapped with the Custom-Redactor.

use redact::Redacted;
use redact::redactors::Custom;

let x: Redacted<&str, Custom<'X', 5>> = "sensitive".into();

assert_eq!(x.to_string(), "XXXXX");

To get back the wrapped type, you can either use .into_inner() which consumes the Redacted and returns the wrapped type or use .inner()/.inner_mut() for a (non mutable) reference of the wrapped type.