secretli
Secretli es una plataforma de compartición segura de secretos con cifrado cero conocimiento, end-to-end. Permite compartir textos y archivos mediante enlaces temporales que se autodestruyen tras ser consultados.
Ficha actualizada 22 sept 2026, 19:53 · upstream 22 sept 2026, 19:20 · release sin release detectada
Qué es secretli
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Secretli utiliza un esquema de compartición de secretos donde los datos nunca llegan al servidor en texto plano. El cifrado ocurre completamente en el navegador del usuario utilizando XChaCha20-Poly1305, con claves de encriptación derivadas mediante HKDF-SHA512. Los metadatos y tokens se almacenan como hashes SHA-256 en la base de datos PostgreSQL, nunca persistiendo las claves privadas o los tokens completos.
La plataforma soporta compartición de texto y archivos (hasta 1 GB), con soporte para múltiples archivos almacenados como un bundle aleatorio. Incluye protección por contraseña mediante scrypt, temporizadores configurables entre 5 minutos y 7 días, códigos QR en cada enlace, y eliminación manual antes del expirado.
El diseño arquitectónico prioriza la seguridad: el servidor solo almacena IDs públicos, tokens de acceso y hashes de tokens, nunca los metadatos completos ni las claves de cifrado. Los datos se envían como partes multipart a un almacenamiento S3-compatible (SeaweedFS), evitando que ningún lado mantenga todo el contenido en memoria.
- Compartir contraseñas o credenciales entre equipos sin exponerlas en texto plano
- Proteger información sensible de empleados antes de su salida laboral
- Segregación de datos sensibles en entornos multi-tenant con cifrado cliente-side
- Compartición temporal de documentos confidenciales (contratos, notas internas)
- Cifrado de archivos corporativos sin necesidad de un servidor dedicado
- Protección de información financiera o personal sensible
- Cifrado XChaCha20-Poly1305 con AAD binding en el cliente, nunca visible por el servidor
- Metadatos y tokens almacenados como hashes SHA-256, nunca persisten las claves privadas
- Soporte de archivos hasta 1 GB mediante streaming multipart sin guardar todo en memoria
- Protección por contraseña con scrypt para un segundo nivel de seguridad
- Código QR en cada enlace que permite escanear y compartir el secret
- Eliminación manual de secretos antes del expirado, con token de destrucción
- No soporta cifrado de extremo a extremo completo (el servidor recibe datos cifrados pero no puede descifrarlos sin la clave derivada)
- Depende de un almacenamiento S3-compatible externo para persistencia
- El cifrado es cliente-side, por lo que si el navegador falla o se cierra, los datos pueden perderse
- No tiene autenticación de dos factores integrada
- La eliminación manual requiere acceso al token de destrucción del usuario
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Para ejecutar Secretli localmente con Docker Compose: `docker compose -f docker/docker-compose.yml --profile app up -d`. Esto inicia el backend en Go, PostgreSQL y SeaweedFS. Para desarrollo, se recomienda usar `make dev` que compila el frontend con Vite y el backend con hot-reload. En producción, se recomienda desplegar un contenedor Docker minimalista (distroless) con SBOM y SLSA attestation firmadas con cosign. Es obligatorio configurar `TRUSTED_PROXIES` si hay reverse proxies para que los límites de rate-limit funcionen correctamente.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.