Documentação da CLI ark
Leia e escreva no seu cofre com criptografia de ponta a ponta pelo terminal. Seu texto não cifrado e sua frase permanecem locais — só o texto cifrado sai do dispositivo.
O que é
ark é o cliente de linha de comando oficial do KeysArk. Ele traz o cofre web para o seu terminal: lista itens, lê por caminho, salva arquivos locais, cria e atualiza entradas. Toda a criptografia e descriptografia acontece localmente com sua frase de recuperação — o servidor e o backend na nuvem só lidam com texto cifrado opaco.
Instalação
npm install -g @keysark/cli
Requer Node.js 18+. Instala o comando ark (com alias keysark).
Configuração inicial
Dois passos: autorize este dispositivo e depois importe sua frase.
ark login
ark login usa autorização por código de dispositivo: o terminal mostra um link e um código; abra-o no navegador, confirme que o código corresponde e aprove. A concessão equivale a uma sessão de navegador — só pode mover texto cifrado, nunca sua frase ou texto não cifrado.
ark import
ark import pede sua frase de recuperação e define uma senha de desbloqueio local. A frase é criptografada com uma chave derivada por Argon2id e armazenada localmente (~/.keysark) — nunca enviada. O desbloqueio fica em cache até 5 minutos de inatividade, para você não ter que redigitar a senha.
Referência de comandos
ark loginAutoriza este dispositivo via código de dispositivo (abre o navegador para confirmar).ark importImporta uma frase de recuperação e define uma senha de desbloqueio local.ark statusMostra o status do login e da frase.ark infoMostra a versão, a origem do servidor e o diretório de configuração.ark vaultsLista todos os cofres da conta, indicando quais correspondem à sua frase.ark lsLista todos os itens do cofre atual.ark get <path|id> [file]Descriptografa um item por caminho ou ID; imprime no stdout, ou grava em um arquivo se um for fornecido.ark save <file> [target]Salva um arquivo local (texto ou binário; o binário é armazenado como item de arquivo criptografado) no cofre; infere o caminho de destino a partir do origin do git dentro de um repositório.ark sync [folder]Sincroniza em dois sentidos uma pasta do cofre com um diretório local por mtime (o lado mais recente vence). Em um repositório git, a pasta é opcional (deduzida do origin); mostra o plano e confirma primeiro, preservando os caminhos relativos.ark reset-anchor [vault]Limpa a proteção contra reversão de um cofre. Use somente quando você redefiniu/restaurou o cofre intencionalmente e aparecer um aviso "index rollback detected" (leituras) ou um bloqueio (gravações); o próximo carregamento reancora na versão remota atual.ark logoutLimpa o login local (mantém a credencial da frase).ark forgetRemove a credencial da frase armazenada localmente e o cache de desbloqueio.
Opções globais
--server <url>Sobrescreve a URL do servidor (padrão https://keysark.com).--vault <id|label>Seleciona um cofre por ID ou rótulo (padrão é o primeiro que corresponde à sua frase).--no-browserNão abrir o navegador automaticamente durante o login.
Exemplos comuns
Descriptografa um item para um arquivo local:
ark get github.com/me/app/.env .env
A partir de um diretório de projeto, salva .env no cofre (o caminho é deduzido do origin do git):
cd ~/my-project ark save .env
Uso não interativo em CI / scripts (a frase é fornecida via variável de ambiente):
export KEYSARK_MNEMONIC="word1 word2 … word12" ark get secure/api-key > key.txt
Variáveis de ambiente
KEYSARK_SERVERURL do servidor (igual a --server).KEYSARK_MNEMONICFornece a frase de recuperação diretamente, ignorando a credencial local — para CI / scripts.KEYSARK_HOMEDiretório de configuração, padrão ~/.keysark.KEYSARK_NO_BROWSERQuando definida, o login não abre o navegador automaticamente.
Segurança
Sua frase, a chave mestra derivada e o texto não cifrado nunca saem do seu dispositivo: ark criptografa e descriptografa localmente e só envia texto cifrado ao servidor e à nuvem. A concessão do dispositivo só pode mover texto cifrado — mesmo se vazada, não revela nada dentro do seu cofre.