iOS, Nostr y la clave que crees que controlas

El sandboxing de iOS no aísla tus claves. Tu nsec está tan seguro como la app que lo custodia, y en iOS no hay Amber. Esto es lo que requiere realmente la firma móvil soberana.

Tu cliente Nostr en iOS no aísla tu nsec de sí mismo.

Esta es la frase que la mayoría de usuarios móviles de Nostr no se han planteado. El sandboxing de iOS es una propiedad de seguridad real, pero protege las apps entre sí, no tus claves de la app que las custodia. Si tu nsec vive dentro del cliente, el cliente lo tiene. Punto.

Qué hace realmente el sandboxing de iOS

El modelo de sandbox de Apple restringe lo que las apps pueden ver del sistema. Tu cliente Nostr no puede leer los datos de tu app bancaria. Tu app bancaria no puede leer los datos de tu cliente Nostr. Esa es la garantía.

Lo que no hace: impedir que tu cliente Nostr exfiltre tu nsec si decide hacerlo, que lo almacene en texto plano, que lo sincronice con un servidor externo, o que lo registre en un informe de errores. El límite del sandbox está entre apps. Tu nsec está dentro de la app. La amenaza no es el acceso entre apps. La amenaza es la propia app.

Por qué Amber no existe en iOS

Amber funciona en Android porque el modelo de permisos de Android permite la comunicación entre apps con contratos definidos. Una app puede enviar una solicitud de firma a otra app, recibir el evento firmado de vuelta y nunca compartir la clave subyacente. La clave permanece en el firmante. El cliente permanece ciego.

Apple no permite este modelo. El sandboxing de iOS es tan completo que un firmante compartido requeriría o bien un daemon en segundo plano, que Apple puede terminar en cualquier momento, o un salto de red a un servidor que no controlas. Ambos caminos alejan la clave de ti. Apple no construyó esto para perjudicar a los usuarios de Nostr. Lo construyó para simplificar el modelo de seguridad de un dispositivo para el gran público. La consecuencia para la soberanía de claves es la misma de cualquier manera.

Esto no es una brecha de herramientas que se cerrará cuando alguien escriba la librería correcta. Es una decisión de plataforma. Amber en iOS no va a llegar.

El eslabón más débil real: la copia de seguridad

Imagina por un momento que tienes un cliente en el que confías. Has leído el código. Crees que gestiona tu nsec correctamente. Aun así estás a una decisión de copia de seguridad de perderlo todo.

La mayoría de usuarios de iOS guardan su nsec en uno de tres sitios: una captura de pantalla en el carrete, una nota en Apple Notes sincronizada con iCloud, o un gestor de contraseñas con sincronización en la nube. Los tres dan a Apple, o a cualquiera que comprometa tu cuenta de iCloud, acceso a tu identidad en Nostr. El proceso de firma puede ser perfecto. La copia de seguridad lo hace irrelevante.

El nsec no es una contraseña. Cambiarlo significa abandonar tu identidad. No hay recuperación. Esta asimetría importa: una contraseña de iCloud comprometida cuesta tiempo de recuperación en dos pasos. Un nsec comprometido cuesta toda tu historia en Nostr, tu grafo de seguidores y cada conexión de web de confianza que has construido.

Cómo es realmente la firma móvil soberana

NIP-46 separa la clave del cliente. El firmante funciona en un lugar. El cliente funciona en otro. Se comunican mediante mensajes cifrados a través de relays Nostr. El cliente nunca ve la clave.

En iOS, esta arquitectura no es un workaround. Es el único camino que ofrece aislamiento real de claves. Ejecuta un firmante NIP-46 en tu máquina de casa: Nsecbunker, nostr-signing-device, o cualquier implementación que controles. El cliente iOS se conecta al firmante a través de Tor, Tailscale, o un relay de confianza. El teléfono lleva un token de sesión, no la clave.

Esto no es más complicado de lo que parece. Requiere más configuración de la que la mayoría de usuarios quiere. Ese es el tradeoff honesto: comodidad versus soberanía, no comodidad versus nada.

La conclusión incómoda

El modelo de identidad de Nostr es más ambicioso que el modelo UTXO de Bitcoin en un aspecto concreto: tu identidad en Nostr es tu grafo social, tu reputación y tu canal de comunicación, no solo dinero. Perder tu clave privada de Bitcoin te cuesta las monedas. Perder tu nsec de Nostr te cuesta la identidad.

La brecha no es técnica. La arquitectura para la firma móvil soberana existe hoy. La brecha está en que la mayoría de clientes Nostr se presentan como soberanos por defecto cuando no lo son. “Tus claves, tu identidad” impreso en la ficha de la app store es verdad en el mismo sentido en que “not your keys, not your coins” es verdad para un exchange: técnicamente correcto, aplicado de forma selectiva.

Los clientes que gestionan bien las claves son los que son honestos sobre lo que no hacen. Si tu cliente no soporta NIP-46 y no te dice dónde almacena tu nsec, esa es la respuesta.

Write a comment