Sobre el proyecto
Keep es una aplicación Android para firmas de umbral FROST (Flexible Round-Optimized Schnorr Threshold Signatures), construida como un firmador de eventos Nostr dedicado. Permite a los usuarios mantener acciones de clave FROST en su teléfono y firmar eventos Nostr sin que ningún dispositivo tenga nunca la clave privada completa. Implementa el protocolo de firmador Android NIP-55 (intents y content provider) y la firma remota NIP-46 (servicio bunker), por lo que los clientes Nostr compatibles pueden solicitar firmas directamente.
Capacidades clave descritas en el README:
- Firma de umbral FROST con esquemas configurables como 2-de-3 y 3-de-5.
- Protocolo de firmador Android NIP-55 y firma remota NIP-46.
- Importación y exportación de acciones FROST mediante código QR o texto, además de importación de claves nsec existentes.
- Soporte de múltiples cuentas con permisos y políticas de firma por aplicación.
- Historial de firmas y registro de auditoría.
- Autenticación biométrica y PIN, con almacenamiento de claves respaldado por hardware mediante Android Keystore.
- Un interruptor de emergencia para la eliminación de claves.
- Soporte de proxy SOCKS (Tor) y fijación de certificados para conexiones de relay.
- Cifrado y descifrado NIP-44, además de operaciones NIP-04.
- Firma en segundo plano con límites de velocidad configurables.
- Copia de seguridad y restauración cifradas.
- Coordinación de descriptores de cartera Bitcoin para multisig.
Las operaciones NIP-55 compatibles enumeradas incluyen get_public_key, sign_event, nip04_encrypt, nip04_decrypt, nip44_encrypt, nip44_decrypt y decrypt_zap_event.
La distribución se ofrece a través de Zapstore, Obtainium, GitHub releases y F-Droid. La compilación requiere versiones fijadas de la cadena de herramientas: Rust 1.89.0, Android NDK 29.0.14206865, cargo-ndk 4.1.2 y JDK 17; la compilación falla rápidamente en caso de discrepancias. Gradle reconstruye automáticamente las bibliotecas Rust cuando cambian las fuentes. Un script permite actualizar los enlaces de Kotlin desde una compilación del host sin el NDK para la verificación de tipos, aunque dichas compilaciones fallan en tiempo de ejecución con UnsatisfiedLinkError. Otro script verifica las versiones fijadas en los scripts de compilación y los flujos de trabajo de CI.
Las contribuciones se aceptan a través de issues y pull requests de GitHub. Las traducciones son bienvenidas, con idiomas semilla para portugués brasileño, español, alemán y japonés; una plataforma de traducción gestionada se anota como trabajo pendiente, y CI verifica la deriva de locales. El proyecto está licenciado bajo MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.