Última actualización: 2026-07-01
Relayium está diseñado para que las personas que transfieren archivos —no el servidor— tengan las claves. Esta página describe exactamente qué está protegido, cómo funciona y los límites de esa protección.
En resumen: en el modo en tiempo real, en la misma red tus archivos nunca pasan por nuestros servidores, y entre redes distintas atraviesan un retransmisor cifrado que solo transporta texto cifrado y no tiene ninguna clave; las claves de cifrado se generan de nuevo en cada dispositivo y nunca lo abandonan; y un código de verificación corto permite a dos personas detectar un servidor malicioso. A continuación, los detalles.
Cada transferencia genera un par de claves X25519 efímero y nuevo en cada dispositivo. Los dos dispositivos realizan un intercambio de claves para derivar una clave compartida AES-256-GCM que solo existe dentro de los dos navegadores. Cada fragmento se cifra con esa clave y un nonce único, de modo que el servidor de señalización —y cualquier retransmisor— solo ve texto cifrado.
El cifrado integrado de WebRTC (DTLS) intercambia huellas de claves a través del servidor de señalización, por lo que un servidor deshonesto podría interponerse en el medio e intercambiar las claves. Para detectarlo, Relayium deriva una cadena de autenticación corta (SAS) de 6 dígitos a partir de las claves públicas de ambas partes y la muestra en las dos pantallas. Si los dos códigos coinciden, el intercambio de claves no fue manipulado: nadie permutó ninguna clave durante él.
Un simple código de 6 dígitos (unos 20 bits) podría, en principio, forzarse por fuerza bruta si un retransmisor compite por producir un código coincidente. Relayium cierra esa brecha con un protocolo de compromiso y luego revelación: cada parte se compromete primero con su clave enviando un hash, y solo revela la clave tras recibir el compromiso de la otra parte. Por lo tanto, un servidor no puede elegir a posteriori una clave que colisione, de modo que el código corto sigue siendo digno de confianza.
El servicio está diseñado para que lo siguiente nunca llegue a nuestros servidores, en ningún modo:
En el modo en tiempo real, en la misma red los bytes del archivo no pasan en absoluto por el servidor: fluyen directamente entre los dos dispositivos; entre redes distintas atraviesan el retransmisor TURN descrito más abajo, que transporta texto cifrado y no tiene ninguna clave. El servidor de señalización solo retransmite mensajes de establecimiento de la conexión y ve la pertenencia a la sala (tu IP pública), un apodo de dispositivo que tú eliges y la presencia.
Las transferencias entre redes en el navegador —las sesiones con código de emparejamiento, incluidos sus enlaces de unión— pasan por un servidor TURN por diseño, no como recurso alternativo. Allí los NAT y cortafuegos restrictivos hacen improbable un camino realmente directo, así que la aplicación fuerza de entrada la ruta retransmitida en lugar de gastar unos veinte segundos en comprobaciones de candidatos directos que casi siempre caducarían para terminar igualmente en ese mismo retransmisor. Las sesiones en la misma red no reciben ninguna credencial de retransmisión y se conectan directamente; y la CLI nunca retransmite los bytes de los archivos: sus transferencias entre redes son exclusivamente directas y fallan si no se encuentra un camino directo.
El modo opcional de enlace de descarga es para cuando el destinatario no está en línea. Tu navegador cifra los archivos con AES-256-GCM antes de subir nada, y la clave de descifrado se coloca únicamente en el fragmento de la URL —la parte después del #—, que los navegadores nunca envían al servidor.
Más allá de la confidencialidad, se verifica la integridad de cada archivo. Cada fragmento lleva una etiqueta de autenticación AES-GCM, y en el lado receptor se comprueba de extremo a extremo un hash SHA-256 por archivo, de modo que un archivo dañado o manipulado se detecta en lugar de aceptarse en silencio.
El cifrado de extremo a extremo protege los datos en tránsito entre dos extremos honestos. Por diseño, no puede proteger contra:
Relayium funciona en cualquier navegador moderno con WebRTC a través de HTTPS. Algunas capacidades difieren según el navegador:
El diseño del protocolo y todo el código de cliente y servidor son públicos en GitHub, de modo que cualquiera puede auditar la criptografía, ejecutar su propio servidor o contribuir. Si encuentras un problema de seguridad, infórmalo de forma privada a través del informe de vulnerabilidades de GitHub en el repositorio, en lugar de abrir una incidencia pública.