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-cli

2. 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 prod

Importante: 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-store
import { 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-rotate

Nota 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 →