Documentación del SDK y la CLI
Cifra secretos localmente con la CLI zero-knowledge y descífralos solo en dispositivos verificados con attestation y biometría. El servidor nunca ve un valor en claro.
1. Instala la CLI (escritor / controller)
La CLI cifra los secretos en tu máquina y gestiona el ciclo de vida de los dispositivos. El servidor solo almacena texto cifrado.
# CLI + tooling controller (Node.js >= 22)
npm install -g @koove/secrets-cli2. Inicializa la app y guarda un secreto
# Crea la app: genera la identidad controladora (keyfile cifrado)
# y el código de recuperación (24 palabras BIP39, se muestra UNA vez)
koove app-init
# Guarda un secreto — se cifra en tu máquina y solo sube el sobre cifrado
koove set DATABASE_URL "postgres://..." --env prodImportante: el código de recuperación (24 palabras) se muestra una sola vez y nunca se almacena. Guárdalo: sin él ni dispositivos, los secretos son irrecuperables.
3. Consume secretos desde tu app móvilDisponible en npm
App Attest (iOS) y Play Integrity (Android), verificados end-to-end en dispositivo físico: attestation real → registro gateado por el servidor → descifrado local tras biometría.
# SDK móvil (React Native / Expo)
npm install @koove/sdk expo-local-authentication expo-secure-storeimport { KooveClient } from '@koove/sdk';
const koove = new KooveClient({
apiUrl: 'https://koove.io/api',
appToken: process.env.KOOVE_APP_TOKEN,
});
// 1) El dispositivo se verifica con attestation (App Attest / Play Integrity)
await koove.registerDevice();
// 2) Descifra el secreto EN EL DISPOSITIVO tras la biometría.
// El valor en claro nunca sale del dispositivo verificado.
const dbUrl = await koove.getSecret('DATABASE_URL', { env: 'prod' });4. Ciclo de vida y kill-switch
Añade, revoca y recupera dispositivos, y rota claves — todo con comandos idempotentes y auditados.
# Aprobar un dispositivo nuevo (re-envuelve los secretos para él)
koove device-approve
# Revocar un dispositivo (kill criptográfico: lo saca de todos los sobres)
koove device-revoke <deviceId>
# Break-glass: descifrar con el código de recuperación
koove recover-show DATABASE_URL --env prod
# Rotar la identidad controladora (sin downtime)
koove controller-rotateNota honesta: revocar saca al dispositivo del conjunto de destinatarios, pero un secreto ya descargado y cacheado no se des-entrega. Para un kill total, rota el valor del secreto.
Código abierto y auditable
El SDK cliente y las primitivas de cifrado (@koove/crypto) son open source: la promesa zero-knowledge se puede verificar, no solo creer.
Ver en GitHub →