PopClip Keychain - API keys seguras en macOS
¿Cuántas veces has pegado tu API key de OpenRouter, OpenAI o Stripe en un archivo .env que luego acaba commiteado por error? ¿O en el portapapeles, en un chat, en una nota? macOS tiene un sistema de almacenamiento cifrado integrado —el Keychain— pero usarlo desde la terminal o desde Acceso a Llaveros es lento y poco práctico cuando lo que necesitas es leer rápido una key mientras trabajas.
Para resolverlo he construido JL Keychain Tools: una extensión gratuita y open source para PopClip que añade cuatro botones al menú flotante. Con ellos guardas, recuperas, listas y borras tus secrets directamente en el Keychain del usuario, sin tocar la terminal.

El flujo que ahora me ahorro
Sección titulada «El flujo que ahora me ahorro»Antes:
- Buscar la API key (en otra app, en un
.env, en un correo viejo). - Copiar a mano.
- Pegar.
- Esperar que no se vea en pantalla por accidente.
Ahora:
- Selecciono el nombre de la key (por ejemplo
openrouter-api-key). - Pulso el botón Get from Keychain del menú PopClip.
- El nombre se reemplaza por el valor real al instante.
Y para guardarla por primera vez basta con seleccionar una línea de un .env:
OPENROUTER_API_KEY="sk-or-v1-abc123..."Pulsar Save to Keychain y la extensión la guarda automáticamente con el nombre jl-openrouter-api-key. Si seleccionas solo el valor sin formato KEY=VALUE, te pregunta el nombre con un cuadro de diálogo nativo.
Las cuatro acciones
Sección titulada «Las cuatro acciones»| Botón | Qué hace |
|---|---|
| Save to Keychain | Guarda el texto seleccionado. Detecta automáticamente el formato KEY=VALUE (acepta comillas, export, espacios y comentarios #). Si no encuentra =, te pregunta el nombre. |
| Get from Keychain | Recupera la key cuyo nombre tienes seleccionado y reemplaza la selección con el valor en el sitio. |
| List Keychain (jl-*) | Abre un diálogo nativo con la lista de tus entradas. Eliges una y su valor reemplaza la selección original. |
| Delete from Keychain | Borra la entrada seleccionada tras un cuadro de confirmación. |
Todas las entradas viven en el login.keychain del usuario, cifradas por macOS y protegidas por tu contraseña o Touch ID. La extensión añade automáticamente el prefijo jl- a cada entrada para que no se mezclen con las decenas de items del sistema (Wi-Fi, contraseñas guardadas en Safari, etc.).
Cómo se instala
Sección titulada «Cómo se instala»-
Clona el repositorio o descarga el zip:
Ventana de terminal git clone https://github.com/usblsb/popclip-keychain-tools.git -
Doble clic sobre la carpeta
JlKeychainTools.popclipext. -
PopClip pregunta si quieres instalarla → confirmar.
No hay dependencias externas: la extensión solo usa herramientas que vienen con macOS (security, osascript, pbcopy).
Configuración inicial
Sección titulada «Configuración inicial»La primera vez que pulses Get, macOS te mostrará un diálogo pidiendo permiso para leer el Keychain. Marca “Permitir siempre” / “Always Allow” para que no te lo pregunte cada vez (puedes revocar el permiso después desde Acceso a Llaveros → pestaña Control de acceso).
Si tienes entradas más antiguas guardadas con otro prefijo (por ejemplo de un proyecto previo averiado- o de tu empresa mycompany-), abre PopClip → Preferencias → Extensiones → JL Keychain Tools (icono del engranaje) y rellena el campo Extra prefixes con la lista separada por comas:
averiado-,mycompany-,oldproject-A partir de ese momento la extensión también ve esas entradas en List y las acepta tal cual en Get y Delete.
Bonus: ver tus keys en Acceso a Llaveros
Sección titulada «Bonus: ver tus keys en Acceso a Llaveros»A veces quieres revisar todo lo que tienes guardado o ajustar permisos a fondo. macOS incluye una app específica para esto.
⚠️ Importante: en macOS Sequoia (15+), Apple separó el sistema en dos apps. La nueva app Contraseñas no muestra tus API keys. Necesitas abrir la clásica Acceso a Llaveros (en Aplicaciones → Utilidades).
Una vez dentro:
- Sidebar → Llaveros por omisión → login.
- Categorías → Contraseñas.
- Buscador (arriba a la derecha) → escribe
jl-o el prefijo que uses. - Doble clic en una entrada → marca Mostrar contraseña → te pide Touch ID → ves el valor.
- Pestaña Control de acceso → ahí puedes añadir
bashysecuritya la lista de “siempre permitir” para que no te pregunte más, o revocar permisos.
Si quieres exportar un inventario rápido de todos los nombres (sin valores) a un fichero de texto:
security dump-keychain 2>/dev/null \ | awk -F'"' '/"svce"<blob>=/{print $4}' \ | sort -u > ~/Desktop/keychain-inventory.txtEnlaces
Sección titulada «Enlaces»- Repositorio (código + documentación + issues): github.com/usblsb/popclip-keychain-tools
- PopClip: popclip.app
La extensión es MIT, sin telemetría, sin red. Toda la lógica vive en un único script bash de menos de 300 líneas que puedes auditar antes de instalar. Si la usas y se te ocurre algo que falte, abre un issue en el repo.