Emmagatzematge Segur de Secrets en Node.js amb cross-keychain
Deixa de guardar claus API en arxius .env en text pla. cross-keychain és
una llibreria TypeScript que usa el gestor de credencials natiu del teu SO per
emmagatzemar secrets de forma segura—macOS Keychain, Windows Credential Manager,
o Linux Secret Service. Una API, zero arxius de configuració en text pla.
Nascut de mcp-tool-selector (encara en progrés), on necessitava gestionar
claus API per a múltiples servidors MCP sense dispersar secrets en arxius .env
— o pitjor, cometent-los en repositoris. Es va convertir en una utilitat
multiplataforma sòlida, així que la vaig publicar.
D'un cop d'ull
- Funciona en macOS, Windows i Linux amb suport natiu de backend
- Proporciona tant API programàtica com CLI per emmagatzemar/recuperar secrets
- Fallback automàtic quan els mòduls natius no estan disponibles
- Zero dependències en l'API pública, TS-first, Node 18+, ESM/CJS
Docs i API: llegeix el repo de GitHub i la pàgina del paquet npm.
Prova ràpida: emmagatzemar i recuperar secrets
Ús programàtic:
import { setPassword, getPassword } from "cross-keychain";// Emmagatzemar un secretawait setPassword("myapp", "api-token", "sk-1234567890");// Recuperar-lo més tardconst token = await getPassword("myapp", "api-token");console.log(token); // "sk-1234567890"// Eliminar quan acabisawait deletePassword("myapp", "api-token");
Ús CLI:
# Emmagatzemar un secretnpx cross-keychain set myapp api-token# Recuperar-lonpx cross-keychain get myapp api-token# Eliminar-lonpx cross-keychain delete myapp api-token
Per què importa això
Emmagatzemar secrets en arxius .env o de configuració en text pla és comú però
arriscat. Has de recordar fer-los .gitignore, rotar-los quan es filtren, i
gestionar-los entre entorns. Els magatzems de credencials natius del SO
gestionen això—encriptats en repòs, controlats per accés, i integrats amb el teu
sistema.
cross-keychain proporciona una API consistent entre plataformes: escriu una
vegada, deixa que el SO gestioni la feina pesada.
El meu tercer projecte dissenyat per IA (després de mcp-server-giphy i env-interpolation), construït amb múltiples agents de IA. Cansat de gestionar secrets en text pla? Això simplifica tot.
Quan usar cross-keychain
Aquesta llibreria és ideal per a:
- Eines CLI que necessiten emmagatzemar tokens API entre sessions
- Entorns de desenvolupament on vols emmagatzematge segur de credencials
- Aplicacions locals que s'autentiquen amb serveis externs
- Qualsevol app Node.js que actualment usi arxius
.envper a secrets
No és adequada per a aplicacions del costat del servidor en producció—aquestes haurien d'usar gestors de secrets dedicats com HashiCorp Vault o solucions de proveïdors cloud.
Conclusió
Si estàs construint eines Node.js que gestionen credencials, deixa de dependre
d'arxius en text pla. cross-keychain et dona emmagatzematge segur i natiu
amb una superfície d'API mínima. Els secrets dels teus usuaris mereixen quelcom
millor que credentials.json.
Articles relacionats:
- Habilita variables d'entorn a les teves configuracions amb env-interpolation - Interpolació de variables per a arxius de configuració
- Com vaig fer enginyeria inversa de les meves notes de reunions al terminal - Una CLI que usa cross-keychain per a emmagatzematge segur de credencials