Most Existing Ethereum Clients include wallets or signers within the full node. This bloats client software and introduces more surface area for security issues to arise. The signing software should be offline and separate from a full node client to ensure proper separation of concerns.
Signatory is a JSON-RPC API to support the generation, import, and/or storing of Ethereum Private Keys. It uses the Web3 Secret Storage Defition to store keys offline and optionally use BIP39 to generate mnemonic phrases. This software has no access to outside nodes or APIs.