Documentación de la CLI ark
Lee y escribe en tu bóveda cifrada de extremo a extremo desde la terminal. Tu texto sin cifrar y tu frase permanecen locales — solo el texto cifrado sale del dispositivo.
Qué es
ark es el cliente de línea de comandos oficial de KeysArk. Lleva la bóveda web a tu terminal: lista elementos, lee por ruta, guarda archivos locales, crea y actualiza entradas. Todo el cifrado y descifrado ocurre localmente con tu frase de recuperación — el servidor y el backend en la nube solo manejan texto cifrado opaco.
Instalación
npm install -g @keysark/cli
Requiere Node.js 18+. Instala el comando ark (con alias keysark).
Configuración inicial
Dos pasos: autoriza este dispositivo, luego importa tu frase.
ark login
ark login usa autorización por código de dispositivo: la terminal muestra un enlace y un código; ábrelo en tu navegador, confirma que el código coincide y aprueba. La concesión equivale a una sesión de navegador — solo puede mover texto cifrado, nunca tu frase ni tu texto sin cifrar.
ark import
ark import te pide tu frase de recuperación y establece una contraseña de desbloqueo local. La frase se cifra con una clave derivada con Argon2id y se almacena localmente (~/.keysark) — nunca se sube. El desbloqueo permanece en caché hasta 5 minutos de inactividad, así no tienes que volver a teclear la contraseña.
Referencia de comandos
ark loginAutoriza este dispositivo mediante código de dispositivo (abre el navegador para confirmar).ark importImporta una frase de recuperación y establece una contraseña de desbloqueo local.ark statusMuestra el estado del inicio de sesión y de la frase.ark infoMuestra la versión, el origen del servidor y el directorio de configuración.ark vaultsLista todas las bóvedas de la cuenta, señalando cuáles coinciden con tu frase.ark lsLista todos los elementos de la bóveda actual.ark get <path|id> [file]Descifra un elemento por ruta o ID; imprime en stdout, o escribe en un archivo si se indica uno.ark save <file> [target]Guarda un archivo local (texto o binario; el binario se almacena como elemento de archivo cifrado) en la bóveda; infiere la ruta de destino a partir del origin de git dentro de un repositorio.ark sync [folder]Sincroniza en dos sentidos una carpeta de la bóveda con un directorio local por mtime (gana el lado más reciente). En un repositorio de git la carpeta es opcional (se deduce del origin); muestra el plan y confirma primero, preservando las rutas relativas.ark reset-anchor [vault]Borra la protección contra reversión de una bóveda. Úsalo solo cuando hayas restablecido/restaurado la bóveda intencionadamente y aparezca una advertencia "index rollback detected" (lecturas) o un bloqueo (escrituras); la próxima carga vuelve a anclar a la versión remota actual.ark logoutBorra el inicio de sesión local (conserva la credencial de la frase).ark forgetElimina la credencial de la frase almacenada localmente y la caché de desbloqueo.
Opciones globales
--server <url>Sobrescribe la URL del servidor (por defecto https://keysark.com).--vault <id|label>Selecciona una bóveda por ID o etiqueta (por defecto la primera que coincida con tu frase).--no-browserNo abrir el navegador automáticamente durante el inicio de sesión.
Ejemplos comunes
Descifra un elemento a un archivo local:
ark get github.com/me/app/.env .env
Desde un directorio de proyecto, guarda .env en la bóveda (la ruta se deduce del origin de git):
cd ~/my-project ark save .env
Uso no interactivo en CI / scripts (la frase se proporciona mediante una variable de entorno):
export KEYSARK_MNEMONIC="word1 word2 … word12" ark get secure/api-key > key.txt
Variables de entorno
KEYSARK_SERVERURL del servidor (igual que --server).KEYSARK_MNEMONICProporciona la frase de recuperación directamente, omitiendo la credencial local — para CI / scripts.KEYSARK_HOMEDirectorio de configuración, por defecto ~/.keysark.KEYSARK_NO_BROWSERCuando se establece, el inicio de sesión no abre el navegador automáticamente.
Seguridad
Tu frase, tu clave maestra derivada y tu texto sin cifrar nunca salen de tu dispositivo: ark cifra y descifra localmente y solo envía texto cifrado al servidor y a la nube. La concesión del dispositivo solo puede mover texto cifrado — incluso filtrada, no revela nada dentro de tu bóveda.