Skip to content

Repository files navigation

Esfinge

Cifra y descifra contraseñas y ficheros con una clave. Sin cuentas y sin servidores: lo que cifras no sale de tu ordenador.

Compilación Última versión Licencia

Esfinge en tema claro Esfinge en tema oscuro

Descargar

Sistema Descarga Notas
macOS Esfinge-2.18.1.dmg Universal: Apple Silicon e Intel
Windows Esfinge-2.18.1-windows-instalador.exe Asistente de instalación
Linux · Debian y Ubuntu esfinge_2.18.1_amd64.deb Aplicación y línea de comandos
Linux · cualquiera esfinge-2.18.1-linux-amd64.tar.gz Los binarios sueltos
Línea de comandos todos los sistemas Seis objetivos, con sus SHA256

Versión 2.18.1. Las anteriores, en publicaciones.

La primera vez, el sistema avisará de que Esfinge no está firmada. Es cierto: firmar cuesta 99 $ al año y se decidió no hacerlo (por qué). En macOS, si el aviso no te deja abrirla, ve a Ajustes del Sistema → Privacidad y seguridad y pulsa «Abrir de todos modos». En Windows, «Más información» → «Ejecutar de todas formas».

Qué hace

Cifra un texto —una contraseña, un token, una cadena de conexión— y devuelve una línea como esta, que se puede pegar en un correo, en un chat o dentro de una URL sin escapar nada:

ESF1.RVNGMQEAAAEAAAAAAAMEW77N6LiWIRQM4fm0l8P6mt8PbFAz4GJC-C0icDTG7h7iJWpBo

Cifra ficheros, arrastrándolos a la ventana. Varios a la vez, con la misma clave. El original no se toca.

Genera contraseñas en hexadecimal por defecto, que es el único alfabeto que se puede meter en una cadena de conexión sin que se rompa por un / (por qué).

Guarda contraseñas en una bóveda cifrada, en este ordenador: credenciales, notas, tarjetas y documentos, con buscador, y trayéndose lo que ya tengas en Dashlane, Bitwarden, 1Password, LastPass o Chrome. Calcula también los códigos de un solo uso, así que el segundo factor deja de estar en otro programa —con lo que eso tiene de bueno y de malo, dicho aquí—. Se cierra sola cuando llevas un rato sin tocarla, borra del portapapeles lo que copies, y lo que borres se queda treinta días en la papelera por si no querías. A diferencia de un .esf, aquí sí hay una segunda llave: una clave de recuperación que se enseña una sola vez, al crearla, para apuntarla en papel (cómo está hecha).

Y rellena en el navegador. Hay una extensión para Chrome, Edge, Firefox, Brave, Vivaldi y Opera: cuando entras en un sitio del que tienes una cuenta guardada, escribe el usuario y la contraseña sin que pulses nada. Si tienes varias cuentas de ese sitio, se elige en su panel. Habla con Esfinge por un canal local —ni cuenta, ni servidor, ni nada que salga de tu ordenador—, viene apagado y se enciende en Ajustes (cómo está hecho, qué cambia al rellenar).

Lleva un historial de qué se cifró y cuándo. Nunca el contenido, ni la clave, ni el texto cifrado, ni nada de lo que haya en la bóveda.

Se actualiza sola, o casi: avisa cuando hay versión nueva, se descarga el instalador de tu sistema comprobando que llegó entero, y lo abre. No hay que desinstalar nada.

Esas son las dos únicas cosas que Esfinge hace fuera de tu ordenador: una consulta al día a GitHub, y el icono de cada sitio de tu bóveda pedido al propio sitio, nunca a un intermediario. Las dos se apagan en Ajustes, y ESFINGE_SIN_RED=1 las apaga todas (qué se envía, exactamente).

Y trae línea de comandos para lo mismo, pensada para tuberías y scripts:

echo -n 'secreto' | esfinge cifrar --clave-env CLAVE
esfinge cifrar -i credenciales.env -o credenciales.env.esf
esfinge generar --bytes 32
esfinge boveda ver banco          # la contraseña por la salida, para una tubería
esfinge boveda codigo banco       # las seis cifras del segundo factor

Lo único que hay que tener claro

Sin la clave no hay forma de recuperar nada. Esto no es una cuenta con «he olvidado mi contraseña»: si se pierde la clave, el contenido se ha perdido, y no hay nadie —tampoco Webcafeína— que pueda abrirlo.

La bóveda es la única excepción, y por eso tiene su ceremonia: la clave de recuperación es una segunda puerta a todo lo que hay dentro. Guárdala como guardarías la contraseña maestra, y en otro sitio.

Y manda el resultado y la clave por caminos distintos. Si van en el mismo correo, quien lea ese correo lo tiene todo.

Por dentro

XChaCha20-Poly1305 con Argon2id, en un contenedor versionado. Los ficheros van por segmentos, cada uno con su etiqueta y una marca en el último, que es lo que hace que un fichero cortado por la mitad se detecte en vez de descifrarse a medias y en silencio.

La bóveda usa esas mismas piezas y ninguna nueva: es un JSON legible cuyos campos cifrados son líneas ESF1. corrientes. La contraseña maestra no cifra la bóveda —cifra la clave que la cifra—, así que cambiarla es volver a envolver 32 bytes y no recifrar nada.

El código está publicado para poder auditarse: en algo que cifra, eso es parte del argumento. Qué protege y qué no · Las decisiones, con su porqué

Desarrollo

Go 1.27, Node 22 y pnpm 11.

make comprobar   # vet, tests de Go y tipos de la interfaz
make contraste   # mide el contraste de los dos temas
make e2e         # mueve la interfaz de verdad contra el Go de verdad
make ayuda       # el resto

La documentación de trabajo está en docs/: dónde está el proyecto, qué viene después, qué se decidió y por qué, y qué está a medias.


webcafeína

About

Cifra y descifra contraseñas y ficheros con una clave. Aplicación de escritorio y línea de comandos para macOS, Windows y Linux. XChaCha20-Poly1305 con Argon2id. De Webcafeína.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages