# Private Key Management
LDK has "default implementations", but you can choose to provide private keys to LDK in any way you wish following a simple API. LDK even supports a generic API for signing transactions, allowing you to run LDK without any private keys in memory and/or putting private keys only on hardware wallets.
While LDK's default implementation is currently within Rust-Lightning, it is still considered a sample module.