Cómo funciona Vibn
Última actualización: 2026-08-28
Esta es una descripción técnica de cómo Vibn trata tus fotos, videos, mensajes e identidad — escrita para quien quiera comprobar las afirmaciones en vez de darlas por buenas.
Es más larga y más específica que nuestra Política de Privacidad, a propósito. La política dice qué hacemos con tus datos; este documento dice cómo está construido el sistema para que no pudiéramos hacer otra cosa. Donde una protección la garantiza la arquitectura y no una promesa, lo decimos. Donde solo es una promesa, también.
1. La versión corta
Vibn es un álbum compartido privado. Creas un grupo, invitas a unas pocas personas, y las fotos y videos de todos de la misma ocasión se juntan en un mismo lugar. No hay un feed en el que ser clasificado, ni perfil público, ni forma de que un desconocido encuentre tu grupo.
- Los grupos son solo por invitación. No hay búsqueda, ni descubrimiento, ni exploración — la única entrada es un enlace, un código o un QR de alguien que ya está dentro.
- Las fotos y los videos de los grupos cifrados tienen cifrado de extremo a extremo. Se cifran en tu teléfono antes de subirse y se descifran en los teléfonos de quienes los reciben. Nuestros servidores guardan un texto cifrado que no pueden leer.
- La clave que descifra un grupo nunca llega a nuestros servidores de una forma que podamos usar. Viaja en la parte del enlace de invitación que los navegadores nunca transmiten, y si mantienes una copia de recuperación, la copia que guardamos está sellada con una frase que nunca recibimos.
- El reconocimiento facial se ejecuta en tu dispositivo. Solo se suben vectores numéricos anónimos — nunca tus fotos de registro, y nunca de vuelta a otra persona.
- El contenido nunca es accesible públicamente. Cada visualización es un enlace firmado y de corta duración, generado en cada petición.
- Puedes borrar tus datos faciales, tu contenido, tus grupos y tu cuenta entera, y los borrados son reales.
2. Privado por invitación, aplicado en el servidor
Cada petición de los datos de un grupo se comprueba contra tu pertenencia antes de devolver nada. Si no eres miembro, la API responde «no encontrado» en lugar de «no permitido» — así alguien de fuera ni siquiera puede confirmar que ese grupo existe, y mucho menos quién está en él.
Esa comprobación vive en un solo sitio, en la API, no repartida por el código de la app. La app no puede darse acceso a sí misma preguntando de otra forma, porque no es la app quien decide.
Hay una excepción deliberada: cualquier persona con sesión iniciada que tenga un código de invitación puede leer una pequeña vista previa de esa invitación — el nombre del grupo, su descripción y quién invita — antes de unirse. Sin eso tendrías que aceptar una invitación a ciegas. Las invitaciones caducan a los siete días.
Desde 2026 hay una segunda comprobación junto a la de pertenencia, y solo en un sentido: puede retener, nunca conceder. Si apareces en una foto que publicó otra persona, puedes ocultarla al grupo: a partir de ahí la API solo la entrega a quienes ya aparecen en ella y a quien la publicó. No elimina nada, no alcanza las copias que ya estén en el teléfono de alguien, y a quien la publicó se le avisa y puede pedirte que la vuelvas a mostrar.
- Los roles dentro de un grupo son propietario, gestor y miembro. Los gestores pueden moderar y editar; solo el propietario puede eliminar el grupo o nombrar gestores.
- Un propietario no puede irse discretamente de un grupo suyo — lo elimina o lo traspasa. Eso evita un grupo sin dueño cuyo almacenamiento nadie asume.
- Quitar a un miembro corta su acceso de ahí en adelante. No deshace lo que ya vio, y no fingimos lo contrario.
3. Cifrado de extremo a extremo: lo que nuestros servidores no pueden hacer
Los grupos creados después de nuestro despliegue de cifrado de extremo a extremo están cifrados. Cada uno tiene una clave de 256 bits, generada en el dispositivo de quien lo crea. El contenido se cifra con AES-256-GCM en el teléfono antes de subirse, y se descifra en el teléfono al verlo. Lo que guardamos es un bloque opaco.
Lo importante no es que prometamos no mirar. Es que una serie de funciones que otras apps ofrecen nos resultan imposibles, y aceptamos perderlas:
- No podemos generar miniaturas ni vistas previas de tu contenido cifrado en el servidor, porque no podemos descodificarlo.
- No podemos recodificarlo ni comprimirlo para ahorrar almacenamiento.
- No podemos producir el desenfoque que se usa antes del día de la revelación — así que en los grupos cifrados eso lo hace la app en tu dispositivo.
- No podemos crear un enlace público para un grupo cifrado. Esa función está desactivada para esos grupos, no simplemente desaconsejada.
- No podemos analizar el contenido cifrado, ni nosotros ni nadie. La detección de contenido sensible se ejecuta en tu dispositivo o no se ejecuta.
- Solo hay una manera de que el contenido real de una foto llegue hasta nosotros, y eres tú quien lo envía: al denunciar un elemento por abusivo, tu dispositivo sube una copia descifrada de ese único elemento, después de que la app te lo haya advertido. No podemos obtenerlo de ninguna otra forma, y se elimina 90 días después de resolver la denuncia.
4. Cómo viaja la clave
La clave de un grupo se distribuye dentro del enlace de invitación, después del carácter # : https://vibn.space/i/CODIGO#k=… — todo lo que va después del # es un fragmento de URL, y los navegadores nunca envían fragmentos al servidor. El código QR contiene el mismo enlace. Quien lo abra extrae la clave en la app y la guarda en el almacenamiento seguro del dispositivo, respaldado por hardware: el Llavero en iOS, el Keystore en Android.
Esto tiene una consecuencia que preferimos decir claramente antes que esconder. Quien consiga el enlace de invitación completo consigue la clave del grupo. Trata un enlace de invitación como la llave de tu casa: no es una solicitud que apruebas, es lo que abre la puerta. Compártelo por un canal en el que confíes.
Tiene una segunda consecuencia, y la copia de recuperación cambia su forma en lugar de eliminarla. La primera vez que un dispositivo guarda la clave de un grupo, Vibn te ofrece una frase de recuperación de diez palabras. Tu teléfono deriva una clave de esas palabras y sube tus claves de grupo selladas con ella; nosotros guardamos ese paquete sellado y la sal pública que se usó para derivarla. Nosotros nunca recibimos la frase — no va en ninguna petición, ni por correo, ni por el menú de compartir —, así que el paquete es tan imposible de abrir para nosotros como el propio contenido. Puedes hacer una captura de las palabras si la prefieres al papel; una captura suele sincronizarse con un servicio de fotos en la nube, así que será tan privada como esa cuenta. Escribir la frase en un dispositivo nuevo recupera tus claves, y en iOS la clave derivada viaja en el llavero de iCloud, así que la mayoría de las restauraciones no requieren escribir nada. Sigues pudiendo llevar las claves a otro dispositivo escaneando un código desde uno que todavía las tenga, o restaurar un grupo pegando su enlace de invitación. Pero puedes omitir la copia de recuperación o borrarla, y si lo haces y desaparecen todos los dispositivos y todos los enlaces, el contenido queda cifrado para siempre. Ese es el coste honesto de la garantía de la sección 3.
- La clave del grupo nunca está en el cuerpo de una petición, nunca está en el código de invitación y nunca está en un registro de una forma que alguien pueda usar. La única copia que nos llega es el paquete de recuperación, sellado con tu frase.
- Limitación actual: no hay rotación de clave cuando alguien se va, ni revocación individual. Un exmiembro que guardó el enlace conserva la clave.
- La clave de un grupo aparece en solo lectura en sus ajustes, así que puedes hacer una copia a propósito si quieres.
5. Dónde está realmente tu contenido
Los archivos están en almacenamiento de objetos privado, que no se puede leer sin una firma. Nuestra base de datos guarda solo la ruta del objeto — no una URL. Una migración temprana eliminó a propósito las columnas con URLs guardadas, así que una fila filtrada de la base de datos no contiene nada que nadie pueda descargar.
Cada vez que abres una foto, la API genera un enlace firmado y de corta duración para ese objeto, para esa petición, después de comprobar tu pertenencia. El enlace caduca. Las subidas funcionan igual a la inversa, con el tipo de archivo fijado en el momento en que se autoriza la subida.
- No hay bucket público, ni ruta adivinable, ni URL permanente que se pueda filtrar.
- La única superficie sin autenticación de todo el sistema es una galería pública compartida, que un miembro puede crear para un grupo no cifrado. Es un token de capacidad dentro de un enlace, se puede desactivar y nunca se puede crear para un grupo cifrado.
- Si desactivas la recompartición en tus ajustes, tus subidas se retiran de cualquier galería pública que cree otro miembro — en las tuyas siguen estando.
6. El día de la revelación
Un grupo se puede configurar para revelarse en una fecha elegida, de modo que nadie vea las fotos hasta que las vean todos. Antes de ese momento, el servidor no se limita a pedirle a la app que esconda cosas. Entrega a quien no subió el archivo otro distinto — un pequeño derivado desenfocado — y nunca genera un enlace firmado al original. La clave del archivo en resolución completa no está en la respuesta para encontrarla.
Siempre ves tus propias subidas. Los avisos sobre fotos en las que apareces se retienen hasta la revelación y luego llegan como un único resumen, para que una notificación no estropee lo que la pantalla está ocultando.
Hay una forma de ver esas fotos antes de tiempo, y es deliberada. Quien creó el grupo puede iniciar un muro en directo: un enlace, válido como mucho un día y revocable en cualquier momento, que muestra las fotos del grupo en un navegador según van llegando — en una fiesta, en una pantalla de la sala. Mientras está activo, quien tenga ese enlace ve las fotos completas en lugar de las versiones difuminadas, que es justo para lo que sirve. Dos cosas limitan lo que eso cuesta. El enlace termina solo, y quien lo creó puede terminarlo antes. Y el enlace no contiene ninguna clave del grupo: la clave llega al navegador en forma cifrada y se abre allí, solo mientras la sesión está activa, así que terminar un muro en directo no se limita a apagar la página: se lleva la clave con él.
7. Reconocimiento facial, y por qué aquí es distinto
Vibn puede encontrar las fotos en las que sales. Casi todas las implementaciones de esa función suben las caras a un servidor. La nuestra no, y no podría: el contenido está cifrado, así que un comparador en el servidor no tendría nada que mirar.
En su lugar, la detección y la conversión de una cara en un vector numérico ocurren en tu teléfono. Un vector de 512 números es todo lo que se sube. No es una imagen, y no se puede revertir a una.
La comparación ocurre después en el servidor, vector contra vector. Devuelve solo los identificadores de las personas coincidentes — nunca el vector de nadie.
- Las fotos que haces durante la configuración facial nunca salen de tu dispositivo.
- Ningún endpoint devuelve un vector facial guardado a ningún cliente, incluido el tuyo.
- Puedes desactivar que te encuentren, y tu identificador se retira de los resultados de coincidencia que ve cualquier otra persona — tú sigues viendo los tuyos.
- Puedes borrar todos tus datos faciales cuando quieras desde los ajustes. Elimina los vectores y la marca de registro, no solo un indicador.
- La función es opcional y está disponible tanto en el plan gratuito como en el de pago. No ponemos tu privacidad detrás de un muro de pago.
- Puedes ocultar al resto del grupo una foto en la que apareces, sin poder eliminarla. Sigue visible para quienes salen en ella y para quien la publicó, a quien se le avisa y puede pedirte que la vuelvas a mostrar.
8. Identidad, pagos y las partes que a propósito no gestionamos nosotros
El inicio de sesión lo gestiona Firebase Authentication — correo, Google o Apple. Nunca vemos ni guardamos una contraseña; no existe un campo de contraseña en nuestra base de datos que se pueda filtrar.
Las suscripciones las verifica nuestro propio servidor directamente con Apple y Google. No hay un intermediario de facturación externo guardando tu historial de compras. Tu derecho al plan se decide de nuestro lado a partir de un recibo confirmado por la tienda, así que una app modificada no puede concederse un plan de pago.
Los límites del plan — cuántos grupos, cuántos miembros, cuánto almacenamiento, qué resolución — se aplican en el servidor, no en la app. La copia de esos números en la app existe solo para mostrarte un mensaje amable antes de que choques con el límite.
9. Qué sale de tu dispositivo, y hacia quién
Esta es la sección que la mayoría de los whitepapers deja vaga. La nuestra es específica, también donde no nos favorece.
Los informes de errores y fallos van a Sentry. Recibe el identificador de tu cuenta, tu nombre y tu correo para poder vincular un informe con la persona afectada. Está configurado para no recibir nunca cuerpos de peticiones, tokens de autenticación, URLs firmadas de almacenamiento, códigos de invitación, tokens de compartición — ni la clave del grupo. Esto último no es cuestión de política: una clave mal escrita llegaría al informe de error dentro del mensaje de la excepción, así que la limpieza que la elimina está cubierta por pruebas que rompen la compilación si hay una regresión.
La analítica de producto va a PostHog: qué pantallas se abren, qué funciones se usan, y la versión de la app y la plataforma. Los nombres de las pantallas se depuran para que los identificadores de grupo, contenido e invitación nunca aparezcan en un evento.
Las notificaciones push se entregan a través de OneSignal. El chat en vivo y la presencia ya no funcionan sobre la infraestructura de un tercero: funcionan en nuestro propio servidor en tiempo real, y los mensajes se guardan en nuestra propia base de datos — en un grupo cifrado, como texto que no podemos leer. Tu app se conecta con un token de corta duración que solo te identifica, y entra en la sala de cada grupo con un segundo token emitido exactamente para esa sala, comprobado contra tu pertenencia cada vez. Los mensajes directos funcionan igual, con una diferencia que conviene decir: una conversación entre dos personas no tiene clave de grupo, así que los dos dispositivos derivan una entre ellos a partir de claves de identidad de las que solo guardamos la mitad pública. Nosotros almacenamos el resultado y no podemos abrirlo.
En el plan gratuito, los anuncios los sirve Google AdMob. En iOS se te pregunta antes de usar cualquier identificador publicitario, y si lo rechazas sigues viendo anuncios, solo que no personalizados. Donde la ley local exige un formulario de consentimiento, se muestra antes de esa pregunta. AdMob nunca recibe tu nombre, tu correo, tus fotos ni nada del interior de tus grupos.
Si instalaste Vibn desde uno de nuestros anuncios, informamos de lo que esos anuncios produjeron para saber cuáles funcionan: que la app se instaló, que se creó una cuenta, que abriste la pantalla de planes, que tocaste para suscribirte y que se compró una suscripción. Google y Meta reciben el primero, el segundo y el último desde tu dispositivo — en iPhone a través de SKAdNetwork de Apple, que entrega al anunciante un único número agregado y retrasado, sin ningún identificador, y por eso esta app no tiene aviso de seguimiento; en Android a través de sus propios SDK, y donde la ley local exige un formulario de consentimiento, se muestra antes. OpenAI Ads recibe los cinco desde nuestros servidores y no desde tu dispositivo, y ahí está el único punto en que interviene un identificador: si has aceptado la medición publicitaria, incluimos una forma cifrada e irreversible de tu correo electrónico para que una compra pueda relacionarse con un anuncio que viste. Si lo rechazaste, o nunca se te preguntó, no se envía ningún identificador. A ninguno de ellos se le dice nunca qué compartiste, en qué grupos estás ni nada de lo que hay dentro de ellos.
Si denuncias una foto o un vídeo, se envía con la denuncia una copia descifrada de ese elemento para que una persona pueda valorarlo; la app te lo dice en la misma pantalla desde la que la envías. Se guarda aparte del grupo, solo se muestra a través de un enlace que caduca en minutos y se elimina 90 días después de resolver la denuncia. Nunca se dice quién presentó una denuncia. Denunciar a una persona o a un grupo no envía ningún contenido.
10. Borrar cosas
Eliminar tu cuenta la quita, junto con los grupos que creaste y el contenido que hay en ellos, y libera tus membresías en otros grupos. Durante 30 días es recuperable, y eso es lo único para lo que la conservamos: la cuenta queda bloqueada, tu perfil desaparece de la app de los demás, los grupos que creaste pasan a solo lectura con la fecha de eliminación a la vista, e iniciar sesión de nuevo te da un botón para deshacerlo todo. Cuando pasan los 30 días, una tarea programada ejecuta el mismo borrado que antes hacía el botón al instante, y desaparece — para nosotros igual que para ti. Nunca queda como una marca oculta en una fila que guardamos.
También puedes iniciar la eliminación desde nuestra web sin abrir la app, lo que es útil si has perdido el dispositivo. Esa página tiene límite de intentos y protección contra abuso automatizado, y a propósito da la misma respuesta exista o no una cuenta con esa dirección — incluso tardando lo mismo — para que no sirva para averiguar quién tiene cuenta en Vibn.
- Borrar contenido que subiste borra el objeto almacenado, no solo su listado.
- Borrar tus datos faciales es inmediato y completo.
- Tus datos faciales no esperan los 30 días: se borran en el momento en que pides la eliminación, y recuperar la cuenta no los devuelve.
- Las copias de seguridad y los registros caducan en sus propios ciclos; la eliminación no es instantánea en todas partes a la vez, y no afirmamos que lo sea.
11. Lo que no hacemos
Alguien tiene que pagar los servidores donde viven tus fotos y videos. Lo pagan las suscripciones, y en el plan gratuito la publicidad ayuda. Lo que no lo paga eres tú: nada de lo que hay dentro de tus grupos se le ofrece a nadie, y ninguna de las cosas de abajo es un negocio que tengamos guardado para más adelante.
Un punto de esta lista no es una promesa en absoluto. El contenido de un grupo cifrado es ilegible para nosotros, así que no se puede explotar, ni vender, ni usar para que algo aprenda de él — ni por nosotros, ni por quien tenga estos servidores en el futuro; la sección 3 explica por qué. El resto son promesas, y preferimos decirte cuál es cuál antes que dejar que lo supongas.
- No vendemos tus datos personales.
- No vendemos, alquilamos ni intercambiamos el acceso a tu cuenta, a tus grupos o a tu contenido — ni a anunciantes, ni a intermediarios de datos, ni a nadie.
- No usamos el contenido de tus fotos, videos o mensajes para dirigir publicidad.
- No entrenamos ningún modelo con tu contenido.
- No construimos un grafo social entre grupos, y no hay lista de seguidores, perfil público ni sugerencias de amistad en ninguna parte del producto.
- No leemos tus mensajes. En los grupos cifrados no podríamos; en los antiguos, no lo hacemos.
12. Límites conocidos
Un documento de privacidad que solo enumera virtudes es marketing. Esto es lo que querríamos saber si estuviéramos en tu lugar.
- Quien tenga el enlace de invitación completo tiene la clave del grupo (sección 4).
- Todavía no hay rotación de clave ni revocación por miembro; quitar a alguien detiene el acceso futuro, no lo ya visto.
- Si pierdes todos los dispositivos y el enlace de invitación, tu frase de recuperación es el único camino de vuelta. Si omitiste la copia de recuperación o también perdiste la frase, nadie puede recuperar el contenido, nosotros incluidos.
- El bloqueo de capturas, en grupos con la compartición desactivada, impide la captura del sistema operativo. No impide que alguien fotografíe la pantalla con otro teléfono.
- Los grupos creados antes del despliegue del cifrado no tienen extremo a extremo. Su contenido está protegido por control de acceso y URLs firmadas, pero el servidor puede leerlo.
- Los metadatos no están cifrados: sabemos qué cuentas están en qué grupos, cuándo se subieron las cosas, cuándo el archivo dijo que se tomaron y cuánto ocupan.
- Los metadatos de las conversaciones tampoco están cifrados: sabemos quién intercambia mensajes directos con quién y cuándo, aunque no podamos leer ni una palabra.
- El almacenamiento se cobra al propietario del grupo. Si su suscripción termina y sus grupos siguen por encima del límite gratuito 30 días después de un aviso, eliminamos el contenido más antiguo de esos grupos —incluido el que subieron otros miembros— hasta que quepan.
- Denunciar una foto o un vídeo nos envía una copia descifrada. Esa es la única excepción a todo lo que dice la sección 3; solo ocurre cuando un miembro decide denunciar, y solo para el elemento denunciado. Además, lo denunciado queda oculto del grupo hasta que una persona lo revise, y vuelve por sí solo a los siete días si nadie lo hace.
- Cuando envías una foto o un video, tu teléfono adjunta una huella del archivo para que podamos rechazar una copia exacta de algo que el grupo ya tiene. En un grupo cifrado, esa huella se calcula con la clave del propio grupo, que nunca tenemos: nos dice que dos envíos al mismo grupo son el mismo archivo, y nada más. No podemos comparar con ella un archivo que ya tengamos.
- Guardamos claves de grupo de unas pocas cuentas que creamos nosotros mismos: las cuentas de prueba que usamos para control de calidad y para la revisión de las tiendas. Esos grupos contienen imágenes de relleno generadas y no son de nadie. Ninguna clave de un grupo tuyo se guarda nunca de una forma que pudiéramos usar.
13. Cómo comprobar todo esto
Las afirmaciones de este documento corresponden a comportamientos que puedes observar: alguien de fuera que pide un grupo recibe «no encontrado»; la URL de una foto compartida deja de funcionar cuando caduca su firma; no se puede crear una compartición pública de un grupo cifrado; borrar tus datos faciales hace que el filtro de personas te olvide.
Si encuentras algo aquí que no coincide con cómo se comporta la app, eso es un fallo en uno de los dos, y queremos saberlo.
14. Contacto
Preguntas sobre este documento, o sobre cualquier cosa que contenga: [email protected]
Para la declaración formal de qué recogemos y por qué, consulta nuestra Política de Privacidad. Donde ambas difieran, la vinculante es la Política de Privacidad.