Compruébalo en 2 minutos
Pulsa F12 en tu navegador. Sin instalar nada. Sin saber programar.
| Afirmación | Cómo verificarlo | Pestaña |
|---|---|---|
| No hay cookies de rastreo | Application → Cookies → solo cookie de sesión técnica. Sin _ga, _fbp, _gid ni similares |
Application |
| No hay servicios de terceros en la app | Network → filtrar por dominio → solo peticiones a solo2.net. Cero llamadas a Google, Facebook, Amazon, etc. |
Network |
| Analytics solo en landing, no en la app | Network → en /info/* se ve stats.menzuri.com. En la app (/) no aparece ningún script de analytics |
Network |
| Tu historial vive en tu navegador | Application → IndexedDB → solo2-vault-{userId} con stores messages, files, etc. Datos locales |
Application |
| Lista de contactos solo local | Application → IndexedDB → store pares existe localmente. Network → no hay petición de "contacts" ni "friends" al servidor |
Application |
| Sin CDNs externos | Network → todos los JS/CSS se cargan desde el mismo dominio. No hay cdn.jsdelivr.net, cdnjs.cloudflare.com, unpkg.com |
Network |
| Sesiones de 24h máximo | Application → localStorage → solo2_session expira. Puedes cerrar sesión y ver que desaparece |
Application |
| Puedes ver qué tipo de conexión usas | En la UI del chat: indicador P2P (verde) vs Mirror/TURN (naranja) visible en todo momento | UI |
| Umami es cookieless | Application → Cookies → no aparece ninguna cookie de stats.menzuri.com incluso tras visitar el landing |
Application |
| Sinu peavõti luuakse juhuslikult | Application → registreerimisel genereerib Solo2 24 ainulaadset sõna. Need ei tuleta sinu paroolist — need on sõltumatu võti 256 bitiga tõelist entroopiat | Application |
Si sabes usar DevTools
Verificaciones que requieren conocimiento técnico. Si entiendes HTTP, WebRTC y criptografía básica, puedes confirmar estas afirmaciones.
| Afirmación | Cómo verificarlo |
|---|---|
| Mensajes cifrados E2E | Network → las peticiones a /cmd contienen payloads binarios opacos (zcatpack). El contenido no es texto legible. No puedes confirmar qué algoritmo se usa, pero sí que no viaja en claro |
| Señales WebRTC cifradas E2E | Network → los signal messages viajan como blobs binarios cifrados. No son JSON legible con offer/answer en claro |
| Peavõti on paroolist sõltumatu | Network → sisselogimine saab serverilt krüptitud wrapped_master_key cifrado del servidor. El cliente lo descifra localmente con la contraseña. La clave maestra nunca viaja en claro. Cambiar contraseña no cambia la identidad |
| Padding uniforme en mirror | Network → los paquetes WebSocket/DataChannel tienen tamaño fijo cuando se usa relay. Inspecciona los sizes en la pestaña Network |
| Contraseña protegida (no viaja en plano) | Network → el login envía un hash, no texto plano. No puedes verificar qué algoritmo usa el servidor (Argon2id), pero sí que tu contraseña original nunca sale del navegador |
| Solicitudes de vinculación caducan en 3 días | Crea una solicitud, no la respondas, verifica tras 3 días que desapareció. Requiere paciencia y dos cuentas |
| Push notifications cifradas | Network → las peticiones push al Service Worker llegan cifradas (estándar Web Push). Se ve el payload cifrado en la pestaña Network |
| Conexión P2P directa vs relay | chrome://webrtc-internals/ muestra los ICE candidates y si la conexión es relay (TURN) o srflx/host (directa) |
Esto no puedes verificarlo
Seríamos hipócritas si dijéramos que todo es verificable. Estas afirmaciones requieren que confíes en nosotros — o que esperes a que publiquemos el código.
| Afirmación | Por qué no es verificable |
|---|---|
| Double Ratchet con rotación de claves | Las operaciones criptográficas ocurren dentro de un binario WASM. El usuario ve que se carga, pero no puede leer qué algoritmo ejecuta |
| Peavõti luuakse tõelise entroopiaga (256 bitti) | Loomine kasutab crypto.getRandomValues brauseris. Sa näed, et luuakse 24 sõna, kuid sa ei saa F12-st kontrollida entroopia kvaliteeti ega seda, et CSPRNG on turvaline |
| X25519 + Ed25519 + ChaCha20-Poly1305 | Mismo problema: el stack criptográfico está dentro de WASM. No se pueden confirmar las curvas ni los algoritmos desde el navegador |
| El servidor es "completamente ciego" | Puedes verificar que el cliente no envía datos legibles. Lo que el servidor hace con los metadatos de conexión (IPs, timestamps) requiere confianza o auditoría del servidor |
| El servidor no guarda relaciones tras vinculación | Requiere acceso al código y base de datos del servidor |
| Las IPs no se registran | No puedes verificar qué registra el servidor en sus logs |
| Las claves rotan con cada mensaje | Ocurre dentro de WASM. Ves que se envían mensajes, pero no puedes observar la rotación de claves |
| Los datos borrados realmente desaparecen | Puedes borrar de IndexedDB local, pero no puedes verificar que el servidor no retiene copias (aunque el Manifiesto dice que nunca los tuvo) |
Por qué WASM es una barrera real
La capa criptográfica de Solo2 está compilada en WebAssembly — un formato binario que tu navegador ejecuta pero que no puedes leer como texto. Esto significa que no puedes verificar desde F12 qué algoritmo usamos.
El JavaScript minificado (que usamos para la interfaz) sí es reversible: el navegador puede reformatearlo y la estructura del código es legible. Es un obstáculo práctico, no una barrera real. Pero WASM compilado desde Zig es fundamentalmente diferente — es un binario de bajo nivel donde los nombres originales desaparecen y las optimizaciones del compilador transforman el código más allá de lo reconocible.
Decimos que es Double Ratchet con X25519. Puedes confiar en nuestra palabra, o puedes esperar a que publiquemos el código fuente de la capa crypto para que cualquiera pueda auditarlo. Estamos trabajando en ello.
Qué estamos haciendo para que puedas confiar más
Publicar hashes SHA-256 de los .wasm
Publicaremos el hash criptográfico de cada archivo WASM en producción. Así cualquier auditor podrá verificar que el binario que se ejecuta en tu navegador corresponde exactamente con el que nosotros compilamos.
Abrir la capa crypto como código abierto
Publicar el código fuente de la capa criptográfica (Zig) como repositorio público. El mismo modelo que Signal: protocolo criptográfico abierto, resto del código cerrado. Cualquiera podrá compilar el código fuente y comparar el hash del .wasm resultante con el que está en producción.
La seguridad no depende de la oscuridad
Nuestro modelo de seguridad está diseñado para funcionar incluso si el código fuente es público. Si la seguridad dependiese de que nadie pudiese leer el código, no sería seguridad — sería esperanza.
5 documented security layers
Parool (juurdepääs serverile), 24 sõna (tõeline peavõti), seadme saladus (hoidla kaitse) ja Double Ratchet rotatsioon. Iga kiht on sõltumatu ja kontrollitav meie Läbipaistvuse Manifestis.