01De contraseña maestra a clave de bóveda
Al crear tu bóveda, Skelett genera una sal aleatoria de 32 bytes y estira tu contraseña maestra con PBKDF2-SHA256 y 310,000 iteraciones hasta una clave AES de 256 bits. La contraseña en sí no se escribe en ningún lado — ni en disco, ni en el llavero, ni en la red.
Para verificar desbloqueos futuros, Skelett guarda solo un verificador de un sentido: el hash SHA-256 de la clave derivada. Aunque alguien lo extraiga del llavero, no puede revertirlo a tu clave ni a tu contraseña — el ataque más barato que permite es adivinar contraseñas una por una, y cada intento cuesta una derivación completa de 310,000 rondas.
02Qué se cifra
Todo lo sensible, campo por campo, antes de tocar el disco: contraseñas, claves privadas de passkeys, secretos 2FA, números de tarjeta y CVV, datos de identidad, notas seguras y archivos adjuntos. Cada cifrado usa AES-256-GCM con un nonce aleatorio nuevo, así que valores idénticos jamás producen el mismo texto cifrado, y cualquier alteración falla la autenticación ruidosamente.
Lo que no es secreto — títulos, usuarios, URLs de sitios — se mantiene buscable para que la app sea usable. Tus secretos, jamás.
03La vida de la clave
- La clave de bóveda existe solo en memoria, y solo mientras la bóveda está desbloqueada.
- Bloquear — a mano, por temporizador, o de inmediato al ir a segundo plano si así lo eliges — la borra.
- Un escudo de privacidad cubre la app en el selector de apps de iOS, para que las contraseñas reveladas nunca queden en capturas del sistema.
04Face ID, con precisión
Si activas el desbloqueo biométrico, la clave derivada se guarda en un elemento del llavero protegido por biometryCurrentSet y WhenPasscodeSetThisDeviceOnly — es decir: solo este dispositivo, nunca sincronizado, e invalidado automáticamente si cambia el registro biométrico del equipo. Apagar el interruptor borra esa clave al instante. Tus datos biométricos viven en el Secure Enclave; Skelett nunca los ve.
05Sync sin nube de empresa
Skelett sincroniza por la base de datos privada de CloudKit de tu propio Apple ID. Lo que sale del dispositivo es texto cifrado — los registros van sellados con tu clave de bóveda antes de ir a cualquier parte. No operamos servidores: no hay base de datos de Skelett que hackear, ni empleado que pueda espiar, ni nada que entregar.
La sal y el verificador viajan por el Llavero de iCloud, así que un iPhone nuevo necesita exactamente dos cosas: tu sesión de iCloud y tu contraseña maestra. Si activas la Protección de Datos Avanzada de Apple, tu capa de iCloud queda además cifrada de extremo a extremo.
06Autorrelleno, sin fugas
- La extensión de autorrelleno se niega a servir nada hasta que desbloquees — Face ID o contraseña maestra, cada vez que el sistema la invoca.
- Lo que guarda el índice QuickType de iOS es solo sitio + usuario, nunca secretos.
- El emparejamiento de credenciales se ancla a límites reales de dominio: una credencial guardada para
github.comse ofrece engist.github.com— y no engithub.com.evil.net.
07Detalles que suman
- Portapapeles: las copias se marcan solo-local (sin Portapapeles Universal) y expiran con un temporizador que aplica iOS mismo, aunque la app esté cerrada.
- Los íconos de sitio se dibujan en el dispositivo. Ningún servicio de favicons se entera de qué sitios guardas.
- El generador de contraseñas usa el CSPRNG del sistema con muestreo por rechazo — caracteres uniformes, sin sesgo de módulo, y al menos un carácter de cada clase que actives.
- Las analíticas, si las dejas activas, son solo conteos de uso anónimos — mira la política de privacidad. Un interruptor las apaga.
08De qué no puede protegerte Skelett
Sección de honestidad. Ningún gestor de contraseñas te salva de todo:
- Una contraseña maestra débil. Si alguien compromete tu cuenta de iCloud, los registros cifrados más las 310,000 rondas de PBKDF2 son el único muro que queda — y su altura es tu contraseña. Hazla larga. Una frase de varias palabras aleatorias es ideal.
- Un dispositivo comprometido. Malware o jailbreak en el teléfono donde escribes puede vencer el cifrado de cualquier app.
- Olvidar tu contraseña maestra. No hay recuperación — por diseño, nadie (incluidos nosotros) puede restablecerla. Skelett te ofrece borrar y empezar de cero; la bóveda vieja queda ilegible para siempre.
¿Encontraste una vulnerabilidad? Repórtala en privado a skelett@lumira.app antes de divulgarla públicamente. Los reportes de seguridad se responden primero y rápido.