Almacenamiento Seguro de Secretos en Node.js con cross-keychain
Deja de guardar claves API en archivos .env en texto plano. cross-keychain
es una librería TypeScript que usa el gestor de credenciales nativo de tu SO
para almacenar secretos de forma segura—macOS Keychain, Windows Credential
Manager, o Linux Secret Service. Una API, cero archivos de configuración en
texto plano.
Nacido de mcp-tool-selector (todavía en progreso), donde necesitaba
gestionar claves API para múltiples servidores MCP sin dispersar secretos en
archivos .env — o peor, commitearlos en repositorios. Se convirtió en una
utilidad multiplataforma sólida, así que la publiqué.
De un vistazo
- Funciona en macOS, Windows y Linux con soporte nativo de backend
- Proporciona tanto API programática como CLI para almacenar/recuperar secretos
- Fallback automático cuando los módulos nativos no están disponibles
- Cero dependencias en la API pública, TS-first, Node 18+, ESM/CJS
Docs y API: lee el repo de GitHub y la página del paquete npm.
Prueba rápida: almacenar y recuperar secretos
Uso programático:
import { setPassword, getPassword } from "cross-keychain";// Almacenar un secretoawait setPassword("myapp", "api-token", "sk-1234567890");// Recuperarlo más tardeconst token = await getPassword("myapp", "api-token");console.log(token); // "sk-1234567890"// Eliminar cuando terminesawait deletePassword("myapp", "api-token");
Uso CLI:
# Almacenar un secretonpx cross-keychain set myapp api-token# Recuperarlonpx cross-keychain get myapp api-token# Eliminarlonpx cross-keychain delete myapp api-token
Por qué importa esto
Almacenar secretos en archivos .env o de configuración en texto plano es común
pero arriesgado. Debes recordar hacerles .gitignore, rotarlos cuando se
filtran, y gestionarlos entre entornos. Los almacenes de credenciales nativos
del SO manejan esto—encriptados en reposo, controlados por acceso, e integrados
con tu sistema.
cross-keychain proporciona una API consistente entre plataformas: escribe una
vez, deja que el SO maneje el trabajo pesado.
Mi tercer proyecto diseñado por IA (después de mcp-server-giphy y env-interpolation), construido con múltiples agentes de IA. ¿Cansado de gestionar secretos en texto plano? Esto simplifica todo.
Cuándo usar cross-keychain
Esta librería es ideal para:
- Herramientas CLI que necesitan almacenar tokens API entre sesiones
- Entornos de desarrollo donde quieres almacenamiento seguro de credenciales
- Aplicaciones locales que se autentican con servicios externos
- Cualquier app Node.js que actualmente use archivos
.envpara secretos
No es adecuada para aplicaciones del lado del servidor en producción—esas deberían usar gestores de secretos dedicados como HashiCorp Vault o soluciones de proveedores cloud.
Conclusión
Si estás construyendo herramientas Node.js que manejan credenciales, deja de
depender de archivos en texto plano. cross-keychain te da almacenamiento
seguro y nativo con una superficie de API mínima. Los secretos de tus usuarios
merecen algo mejor que credentials.json.
Artículos relacionados:
- Habilita variables de entorno en tus configuraciones con env-interpolation - Interpolación de variables para archivos de configuración
- Hice Ingeniería Inversa de mis Notas de Reuniones para Usarlas en la Terminal - Una CLI que usa cross-keychain para almacenamiento seguro de credenciales