Rust client for the Nvisy multimodal redaction platform.
Nvisy detects and removes sensitive information across documents, images, and audio. It combines deterministic patterns, NER, computer vision, and LLM-driven classification into auditable, policy-driven pipelines built for regulated industries such as healthcare, legal, government, and financial services.
Warning
Active development: API not stable. This project is under active development. Public APIs, configuration shapes, and on-disk formats may change without notice between releases. Pin a specific version if you depend on this in production.
[dependencies]
nvisy-sdk = "0.1"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }use nvisy_sdk::service::MonitorService;
use nvisy_sdk::{Nvisy, Result};
#[tokio::main]
async fn main() -> Result<()> {
let client = Nvisy::with_api_key("your-api-token")?;
let health = client.health(None).await?;
println!("Status: {:?}", health.status);
Ok(())
}The client can also be configured through the builder:
use std::time::Duration;
use nvisy_sdk::{Nvisy, Result};
# fn example() -> Result<()> {
let client = Nvisy::builder()
.with_api_key("your-api-token") // Required
.with_base_url("https://api.nvisy.com") // Optional
.with_user_agent("MyApp/1.0.0") // Optional
.with_timeout(Duration::from_secs(30)) // Optional
.with_max_retries(3u32) // Optional
.build()?;
# Ok(())
# }See the examples/ folder for more.
rustls-tls(default): use rustls for HTTPSnative-tls: use platform-native TLS (mutually exclusive withrustls-tls)tracing: emit tracing spans and events for HTTP requests and client lifecycle
The fastest way to get started is with Nvisy Cloud.
To run locally, see the nvisycom/runtime and nvisycom/server repositories.
See CONTRIBUTING.md for development setup and contribution guidelines.
See CHANGELOG.md for release notes and version history.
MIT License, see LICENSE.txt
- Documentation: docs.nvisy.com
- API reference: docs.rs/nvisy-sdk
- Issues: github.com/nvisycom/sdk-rs/issues
- Email: [email protected]