AxKeyStore
AxKeyStore es una CLI open-source segura que gestiona secretos y contraseñas cifrando en el cliente y guardando solo datos cifrados en tu GitHub privado.
¿Qué es AxKeyStore?
AxKeyStore es una herramienta de interfaz de línea de comandos (CLI) segura y de código abierto para gestionar secretos, claves y contraseñas. Su propósito principal es permitirte usar tu propio repositorio privado de GitHub como almacenamiento cifrado, tratando a GitHub como almacenamiento no confiable.
Con AxKeyStore, el cifrado se realiza en el lado del cliente. Solo los datos cifrados se almacenan en el repositorio remoto de GitHub, y los secretos no se guardan en texto plano en el repositorio. La herramienta también evita almacenar secretos, claves maestras o contraseñas en forma no cifrada en el sistema de archivos local.
Características principales
- Repositorio privado de GitHub como backend cifrado: Almacena secretos en un repositorio privado que controlas, usando blobs binarios cifrados.
- Cifrado en el lado del cliente para todo el manejo de secretos: Los secretos se cifran en tu máquina antes de la subida; no se envían secretos en texto plano por la red.
- Modelo de Cero Confianza / cifrado multicapa: Usa una Clave Maestra Local (LMK) para cifrar la configuración local (incluyendo tu token de acceso a GitHub y nombre del repositorio) y una Clave Maestra Remota (RMK) para cifrar los secretos almacenados.
- Cifrado autenticado moderno y derivación de claves: El cifrado LMK usa Argon2id y XChaCha20-Poly1305; el esquema de tres capas está diseñado para que solo artefactos cifrados lleguen a GitHub.
- Autenticación unificada vía GitHub Apps y Device Flow: Se autentica de forma segura usando GitHub Apps junto con Device Flow.
- Flujo de CLI para inicialización y operaciones: Incluye comandos para iniciar sesión, inicializar un repositorio para almacenamiento y gestionar secretos con un conjunto simple de comandos.
- Organización jerárquica por categorías: Organiza secretos en categorías como
api/production/internal. - Soporte multiperfil: Gestiona múltiples bóvedas con diferentes inicios de sesión, contraseñas maestras y repositorios de GitHub.
Cómo usar AxKeyStore
- Instala la CLI: En macOS/Linux, ejecuta el script de instalación shell proporcionado. En Windows, ejecuta el script de instalación PowerShell proporcionado. Los scripts descargan el binario, lo colocan en
$HOME/.axkeystore/biny configuran tu PATH. - Inicia sesión con tu cuenta de GitHub: Ejecuta
axkeystore login. En el primer inicio de sesión, establece una Contraseña Maestra; esta contraseña se usa para cifrar el token de acceso local sensible de GitHub. - Instala la App de GitHub requerida: Durante el inicio de sesión, la CLI proporciona un enlace para instalar la App de GitHub para tu usuario u organización. Debes instalar la app para otorgar acceso al repositorio.
- Inicializa un repositorio de almacenamiento: Ejecuta
axkeystore init --repo <repo-name>(o incluye una organización/propietario comomy-org/my-secret-store). Si el repo se inicializó antes en otra máquina, AxKeyStore te lo indicará durante la inicialización.
Tras la inicialización, puedes usar la CLI para almacenar y recuperar credenciales que viven como blobs cifrados en tu repositorio privado de GitHub.
Casos de uso
- Almacena credenciales hospedadas en GitHub sin mantenerlas en texto plano: Guarda claves API, contraseñas y otros secretos en un repositorio privado donde solo se almacenan datos cifrados.
- Separa secretos por entorno o dominio usando categorías: Organiza secretos bajo categorías jerárquicas como
api/production/internalpara navegar fácilmente entre entornos diferentes. - Gestiona múltiples bóvedas en diferentes repos de GitHub: Mantén perfiles separados para diferentes repositorios y contraseñas maestras, útil al trabajar en múltiples proyectos u organizaciones.
- Bloquea el almacenamiento local de credenciales: Asegura que el token de acceso a GitHub y el nombre del repositorio (credenciales locales) estén cifrados con la Clave Maestra Local y protegidos por la Contraseña Maestra del usuario.
- Uso entre máquinas con almacenamiento remoto no confiable: Inicializa el mismo repositorio cifrado en otra máquina (indicado durante init) para que el remoto solo contenga blobs cifrados mientras cada cliente maneja el cifrado.
Preguntas frecuentes
-
¿AxKeyStore almacena secretos sin cifrar en GitHub? No. Los secretos se cifran en el lado del cliente y solo se almacenan blobs binarios cifrados en el repositorio privado de GitHub.
-
¿Se envían claves de cifrado o contraseñas maestras por la red? El proyecto indica que ningún secreto, clave maestra o contraseña en texto plano toca la red. El cifrado ocurre puramente en tu máquina.
-
¿Qué autenticación usa AxKeyStore? Usa GitHub Apps y Device Flow para autenticarse.
-
¿Cómo protege AxKeyStore los datos localmente? Usa una Clave Maestra Local (LMK) cifrada con tu Contraseña Maestra usando Argon2id y XChaCha20-Poly1305, y la LMK cifra la configuración local como el token de acceso a GitHub y el nombre del repositorio.
-
¿Qué sistemas operativos son compatibles con la instalación? El repositorio proporciona scripts de instalación para macOS/Linux (vía
install.sh) y Windows (víainstall.ps1).
Alternativas
- Otros gestores de secretos basados en CLI con cifrado del lado del cliente: Busca herramientas que cifren secretos localmente y almacenen solo el texto cifrado en un backend remoto (modelo similar de almacenamiento no confiable), típicamente usando S3, Git u otro almacenamiento.
- Gestores de contraseñas dedicados (aplicaciones basadas en vault): Usa una app local o vault de escritorio/móvil que gestione el cifrado y la sincronización; el flujo de trabajo difiere porque el backend lo gestiona el gestor de contraseñas en lugar de un repositorio GitHub privado que controlas.
- Almacenamiento de secretos basado en Git con herramientas de cifrado: Algunos enfoques almacenan archivos cifrados en Git y dependen de tus herramientas de cifrado; comparado con AxKeyStore, tú gestionarías el flujo de trabajo de cifrado tú mismo en lugar de usar la CLI dedicada y su modelo de claves.
- Gestores de secretos en la nube con cifrado gestionado: Servicios que almacenan secretos en un sistema gestionado; a diferencia del modelo descrito de AxKeyStore, el enfoque de almacenamiento no confiable del lado del cliente puede no ser el patrón de diseño principal.
Alternativas
ClawTick
ClawTick es una plataforma de automatización de agentes con IA por CLI para programar tareas con webhooks en cron: monitoreo, alertas, reintentos y logs.
Falconer
Falconer es una plataforma de conocimiento autoactualizable para equipos ágiles: escribe, comparte y encuentra documentación interna y contexto de código en un solo lugar.
OpenFlags
OpenFlags es un sistema de feature flags open source y autohospedado con control plane y SDKs para evaluaciones locales y rollouts progresivos.
skills-janitor
skills-janitor audita y registra el uso de tus habilidades de Claude Code, comparándolas con 9 acciones de slash y sin dependencias.
Rectify
Rectify es una plataforma de operaciones todo en uno para SaaS: supervisión, analíticas, soporte, roadmaps, changelogs y gestión de agentes en un espacio visual.
Studio CLI
Controla las funciones de WordPress Studio desde la terminal con Studio CLI: gestiona sitios locales y crea/actualiza/elimina previsualizaciones en WordPress.com.