New in version 1.2.0
The co-signing prompt now shows which request is asking to sign, and marks that label as unverified when nothing has proven it, so a name on its own cannot suggest the request was checked. Random number generation that cannot reach a trusted source now stops the operation instead of quietly continuing with a weaker one. A legacy key share is erased only after a copy is confirmed stored. Stored values are bound to the key they were saved under, so a value cannot be read back under a different key
Keep is a FROST (Flexible Round-Optimized Schnorr Threshold Signatures) threshold signing app and dedicated Nostr event signer for Android. It lets you hold FROST key shares on your phone and sign Nostr events without any single device ever holding the full private key.
Keep implements the NIP-55 Android Signer protocol and NIP-46 remote signing, so any compatible Nostr client can request signatures directly.
Features:
- FROST threshold signing (2-of-3, 3-of-5, etc.)
- NIP-55 Android Signer protocol
- NIP-46 remote signing (bunker service)
- Import and export FROST shares via QR code or text
- Multiple account support
- Per-app signing permissions and policies
- Biometric and PIN authentication
- Hardware-backed key storage (Android Keystore)
- NIP-44 encryption and decryption
- SOCKS proxy support (Tor)
- Encrypted backup and restore
Versions
Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.
Download F-Droid
-
x86_64
This version requires Android 13 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
view network connections
Allows the app to view information about network connections such as which networks exist and are connected.
-
take pictures and videos
This app can take pictures and record videos using the camera while the app is in use.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "specialUse"
Allows the app to make use of foreground services with the type "specialUse"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
show notifications
Allows the app to show notifications
-
run at startup
Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
-
use biometric hardware
Allows the app to use biometric hardware for authentication
-
use fingerprint hardware
Allows the app to use fingerprint hardware for authentication
-
display notifications as full screen activities on a locked device
Allows the app to display notifications as full screen activities on a locked device
-
io.privkey.keep.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
26 MiB
PGP Signature
|
Build Log
-
arm64-v8a
This version requires Android 13 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
view network connections
Allows the app to view information about network connections such as which networks exist and are connected.
-
take pictures and videos
This app can take pictures and record videos using the camera while the app is in use.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "specialUse"
Allows the app to make use of foreground services with the type "specialUse"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
show notifications
Allows the app to show notifications
-
run at startup
Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
-
use biometric hardware
Allows the app to use biometric hardware for authentication
-
use fingerprint hardware
Allows the app to use fingerprint hardware for authentication
-
display notifications as full screen activities on a locked device
Allows the app to display notifications as full screen activities on a locked device
-
io.privkey.keep.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
24 MiB
PGP Signature
|
Build Log
New in version 1.1.9
Signing history entries can no longer be recorded with a time earlier than the entry before them, so a clock correction or a changed device clock cannot make one approval appear to precede another. Restoring a backup now keeps each share's recorded backed-up state instead of marking everything backed up, so the reminder to back up a share still appears when it should.
-
x86_64
This version requires Android 13 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
view network connections
Allows the app to view information about network connections such as which networks exist and are connected.
-
take pictures and videos
This app can take pictures and record videos using the camera while the app is in use.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "specialUse"
Allows the app to make use of foreground services with the type "specialUse"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
show notifications
Allows the app to show notifications
-
run at startup
Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
-
use biometric hardware
Allows the app to use biometric hardware for authentication
-
use fingerprint hardware
Allows the app to use fingerprint hardware for authentication
-
display notifications as full screen activities on a locked device
Allows the app to display notifications as full screen activities on a locked device
-
io.privkey.keep.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
26 MiB
PGP Signature
|
Build Log
-
arm64-v8a
This version requires Android 13 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
view network connections
Allows the app to view information about network connections such as which networks exist and are connected.
-
take pictures and videos
This app can take pictures and record videos using the camera while the app is in use.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "specialUse"
Allows the app to make use of foreground services with the type "specialUse"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
show notifications
Allows the app to show notifications
-
run at startup
Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
-
use biometric hardware
Allows the app to use biometric hardware for authentication
-
use fingerprint hardware
Allows the app to use fingerprint hardware for authentication
-
display notifications as full screen activities on a locked device
Allows the app to display notifications as full screen activities on a locked device
-
io.privkey.keep.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
24 MiB
PGP Signature
|
Build Log
New in version 1.1.8
Adds first-run onboarding: guidance on FROST key shares and a sign-policy choice during setup. Also brings the app listing screenshots. No other functional changes.
-
x86_64
This version requires Android 13 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
view network connections
Allows the app to view information about network connections such as which networks exist and are connected.
-
take pictures and videos
This app can take pictures and record videos using the camera while the app is in use.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "specialUse"
Allows the app to make use of foreground services with the type "specialUse"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
show notifications
Allows the app to show notifications
-
run at startup
Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
-
use biometric hardware
Allows the app to use biometric hardware for authentication
-
use fingerprint hardware
Allows the app to use fingerprint hardware for authentication
-
display notifications as full screen activities on a locked device
Allows the app to display notifications as full screen activities on a locked device
-
io.privkey.keep.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
26 MiB
PGP Signature
|
Build Log
-
arm64-v8a
This version requires Android 13 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Permissions
-
view network connections
Allows the app to view information about network connections such as which networks exist and are connected.
-
take pictures and videos
This app can take pictures and record videos using the camera while the app is in use.
-
run foreground service
Allows the app to make use of foreground services.
-
run foreground service with the type "specialUse"
Allows the app to make use of foreground services with the type "specialUse"
-
have full network access
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
-
show notifications
Allows the app to show notifications
-
run at startup
Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
-
use biometric hardware
Allows the app to use biometric hardware for authentication
-
use fingerprint hardware
Allows the app to use fingerprint hardware for authentication
-
display notifications as full screen activities on a locked device
Allows the app to display notifications as full screen activities on a locked device
-
io.privkey.keep.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Download APK
23 MiB
PGP Signature
|
Build Log