[package]
name = "sanitization"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
description = "Dependency-free no_std secret memory sanitization with safe defaults and an explicit volatile wipe backend."
license.workspace = true
readme = "../../README.md"
documentation = "https://docs.rs/sanitization"
homepage.workspace = true
repository.workspace = true
keywords = ["zeroize", "secrets", "security", "no-std", "memory"]
categories = ["cryptography", "no-std", "memory-management"]
include = [
"Cargo.toml",
"src/**/*.rs",
"tests/**/*.rs",
"examples/**/*.rs",
]
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(kani)', 'cfg(miri)'] }
[dependencies]
sanitization-derive = { version = "1.2.2", path = "../sanitization-derive", optional = true }
serde = { version = "1", default-features = false, features = ["alloc"], optional = true }
subtle = { version = "2", default-features = false, optional = true }
zeroize = { version = "1", default-features = false, optional = true }
[features]
default = []
alloc = []
std = ["alloc"]
derive = ["dep:sanitization-derive"]
strict-enum-derive = ["derive", "sanitization-derive/strict-enum-derive"]
serde = ["dep:serde"]
subtle-interop = ["dep:subtle"]
zeroize-interop = ["dep:zeroize"]
memory-lock = []
wasm-compat = []
canary-check = ["memory-lock"]
random-canary = ["canary-check"]
asm-compare = []
strict-ct = ["asm-compare"]
cache-flush = []
register-scrub = []
guard-pages = []
require-fork-exclusion = ["memory-lock"]
strict-canary-check = ["random-canary"]
multi-pass-clear = []
hardware-secrets = []
split-secret = []
unsafe-wipe = []
[package.metadata.docs.rs]
all-features = true
[dev-dependencies]
serde_json = "1"
[lib]
path = "src/lib.rs"