Secretive is an app for storing and managing SSH keys in the Secure Enclave. It is inspired by the sekey project, but rewritten in Swift with no external dependencies and with a handy native management app.
Why?
- Safer Storage — The most common setup for SSH keys is just keeping them on disk, guarded by proper permissions. This is fine in most cases, but it's not super hard for malicious users or malware to copy your private key. If you store your keys in the Secure Enclave, it's impossible to export them, by design.
- Access Control — If your Mac has a Secure Enclave, it also has support for strong access controls like Touch ID, or authentication with Apple Watch. You can configure your keys so that they require Touch ID (or Watch) authentication before they're accessed.
- Notifications — Secretive also notifies you whenever your keys are accessed, so you're never caught off guard.
- Support for Smart Cards — For Macs without Secure Enclaves, you can configure a Smart Card (such as a YubiKey) and use it for signing as well.