keychain-store: almacén seguro para apps de Electron y Node en macOS

Fuentes: keychain-store: secure storage for Electron and Node apps on macOS

keychain-store es una biblioteca para Node y Electron que ofrece almacenamiento seguro de credenciales en macOS aprovechando el Llavero de Protección de Datos (Data Protection Keychain), la API moderna que Apple recomienda frente al llavero antiguo basado en archivos. La librería opera sobre la API SecItem con la marca kSecUseDataProtectionKeychain habilitada y requiere que el proceso anfitrión esté firmado con un certificado válido de Apple.

Sus mecanismos centrales son los grupos de acceso por firma de código, que limitan qué aplicaciones pueden leer cada ítem, y la posibilidad de exigir autenticación del propietario del dispositivo, ya sea Touch ID o contraseña. Cada aplicación declara un conjunto de cuentas inmutables y otro de cuentas mutables: solo las mutables pueden crearse, modificarse o eliminarse. La biblioteca admite valores en texto UTF-8 y binarios (Uint8Array), permite sincronizar los ítems mediante iCloud cuando se activa la opción correspondiente y devuelve o genera aleatoriamente identificadores de instalación de 32 bytes.

El paquete incluye una guía detallada para configurar un runtime de Electron firmado para desarrollo —con un bundle identifier propio, perfil de aprovisionamiento y entitlements de Keychain Sharing— con el fin de separar los secretos locales de los de producción. La documentación contrasta además el Llavero de Protección de Datos con el llavero heredado y señala que el comando security de macOS no puede inspeccionar directamente estos ítems: deben consultarse desde la aplicación Acceso a Llaveros, en Local Items o iCloud según la configuración.