redact-engine

Crates.ioredact-engine
lib.rsredact-engine
version0.1.2
sourcesrc
created_at2022-10-17 18:56:02.652942
updated_at2022-10-17 20:18:42.160413
descriptionProtect confidentiality with dynamic redaction by replacing sensitive data from string or JSON format
homepagehttps://github.com/rusty-ferris-club/redact-engine
repositoryhttps://github.com/rusty-ferris-club/redact-engine
max_upload_size
id690312
size68,271
Elad Kaplan (kaplanelad)

documentation

https://docs.rs/redact-engine/latest/redact-engine

README

redact-engine

Crates.io CI

Protect confidentiality with dynamic redaction by replacing sensitive data from string or JSON format API Docs

Usage

Add this to Cargo.toml:

[dependencies]
redact-engine = { version = "0.1.2" }

Usecase

  • Redact sensitive information from a text text file
  • Redact JSON schema by providing
    • By key
    • Prefix path
  • Redact logs (supporting env_logger)

Example:

use text_redaction::{Pattern, Redaction};

let text = "some string message that you want to redact: foo,bar";

let redaction = Redaction::new().add_value("foo")?;
let redacted_string = redaction.redact_str(text);

// println!("{}", redacted_string); 
// some string message that you want to redact: [TEXT_REDACTED],bar

To see all code example, run the command cargo run --example

Supported features

  • redact-json - Redact from JSON format
  • redact-info - Return redact capture information (position and pattern ID)

Benchmark test

Redact type function Times Size Results
Text add_patterns 1,000 70 chars 29.016 µs
Text add_values 1,000 70 chars 27.881s µs
Text redact_reader 1,000 70 chars 117.75 µs
Text redact_str_with_info 1,000 70 chars 36.532 µs
JSON add_keys 1,000 15 keys 8.5483 µs
JSON add_paths 1,000 15 keys 7.0353 µs
JSON from_value 1,000 15 keys 8.7555 µs

Contributing

We are accepting PRs. Feel free to submit PRs.

To all Contributors - you make this happen, thanks!

contributing guide

Copyright

Copyright (c) 2022 @kaplanelad. See LICENSE for further details.

Commit count: 39

cargo fmt