secret-key
Secret Key es un sistema self-hosted que divide criptográficamente la contraseña maestra de una bóveda entre personas de confianza usando Shamir Secret Sharing. Permite acceso seguro a cuentas tras fallecimiento del titular mediante autenticación SMS y reconstucción local en navegador.
Ficha actualizada 24 sept 2026, 19:41 · upstream 24 sept 2026, 19:32 · release v3.1.0
Qué es secret-key
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Secret Key resuelve el problema de qué ocurre con las cuentas digitales cuando el propietario fallece o pierde acceso. El sistema divide criptográficamente la contraseña maestra entre múltiples personas designadas, de modo que ninguna conoce el secreto completo por sí sola.
El backend está implementado en PHP 8+ con archivos planos (JSON + configuración PHP), sin base de datos SQL centralizada. La autenticación utiliza bcrypt con cost=10 y 2FA vía SMS a través de la API de SMSPlanet. Todos los datos permanecen en el servidor propio del usuario.
La reconstucción del secreto ocurre completamente en el lado del cliente mediante JavaScript, nunca se envía al servidor. El sistema incluye múltiples capas de seguridad: rate limiting, CSRF tokens, protección contra brute-force y almacenamiento de archivos sensibles fuera del directorio público.
- Plan de sucesión digital para familiares que accedan a cuentas bancarias tras fallecimiento
- Gestión de credenciales corporativas en caso de salida o incapacidad de empleados clave
- Protección de bóvedas de contraseñas personales (KeePass, Bitwarden) contra pérdida de acceso
- Acceso seguro a servicios críticos (correo, redes sociales) sin depender de herederos digitales
- Reconstucción del secreto ocurre localmente en navegador — la contraseña nunca viaja al servidor
- Implementación Shamir Secret Sharing con información-teórica segura: menos participaciones que el umbral no revela ninguna información
- Archivos de configuración y datos sensibles almacenados fuera del directorio público del webserver
- Compatibilidad con bibliotecas externas verificables (secrets.js, iancoleman.io/shamir)
- Rate limiting persistente basado en archivos: 3 intentos/IP + 3 intentos/cuenta en ventana de 15 minutos
- Soporte multilenguaje con traducciones oficiales a más de 10 idiomas incluyendo español
- No incluye Docker ni Dockerfile — requiere configuración manual del entorno PHP/MySQL/S3
- Dependencia externa de API SMSPlanet para autenticación 2FA (requiere cuenta activa)
- Requiere al menos 3 de 5 participantes para reconstucción — no apto para escenarios de 1-2 personas
- Sin soporte nativo para despliegue en contenedores o orquestadores modernos
- Almacenamiento de archivos (bóvedas, descargas) depende de S3/MinIO externo
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
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.
Requiere servidor PHP 8+ con extensión JSON y soporte para bcrypt. Configurar MinIO/S3 para almacenamiento persistente. Asegurar que /private/ esté fuera del directorio público del webserver. Probar reconstucción Shamira localmente antes de producción. Verificar límites de tasa en rate_limits.json tras instalación.
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.

