Centro de Seguridad y Transparencia
Explicación técnica de cómo funciona movil qué puede y qué no puede ver el servidor, y qué hemos comprobado. Para una guía breve, visita Seguridad.
Última revisión: 22 de octubre de 2026
Resumen en 30 segundos
El contenido de mensajes, fotos, audios y videos se cifra en tu dispositivo y el servidor guarda solo datos cifrados. El servidor sí necesita algunos metadatos para entregar mensajes (quién escribe a quién y cuándo). El cifrado no protege frente a un teléfono comprometido, capturas de pantalla ni lo que haga la otra persona.
Cifrado de extremo a extremo (versión 2)
Por diseño Cada dispositivo genera su propio par de claves ECDH P-256. La clave privada se crea como no exportable y se guarda solo en el almacenamiento del navegador (IndexedDB); al servidor solo llega la clave pública.
Cada mensaje usa una clave nueva AES-256-GCM. Esa clave se envuelve por separado para cada dispositivo activo del remitente y del destinatario (ECDH efímero + HKDF-SHA-256). El texto, el nombre del archivo y los bytes de los archivos se cifran con AES-256-GCM.
Los mensajes de la versión anterior (v1) siguen pudiendo leerse, pero todos los mensajes nuevos usan la versión 2.
Qué puede y qué no puede ver el servidor
No puede leer: el texto de los mensajes, las fotos, los audios, los videos, los nombres de archivo ni las claves privadas.
Sí guarda o ve: el ID de la cuenta; quién habla con quién; la hora de envío, entrega y lectura; el tipo de mensaje y el tamaño aproximado del archivo cifrado; los ajustes de temporizador y fuego; los dispositivos registrados (clave pública y estado); el estado de prueba o pago; y, si las activas, la suscripción a notificaciones.
Dispositivos nuevos y mensajes antiguos
Por diseño Puedes usar como máximo 2 dispositivos a la vez; el servidor rechaza un tercero. Un dispositivo nuevo no recibe claves de mensajes anteriores, así que no puede leer el historial: es intencional, porque no existe una copia de las claves en el servidor.
Cerrar sesión desde la app libera la plaza del dispositivo. Cerrar la pestaña o la app no la libera.
Llamadas
Por diseño Llamadas de voz y video solo entre dos personas, sin llamadas de grupo. Ambas deben ser contactos aceptados sin bloqueo, con acceso vigente, sesión desbloqueada en un dispositivo activo y verificación mutua por QR vigente para el dispositivo exacto que responde. El servidor controla el inicio, la respuesta, una llamada activa a la vez y límites de uso.
Por diseño El cifrado de extremo a extremo es obligatorio: la clave de cada llamada se genera en el dispositivo y se envía sellada al otro dispositivo; LiveKit, la infraestructura de transporte, no la recibe. Si el navegador no admite este cifrado, la llamada no se conecta. No hay grabación ni transcripción.
Por diseño Metadatos visibles: en nuestro servidor, participantes, tipo, estado, horas y duración, que no están cifrados de extremo a extremo; en LiveKit, direcciones IP y datos de conexión. Si un contacto deja de cumplir las condiciones, el servidor cierra la llamada. El historial de llamadas se conserva en el servidor mientras existan ambas cuentas y se elimina, junto con los datos técnicos de cada llamada, en cuanto se elimina cualquiera de las dos, al borrarla o al vencer su acceso (prueba de 7 días o ciclo de 90 días). Ocultar una llamada solo la quita de tu historial; no la borra del servidor.
Pendiente Probado en dispositivos reales por el equipo, sin auditoría criptográfica independiente. No ofrece secreto perfecto hacia adelante ni recuperación tras compromiso garantizados. Como app web, las llamadas entrantes pueden no llegar con la app cerrada.
Fotos, audio y video
Verificado Toda imagen enviada como “Foto” debe decodificarse y recodificarse localmente antes de cifrarse; así no se reutilizan los bytes ni los metadatos del original. El lado largo se limita a unos 2048 px. Si el formato no puede sanitizarse con seguridad, incluido GIF, el envío como Foto se rechaza. Lo enviado como “Archivo” conserva exactamente los bytes y metadatos originales.
Por diseño Todo archivo se cifra en el dispositivo antes de subirse. Los archivos pueden pesar hasta 50 MB y las notas de voz duran como máximo 15 minutos. El archivo cifrado se sube directamente al almacenamiento mediante un enlace temporal firmado.
Temporizadores, modo fuego y cómo se borra de verdad
El borrado ocurre en dos fases:
- El mensaje: el contenido de una sola vez se oculta al cerrar o vencer; en grupos cada destinatario tiene su oportunidad. El servidor fija fechas y límites (30 días grupo; hasta 90 días o vencimiento de cuentas en directos), y la limpieza horaria elimina filas vencidas.
- El archivo: al borrarse un mensaje con foto, audio o video, su archivo cifrado pasa a una cola, y una tarea horaria lo elimina del almacenamiento activo en lotes acotados. Puede haber retrasos o errores; no garantizamos borrado físico de copias técnicas.
El temporizador empieza cuando el destinatario lee el mensaje.
Eliminación de cuenta y vencimiento
Verificado Eliminar la cuenta es inmediato y no hay periodo de gracia. Se borran el perfil, el acceso, los contactos, los mensajes en ambos sentidos, las solicitudes, las claves de dispositivo, las notificaciones y los IDs diarios. Los archivos se procesan después en la cola de limpieza, con posibles retrasos.
Por diseño Excepción: para que tus contactos vean «Esta cuenta ya no existe» en vez de un estado falso, el servidor guarda para cada contacto previo un aviso sin contenido (su identificador interno, el de la cuenta eliminada y la fecha). No incluye mensajes, claves, alias ni fechas de acceso, solo lo consulta ese contacto, y se borra a los 90 días en la limpieza horaria o antes si se elimina su cuenta.
Cuando vence la prueba o el periodo pagado, el mismo proceso automático elimina la cuenta.
Copias de seguridad
La app no crea copias en la nube ni permite exportar conversaciones. Pendiente La infraestructura puede tener copias técnicas para recuperarse de desastres; no las hemos verificado ni las usamos para restaurar contenido borrado. Esas copias solo contendrían datos cifrados y metadatos.
Memoria y almacenamiento local
El contenido descifrado y las URLs Blob existen en memoria durante el uso. IndexedDB conserva la clave privada; la sesión, preferencias y avatar local por cuenta pueden persistir. Al bloquear se desmonta el contenido y se limpian cachés de la app, sin prometer borrado forense ni ausencia de rastros. No hay exportación de conversaciones.
Notificaciones push
Verificado El aviso no incluye el contenido ni el remitente: solo indica que hay un mensaje nuevo. Viaja cifrado según el estándar Web Push. El servicio de notificaciones del navegador o del sistema (por ejemplo, el de Apple, Google o Mozilla) recibe un paquete cifrado y sabe que se envió un aviso y cuándo. El teléfono decide cómo lo muestra.
Metadatos y registros técnicos
movil no guarda IP cruda en sus tablas. Los límites de abuso utilizan identificadores HMAC temporales de red y contadores por cuenta. Esto no garantiza anonimato. Los proveedores de infraestructura pueden generar registros técnicos de acceso, como peticiones, errores o IPs, que no controlamos por completo.
Limitaciones reales
- No podemos impedir capturas de pantalla ni fotos de la pantalla hechas con otro dispositivo.
- El destinatario puede contar o guardar lo que lee.
- Un teléfono con malware, o con root o jailbreak, puede ver el contenido antes de que se cifre.
- No ofrecemos recuperación de contraseña principal ni claves perdidas. Un PIN rápido olvidado puede resolverse con contraseña o una clave de acceso compatible.
- Es una aplicación web: el código se descarga del servidor en cada visita, así que hay que confiar en que el operador no lo altere.
- No hay auditoría externa independiente.
Proveedores e infraestructura
- Lovable / Lovable Cloud: alojamiento de la web y servicios de base de datos, autenticación, almacenamiento de archivos cifrados y funciones del servidor.
- LiveKit: transporta el audio y video cifrados de las llamadas; procesa direcciones IP y datos de conexión, sin recibir las claves de llamada.
- NOWPayments: procesa los pagos con criptomonedas y nos avisa cuando se confirman.
- Servicios push de los navegadores: entregan los avisos cifrados al dispositivo.
Cada proveedor tiene sus propias políticas de privacidad y retención, que no hemos auditado.
Cómo lo comprobamos
- Verificado Notificaciones: el paquete cifrado se descifró de punta a punta en una prueba local, comprobando que sigue el estándar RFC 8291/8188 y que no lleva contenido.
- Verificado Modo fuego (4 oct 2026): un texto, una foto y un audio con fuego desaparecieron de la base de datos tras abrirse; sus archivos entraron a la cola de borrado y salieron en la limpieza automática siguiente. Una foto normal de control quedó intacta.
- Verificado Eliminación de cuenta (4 oct 2026): la cuenta de prueba quedó sin perfil, acceso, contactos, mensajes, claves ni archivos; la cola de borrado y los archivos sin dueño quedaron en 0; otra cuenta con pago activo no se vio afectada.
- Verificado Fotos: las pruebas automáticas confirman que JPEG con EXIF/GPS, PNG y WebP compatibles se recodifican sin reutilizar el original; GIF, fallos de decodificación y recodificaciones no seguras se rechazan.
- Por diseño Límite de 2 dispositivos por cuenta y bloqueo de 30 minutos tras 3 intentos fallidos, aplicados por el servidor y no por la app.
- Por diseño Claves privadas no exportables generadas en el navegador; el servidor solo recibe la clave pública.
- Pendiente No hay auditoría externa independiente del código ni del cifrado.
- Pendiente No se han verificado las copias técnicas ni los plazos de retención de los proveedores de infraestructura.
- Pendiente No se ha hecho análisis forense de lo que queda en un teléfono tras usar la app.
Reportar vulnerabilidades
Escribe a security@movil.chat. Responderemos en un plazo máximo de 5 días hábiles.
- Incluye los pasos para reproducir el problema y cuál sería su impacto.
- No accedas a datos de otras personas, no los modifiques y no degrades el servicio.
- Danos tiempo razonable para corregirlo antes de publicarlo (proponemos 90 días).
También publicamos esta información en /.well-known/security.txt.
Historial de cambios
4 oct 2026 — v1.0: primera publicación del centro.
30 oct 2026: se añade la sección de llamadas individuales.