secs-man: una herramienta CLI para respaldar secretos con cifrado age y recuperación independiente del software

Fuentes: secs-man: a CLI tool for backing up, restoring and verifying secrets with age encryption, recoverable without the software

secs-man es una herramienta de línea de comandos escrita en Rust para respaldar, restaurar y verificar archivos sensibles (claves SSH, claves WireGuard, certificados y similares) sin depender de un proveedor concreto. Su principio rector es la independencia de software: si la aplicación dejara de existir, los datos cifrados deberían seguir siendo recuperables con herramientas estándar.

Para lograrlo, el proyecto se apoya exclusivamente en un terminal, en coreutils (cp, mv, sha256sum), en la biblioteca de cifrado age —un estándar abierto con gran implantación— y en trabajo manual. El flujo parte de un directorio centralizado de secretos y de un manifiesto en texto plano (.secrets-manifest) que enumera las rutas a proteger. Durante la exportación, cada archivo se cifra con age mediante una passphrase solicitada de forma interactiva (nunca leída de archivos, argumentos ni variables de entorno) y se genera un archivo .sha256 para verificar la integridad. El resultado se guarda en instantáneas con marca temporal dentro del directorio de destino.

La herramienta admite además operar con máquinas remotas mediante un script accesorio, secs-man-ssh, que evita transmitir la passphrase al host remoto al desplegar o recuperar respaldos. La distribución se realiza desde el repositorio de GitHub (no se publica como crate de Rust ni en nixpkgs o AUR), con opciones para usuarios de NixOS mediante flakes y para el resto mediante cargo install. La documentación incluye un procedimiento de recuperación manual que solo requiere age, coreutils y un terminal, en torno a treinta minutos de trabajo.