# Seguridad: qué está dónde

NomaDev está hecho para que tu trabajo nunca tenga que pasar por nosotros. Esta página explica, punto por punto, dónde están tu código, tus contraseñas y tus claves, y lo poco que guarda nuestro servicio.

## Tus proyectos nunca salen de tu ordenador

El servidor de NomaDev corre en el ordenador o VPS donde ya están tus proyectos. Claude Code, git, la vista previa y las subidas corren todos allí.

Tu móvil se conecta directamente a esa máquina. En casa normalmente es por Tailscale, una red cifrada punto a punto basada en WireGuard; en un VPS, por HTTPS con tu propio certificado. No hay ningún servidor nuestro en medio, así que no podemos ver tu código aunque quisiéramos.

## Las contraseñas y frases de paso solo se guardan en tu móvil

Cuando una subida necesita una contraseña FTP o SFTP, o la frase de paso de una clave SSH, la escribes en el móvil. Si eliges **recordarla**, se guarda en el Keystore de Android, el almacenamiento cifrado protegido por el hardware de tu móvil; si no, se usa solo para ese intento.

La contraseña viaja a tu ordenador para esa única subida, se queda en memoria mientras dura la subida y nunca se escribe en disco — ni en tu ordenador ni por nuestra parte. Nuestros servidores nunca la ven.

Desconectar el móvil en la app también borra las contraseñas guardadas en él.

## Las claves SSH solo se mueven si tú lo pides

Para publicar por SFTP el servidor usa las claves SSH que ya tienes en el ordenador, en la carpeta de tu usuario. No se copian ni se suben a ninguna parte: el móvil solo sabe si la clave necesita una frase de paso.

La única excepción la decides tú: para usar en el terminal la clave de un destino, puedes copiarla al móvil. Cómo funciona, aquí abajo.

## El terminal SSH

El terminal se conecta desde el móvil directamente al servidor, por SSH: la conexión va cifrada de extremo a extremo y no pasa por tu ordenador ni por ningún servidor nuestro. Por eso funciona incluso con el ordenador apagado.

Las claves y contraseñas del terminal viven solo en el móvil, cifradas con una clave del Keystore de Android protegida por el hardware. Para usarlas hacen falta tu huella o tu PIN, y el desbloqueo dura cinco minutos. No acaban en las copias de seguridad de Android ni en Google Drive, y solo las usa la parte nativa de la app, en el momento de conectarse.

Puedes generar una clave directamente en el móvil: la parte privada nunca sale de ahí, y al servidor copias solo la pública. Si prefieres la clave que un destino ya usa en el ordenador, la app la copia una sola vez, después de tu huella o PIN, y solo si la petición llega cifrada, por HTTPS o desde un proxy HTTPS en la misma máquina: por una conexión sin cifrar el ordenador la rechaza.

La primera vez que te conectas a un servidor la app te muestra su huella y la recuerda; para los destinos que el ordenador ya confirmó vale la suya. Si la huella cambia, la app se detiene y te avisa, y para aceptarla tienes que mantener pulsado. Las claves y contraseñas se desbloquean solo después de esta confirmación.

Lo que pasa por el terminal se queda en la memoria del móvil, nunca en disco, y desaparece al cerrar la sesión. El terminal no aparece en las apps recientes ni en las capturas de pantalla, salvo que lo permitas. En segundo plano las sesiones siguen abiertas como mucho el tiempo que elijas, y desde la notificación las cierras todas con un toque.

## Solo los móviles que autorizas

Para conectar un móvil necesitas un código que muestra tu ordenador: 8 caracteres, de un solo uso, válido 10 minutos y anulado tras 5 intentos fallidos. El QR lleva el mismo código.

Cada móvil recibe luego su propio token de acceso. El servidor guarda solo su huella SHA-256, nunca el token, así que ni siquiera quien lea los archivos del servidor puede hacerse pasar por tu móvil.

En Ajustes ves todos los móviles conectados y puedes desconectar cualquiera. Un móvil desconectado ya no puede conectarse; reiniciar el servidor cierra también una conexión que siguiera abierta.

## Nada está abierto sin autenticación

Cada petición al servidor debe llevar el token del móvil. La conexión en tiempo real empieza con un ticket de un solo uso válido 30 segundos, así el token nunca acaba en una dirección ni en un log.

La vista previa de la web que estás desarrollando nunca es pública: solo se abre desde la app, con un ticket de un solo uso que se cambia por una cookie privada.

La primera vez que subes a un servidor FTPS o SFTP, la app te muestra la huella del servidor y NomaDev la recuerda; si después cambia, la app te avisa antes de seguir.

## Lo que guardan nuestros servidores, y nada más

Tenemos un solo servicio: el que reenvía las notificaciones a tu móvil, porque la clave de Firebase necesaria para enviarlas no se puede incluir dentro de la app.

Guarda el token de notificaciones de tu móvil, emparejado con un identificador aleatorio que tu ordenador usa para pedir una notificación. Por cada notificación recibe el tipo (hecho, pregunta, permiso, error, vista previa), el nombre del proyecto y el id de la sesión; el texto lo escribe él con frases fijas, y no guarda nada de eso.

Nunca recibe código, mensajes de error, contraseñas ni claves. Las estadísticas de uso, en la app y en la web, solo empiezan si las aceptas: van a Google Analytics y nunca contienen código, archivos ni nombres de proyectos.

## ¿Y Claude?

Claude Code corre en tu ordenador con tu propia cuenta, y envía a Anthropic lo que necesita para trabajar en tu código — exactamente como cuando lo usas en una terminal. NomaDev no añade ni cambia nada en ese intercambio. Consulta la [política de privacidad de Anthropic](https://www.anthropic.com/legal/privacy).

## Preguntas sobre seguridad

### ¿Podéis ver mi código?

No. Tu móvil habla directamente con tu ordenador, y nuestro único servicio gestiona las notificaciones, que nunca contienen código.

### ¿Dónde se guardan mis contraseñas FTP y SFTP?

Solo en el Keystore de Android de tu móvil, y solo si eliges recordarlas. Tu ordenador las usa en memoria para una única subida.

### ¿El terminal SSH pasa por mi ordenador?

No. El móvil se conecta directamente al servidor. Las claves y contraseñas del terminal están solo en el móvil, cifradas y desbloqueadas con tu huella o tu PIN.

### ¿Y si alguien encuentra la dirección de mi servidor?

Sin el token de un móvil conectado se rechaza cada petición, y para conectar un móvil nuevo hace falta un código que muestra tu ordenador.

### ¿Y si pierdo el móvil?

Desconéctalo desde otro móvil conectado, en Ajustes: desde ese momento ya no puede conectarse. Si la app estaba abierta, reinicia también el servidor, que cierra la conexión que ya tenía.


