Expand description
§use-secret
Secret classification, masking, and secret-reference primitives for RustUse.
§Experimental
use-secret is experimental while the use-security workspace remains below 0.3.0. Expect small API adjustments during the first release wave.
§Example
use use_secret::{MaskedSecret, SecretReference, mask_keep_last};
let reference = SecretReference::new("prod/database/password")?;
let masked = MaskedSecret::new("super-secret-token");
assert_eq!(reference.as_str(), "prod/database/password");
assert_eq!(mask_keep_last("abcdef", 2), "****ef");
assert_eq!(format!("{masked:?}"), "MaskedSecret(\"<redacted>\")");§Scope
- Secret kind, provider, scope, sensitivity, and rotation labels.
- Secret names and references.
- Simple masking helpers and redacted secret wrappers.
§Non-goals
- Secret generation.
- Secret storage, encryption, retrieval, or synchronization.
- Secret scanning or pattern classification beyond local metadata.
§License
Licensed under either of the following, at your option:
- Apache License, Version 2.0
- MIT license
Structs§
- Masked
Secret - A wrapper that never exposes its value through
DebugorDisplay. - Secret
Name - Secret
Reference
Enums§
- Secret
Kind - Secret kind labels.
- Secret
Parse Error - Error returned when a secret label cannot be parsed.
- Secret
Provider - Secret provider labels.
- Secret
Redaction - Secret redaction strategy labels.
- Secret
Rotation Status - Secret rotation status labels.
- Secret
Scope - Secret scope labels.
- Secret
Sensitivity - Secret sensitivity labels.
- Secret
Text Error - Error returned when secret text metadata is invalid.
Functions§
- mask_
all - Masks every character in a value.
- mask_
keep_ last - Masks all but the last
countcharacters in a value. - mask_
keep_ prefix_ suffix - Masks the middle while keeping a prefix and suffix.