3 releases
| 0.1.2 | Oct 17, 2022 |
|---|---|
| 0.1.1 | Oct 17, 2022 |
| 0.1.0 | Oct 17, 2022 |
#12 in #sensitive-data
939 downloads per month
34KB
649 lines
redact-engine
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 formatredact-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!
Copyright
Copyright (c) 2022 @kaplanelad. See LICENSE for further details.
lib.rs:
Redact text
Protect confidentiality with dynamic redaction by replacing sensitive data from string or JSON format
Usecase
- Redact sensitive information from a text file
- Redact JSON schema by providing
- By key
- Prefix path
- Integrate with env_logger
Usage
To see all code example
Dependencies
~3–5.5MB
~97K SLoC