# SPDX-FileCopyrightText: 2026 OpenBasil Contributors
#
# SPDX-License-Identifier: Apache-2.0

[package]
name = "basil-keystore-backend"
description = "Optional Basil key-store backends over db-keystore and 1Password."
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
homepage.workspace = true
repository.workspace = true
documentation = "https://docs.rs/basil-keystore-backend"
keywords = ["basil", "keystore", "keyring", "onepassword", "secrets"]
categories = ["cryptography", "authentication"]
rust-version = "1.85"
publish = true

[features]
default = []
db-keystore = ["dep:db-keystore", "dep:keyring-core"]
onepassword = ["dep:serde", "dep:serde_json", "dep:url", "dep:percent-encoding"]

[dependencies]
basil = { workspace = true }

# Direct dep only to enable `aes/zeroize` (round-key scrubbing) for aes-gcm.
aes = { workspace = true }
aes-gcm = { workspace = true }
chacha20poly1305 = { workspace = true }
db-keystore = { workspace = true, optional = true }
ed25519-dalek = { workspace = true }
keyring-core = { workspace = true, optional = true }
percent-encoding = { workspace = true, optional = true }
rand = { workspace = true }
serde = { workspace = true, optional = true, features = ["std"] }
serde_json = { workspace = true, optional = true, features = ["std"] }
thiserror = { workspace = true }
url = { workspace = true, optional = true }
zero-secrets = { workspace = true }
zeroize = { workspace = true }

[lints]
workspace = true
