Files
tauri-plugins-workspace/plugins/secure-storage/Cargo.toml
T
2025-10-14 18:00:19 +02:00

58 lines
2.4 KiB
TOML

[package]
name = "tauri-plugin-secure-storage"
version = "2.0.0"
edition = { workspace = true }
rust-version = "1.85"
authors = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
links = "tauri-plugin-secure-storage"
description = "Store data in the platforms' keychains."
[package.metadata.docs.rs]
rustc-args = ["--cfg", "docsrs"]
rustdoc-args = ["--cfg", "docsrs"]
# Platforms supported by the plugin
# Support levels are "full", "partial", "none", "unknown"
# Details of the support level are left to plugin maintainer
[package.metadata.platforms]
windows = { level = "full", notes = "Windows' credentials storage only protects from other accounts on that system. The main user and their apps can access your app's data." }
linux = { level = "partial", notes = "For this PoC on Linux the storage is in-memory only and will be reset on reboot." }
macos = { level = "full", notes = "May prompt for passwords twice." }
android = { level = "full", notes = "The implementation is very new and therefore not battle-tested nor audited." }
ios = { level = "full", notes = "" }
[build-dependencies]
tauri-plugin = { workspace = true, features = ["build"] }
[features]
# TODO: docs
# TODO: Check if protected works on intel as well, otherwise we may have to split this up. using protected for ios and keychain for macos and somehow making protected opt-in for apple silicon macs.
apple-keychain = ["apple-native-keyring-store/keychain"]
apple-protected = ["apple-native-keyring-store/protected"]
[dependencies]
serde = { workspace = true }
serde_json = { workspace = true }
tauri = { workspace = true }
log = { workspace = true }
thiserror = { workspace = true }
keyring-core = "0.7"
[target.'cfg(windows)'.dependencies]
windows-native-keyring-store = "0.2"
[target.'cfg(target_os = "linux")'.dependencies]
# TODO: upstream is on keyring-core@0.6 while windows & apple backends only have 0.5 and 0.7 releases.
zbus-secret-service-keyring-store = { git = "https://github.com/FabianLars/zbus-secret-service-keyring-store", features = [
"rt-tokio-crypto-rust",
] }
[target.'cfg(any(target_os = "ios", target_os = "macos"))'.dependencies]
apple-native-keyring-store = "0.2"
[target.'cfg(target_os = "android")'.dependencies]
# TODO: upstream is on keyring-core@0.6 while windows & apple backends only have 0.5 and 0.7 releases.
android-native-keyring-store = { git = "https://github.com/FabianLars/android-native-keyring-store" }