Skip to main content

Crate use_secret

Crate use_secret 

Source
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§

MaskedSecret
A wrapper that never exposes its value through Debug or Display.
SecretName
SecretReference

Enums§

SecretKind
Secret kind labels.
SecretParseError
Error returned when a secret label cannot be parsed.
SecretProvider
Secret provider labels.
SecretRedaction
Secret redaction strategy labels.
SecretRotationStatus
Secret rotation status labels.
SecretScope
Secret scope labels.
SecretSensitivity
Secret sensitivity labels.
SecretTextError
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 count characters in a value.
mask_keep_prefix_suffix
Masks the middle while keeping a prefix and suffix.