Skip to content

rusty-ferris-club/redact-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Protect confidentiality with dynamic redaction by replacing sensitive data.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages