# CryptoLegacy: La privacidad es importante para la recuperación y la herencia

Creemos que la privacidad es fundamental para la recuperación y la herencia de activos. Aunque resulta complicado implementar una solución completamente privada dentro de una arquitectura en la que los activos se aprueban desde las billeteras principales hasta el contrato personal de CryptoLegacy, llegamos a la conclusión de que es muy poco probable que los Guardianes o Beneficiarios inspeccionen el código o desarrollen herramientas de indexación personalizadas. De esta manera, la información sensible no se revela antes de tiempo en la interfaz, y la información de los activos permanece cifrada hasta que finalice el período de desafío o se cumpla el umbral de Guardianes (y el posible período de espera para Guardianes).

## Puntos clave de privacidad:

* Nombres, Beneficiarios, Guardianes, Direcciones de recuperación, Titulares de activos (tus billeteras), direcciones ERC20 y claves públicas de cifrado se almacenan localmente en tu navegador. Las copias de seguridad se cifran con tu clave pública personal y se almacenan en la cadena como eventos de transacción en un contrato separado.
* Los titulares de activos (tus billeteras) y las direcciones ERC20 se cifran individualmente para cada Beneficiario, Guardián y dirección de recuperación, utilizando sus respectivas claves públicas de cifrado, y luego se guardan en la cadena como eventos de transacción en el contrato de CryptoLegacy.
* Utilizamos el cifrado integrado de MetaMask (eth-sig-util), que emplea una sólida criptografía de curva elíptica (x25519-xsalsa20-poly1305). Para las billeteras que no admitan cifrado, implementaremos una solución alternativa.

## Desarrollos futuros

Para mejorar la privacidad de CryptoLegacy, planeamos desarrollar el **ZK Approval Plugin**, que funcionará de la siguiente manera:

* El **Propietario** agrega el plugin a su contrato personal de CryptoLegacy.
* El **Propietario** aprueba los activos, no directamente a su contrato de CryptoLegacy, sino al **ZK CryptoLegacy Transfer Contract**.
* El **Propietario** envía una transacción al contrato de CryptoLegacy a través del plugin y almacena un Árbol de Merkle que contiene sus billeteras, activos y el contrato de CryptoLegacy.
* Cuando sea necesario transferir activos desde las billeteras principales al contrato de CryptoLegacy, los **Beneficiarios o Guardianes** generan una prueba ZK y la envían al **ZK CryptoLegacy Transfer Contract**. Esto permite retirar activos de las billeteras principales y transferirlos al contrato de CryptoLegacy.

En última instancia, este proceso garantiza que sea imposible rastrear cualquier conexión entre las billeteras y los contratos de CryptoLegacy.

Al combinar prácticas de cifrado sólidas con estrategias cuidadosas de gestión de datos, CryptoLegacy ofrece una protección de la privacidad práctica para la herencia y la recuperación de activos sin sacrificar la facilidad de uso.
