Confianza y seguridad
La seguridad en WeDisplay
Esta página expone en términos concretos quién opera WeDisplay, dónde funciona y qué protege los datos que usted deposita en él. Está escrita para la persona que debe aprobar un proveedor nuevo, de modo que también indica con claridad lo que no tenemos.
Todo lo que sigue es una descripción factual del sistema en funcionamiento, no un compromiso contractual. Los compromisos vinculantes están en nuestros Términos de servicio, nuestra Política de privacidad y nuestro Acuerdo de tratamiento de datos.
1. Quién opera WeDisplay
WeDisplay es operado por EN6IA, una empresa registrada en Quebec, Canadá, con el número de empresa de Quebec (NEQ) 2266497173, que opera comercialmente como WeDisplay. Esa es la entidad jurídica nombrada en nuestros Términos de servicio, nuestra Política de privacidad y nuestro Acuerdo de tratamiento de datos, y con la que usted contrata. El nombre y el NEQ figuran en los tres documentos, así que puede comprobarlos usted mismo; están reunidos, junto con todas las demás políticas, en el Centro legal.
2. Los datos en tránsito
- HTTPS en todas partes. El sitio público, el panel de control, las API y el reproductor funcionan sobre TLS. El HTTP sin cifrar se redirige de forma permanente a HTTPS.
- HSTS. Las respuestas de producción incluyen
Strict-Transport-Security: max-age=31536000; includeSubDomains, de modo que un navegador que haya visitado el sitio una sola vez se niega durante un año a comunicarse con él sin cifrado, en cada subdominio. - Encabezados de respuesta reforzados. Cada respuesta también define
X-Frame-Options: SAMEORIGIN,X-Content-Type-Options: nosniffyReferrer-Policy: strict-origin-when-cross-origin, además de unaPermissions-Policyque desactiva la geolocalización, USB, el puerto serie, Bluetooth y MIDI. - El reproductor de Android rechaza el tráfico sin cifrar. Nuestra aplicación para televisores Android se distribuye con
usesCleartextTraffic=false, por lo que el propio sistema operativo bloquea cualquier conexión sin cifrar que la aplicación pudiera intentar, incluso mal configurada. - Transmisión en vivo. El uso compartido de pantalla y las fuentes en vivo utilizan WebRTC, que el protocolo cifra en tránsito. El relay al que se recurre cuando no es posible una ruta directa es nuestro propio servidor y no un servicio de terceros, y sus credenciales tienen duración limitada y se emiten bajo demanda en lugar de estar incrustadas en el reproductor.
3. Aislamiento entre organizaciones y control de acceso
- Cada consulta se limita a una organización. Las rutas de la API resuelven la organización de quien llama en el servidor y restringen la consulta a ella, de modo que las pantallas, los medios, las listas de reproducción y los informes de un cliente no son accesibles desde la sesión de otro cliente, con independencia de los identificadores que envíe el cliente.
- 24 permisos granulares en 10 categorías. El acceso dentro de una organización se rige por permisos asignables individualmente, agrupados en pantallas, medios, listas de reproducción, diseños, fuentes, equipo, configuración, conferencia, informes y asistente de IA, en lugar de unos pocos roles gruesos. Un miembro del equipo obtiene exactamente lo que le concede su grupo de seguridad, y las rutas de administración de la plataforma se verifican además por separado.
- El plano en tiempo real también está autenticado. La conexión WebSocket que envía contenido a las pantallas decodifica la cookie de sesión firmada durante el saludo inicial y une la conexión a una sala limitada a la organización. Cada mensaje de control y de señalización se autoriza después contra la pantalla o la fuente concreta a la que se dirige, usando la identidad registrada al conectar y no un identificador incluido en el mensaje.
- Registro de auditoría. Las acciones sensibles de cuenta y de administración se registran en un registro de auditoría propio de cada organización.
4. Autenticación
- Sesiones. El inicio de sesión está construido sobre Auth.js v5 con cookies de sesión JWT firmadas que caducan a los 7 días. Las cookies son
HttpOnly,SecureySameSite=Lax, y usan los prefijos de cookie__Secure-y__Host-sobre HTTPS. - Contraseñas. Las contraseñas se cifran con bcrypt con un factor de coste de 12 y nunca se almacenan ni se registran en claro. Los inicios de sesión fallidos repetidos contra la misma cuenta se limitan.
- Inicio de sesión único, bajo petición. WeDisplay incluye OIDC (Microsoft Entra ID y Google Workspace), SAML 2.0 con conexiones por dominio vinculadas a un dominio que usted haya verificado, y aprovisionamiento de usuarios y grupos mediante SCIM 2.0, para que las altas y bajas las gestione su proveedor de identidad. Los tres están desarrollados y entregados, y se activan cliente por cliente en lugar de estar activos de forma predeterminada.
- Producción se niega a arrancar con un secreto débil. El servidor comprueba al arrancar su secreto de firma de sesión y se detiene si falta, si coincide con un valor predeterminado conocido o si tiene menos de 32 caracteres. Una clave de firma falsificable es el único fallo que anularía todo lo demás de esta página, así que lo impone el proceso y no una lista de comprobación.
5. Copias de seguridad y recuperación
- Cada seis horas, fuera de la instancia. Un contenedor auxiliar dedicado vuelca la base de datos PostgreSQL de producción cada seis horas y sube el archivo al almacenamiento de objetos Cloudflare R2, deliberadamente un proveedor distinto del que aloja la aplicación, para que un mal día de un proveedor no pueda llevarse por delante a la vez el sistema y sus copias.
- Retención escalonada. Los volcados de cada seis horas se conservan 2 días, los diarios 30 días y los semanales 90 días; todo lo anterior se depura automáticamente.
- También los medios, no solo los registros. Los archivos de medios subidos se sincronizan al mismo almacenamiento externo, de modo que los archivos sobreviven a la pérdida de la instancia y no solo las filas de base de datos que los describen.
- Con supervisión. Cada ciclo de copia completado envía una señal a un monitor externo, así que una copia que falla en silencio genera una alerta en lugar de descubrirse durante una restauración.
- La restauración se ha ejecutado de verdad. El 30 de julio de 2026 recuperamos la copia más reciente del almacenamiento externo, la reprodujimos en una base de datos temporal y la comparamos con la producción en servicio: 54 tablas, 68 migraciones de esquema y 88 restricciones de clave foránea presentes, y un número de filas idéntico en ambos lados para usuarios, organizaciones, pantallas, medios, listas de reproducción y registros de reproducción. La base temporal se eliminó después y la producción se mantuvo sana en todo momento. Una copia de seguridad sin probar es una hipótesis; esta se ha probado.
Lo que esto no significa. No es una garantía de tiempo de recuperación ni de punto de recuperación, y hoy no ofrecemos un acuerdo contractual de nivel de servicio sobre disponibilidad. WeDisplay funciona actualmente como una única instancia en una única región: perder ese servidor implicaría reconstruir a partir de un volcado de hasta seis horas de antigüedad, con una interrupción mientras eso ocurre. Un alojamiento de base de datos replicado con recuperación a un punto en el tiempo está en nuestra hoja de ruta y todavía no está implantado. La disponibilidad actual se publica en nuestra página de estado.
6. Endurecimiento de la aplicación
- Limitación de frecuencia. El registro de cuentas, el restablecimiento y el cambio de contraseña, la vinculación de dispositivos y fuentes, el sondeo de contenido del reproductor, la entrada a conferencias, la verificación de invitaciones, el envío de solicitudes comerciales y los puntos de acceso públicos de códigos QR y de datos de widgets tienen todos limitación de frecuencia.
- Las subidas se comprueban por su contenido, no por su nombre. Cada archivo subido se valida contra una lista de extensiones y tipos MIME permitidos y contra su firma de archivo real (magic bytes), de modo que un ejecutable renombrado a
.pngse rechaza. Los documentos ofimáticos deben llevar un manifiesto OOXML auténtico y no solo un encabezado ZIP. - Los medios solo se sirven para archivos registrados. El punto de acceso a medios busca la ruta solicitada como un registro de medios existente en la base de datos antes de leer nada del disco, y rechaza de plano los segmentos de recorrido de rutas. Ninguna ruta sirve una ubicación arbitraria del sistema de archivos.
- Protección contra SSRF en las peticiones salientes. Cuando la plataforma obtiene una URL en su nombre — widgets de datos, integraciones, webhooks — primero se resuelve el nombre de host y se rechaza si alguna de las direcciones obtenidas es de bucle local, privada, de enlace local, de NAT de operador o de multidifusión. La conexión se fija después a las direcciones exactas que se validaron, de modo que una reasignación de DNS no pueda desviarla a un host interno a mitad de la petición; nunca se siguen redirecciones y el cuerpo de la respuesta se limita mientras se recibe.
- Secretos cifrados en reposo. Las credenciales que la plataforma guarda en su nombre — tokens de calendario conectado, claves de API de proveedores, claves de facturación — se cifran con AES-256-GCM antes de escribirse en la base de datos.
- Dependencias. Vigilamos los avisos de seguridad de nuestras dependencias y corregimos lo que es alcanzable en tiempo de ejecución como parte del mantenimiento habitual; la revisión completa más reciente de seguridad y dependencias se entregó en julio de 2026.
7. Dónde residen sus datos
La aplicación WeDisplay y su base de datos PostgreSQL funcionan sobre infraestructura operada por OVH en Canadá. Nuestro relay WebRTC funciona sobre la misma infraestructura, así que el tráfico de retransmisión en vivo nunca se entrega a un proveedor de streaming externo. Cloudflare se sitúa delante de la aplicación como red de distribución de contenido y cortafuegos de aplicaciones web, y además custodia las copias de seguridad fuera del servidor descritas más arriba.
Algunos subencargados de los que dependemos para funciones concretas — pagos, correo transaccional, proveedores de identidad, el asistente de IA opcional — tratan datos en servidores situados fuera de Quebec, incluidos Estados Unidos y la Unión Europea. Cada uno se nombra individualmente en la sección 5 de nuestra Política de privacidad, y antes de apoyarnos en una transferencia de ese tipo evaluamos si el destinatario ofrece una protección equivalente a la que exige la ley de Quebec. Si necesita un acuerdo específico de residencia de datos, plantéelo antes de firmar y no después.
8. Privacidad y lo que se muestra en sus pantallas
- Ley 25 de Quebec y PIPEDA. Nuestro programa de privacidad está redactado para cumplir la ley quebequense de protección de la información personal en el sector privado (Ley 25) y la PIPEDA canadiense, y respetamos los derechos del RGPD, el RGPD del Reino Unido y la CCPA/CPRA cuando resultan aplicables. Contamos con un responsable de privacidad designado, un registro interno de incidentes de confidencialidad y un proceso de notificación de violaciones que incluye a la Commission d'accès à l'information du Québec cuando la ley lo exige.
- No vendemos ni compartimos información personal en el sentido de la CCPA/CPRA, y no divulgamos información personal a terceros para sus propios fines de marketing.
- Sin rastreadores de terceros. Todas las cookies que establece WeDisplay son de origen propio y funcionales: su sesión de autenticación, las cookies técnicas que la protegen (un token CSRF y una URL de retorno de Auth.js, que nuestra capa de autenticación establece en cualquier visita, haya iniciado sesión o no), sus preferencias de consentimiento de cookies, sus preferencias de idioma y de interfaz, la moneda de visualización que elija en nuestra página de precios si la cambia (solo una preferencia de visualización — todos los planes se cobran en dólares estadounidenses) y, únicamente si concede el consentimiento funcional, un código de referido. No hay ninguna suite de analítica, ningún píxel publicitario ni ningún script de rastreo de terceros en el producto. Nuestra Política de cookies explica para qué sirven y cómo cambiar sus preferencias.
- Sin redes publicitarias en sus pantallas. El reproductor no incorpora ninguna red publicitaria ni ningún SDK de medición de audiencia. Las pantallas del plan gratuito llevan una marca de agua de WeDisplay y muestran de vez en cuando anuncios promocionales de WeDisplay — contenido propio, servido por nosotros, sin terceros implicados y sin recopilar datos de los espectadores — y los planes de pago pueden configurarse sin publicidad. El contenido que usted decide mostrar es, por supuesto, suyo: una página web o un widget que incruste ejecutará lo que su propio editor haya puesto ahí.
9. Lo que todavía no tenemos
Una página de confianza solo resulta útil si también enumera lo que falta, así que aquí está, sin rodeos.
- Ni informe SOC 2 ni certificado ISO 27001. WeDisplay no posee hoy ninguna certificación ni atestación de seguridad emitida por un tercero: ni SOC 2, ni ISO 27001, ni PCI DSS, ni una atestación HIPAA. Nuestro Acuerdo de tratamiento de datos lo dice con las mismas palabras. Si una certificación es un requisito ineludible para su organización, todavía no somos la opción adecuada, y preferimos que lo sepa aquí y no tres meses después de iniciar un proceso de compras.
- Sin prueba de intrusión externa publicada. Realizamos auditorías de seguridad internas y corregimos lo que encuentran, pero no hemos encargado una prueba de intrusión externa cuyo informe podamos entregarle.
- Sin acuerdo contractual de disponibilidad. El servicio se presta tal cual según nuestros Términos de servicio. La disponibilidad en vivo se publica en nuestra página de estado.
- Una sola región, una sola instancia. Como se indica en la sección 5, las copias de seguridad están fuera del servidor y su restauración se ha probado, pero la aplicación en sí no dispone hoy de conmutación automática por error.
Preferimos publicar esta lista antes que ser descubiertos en ella. Si alguno de estos puntos supone un obstáculo para usted, díganoslo: nos ayuda a ordenar el trabajo.
10. Informar de un problema o preguntarnos cualquier cosa
Si ha encontrado un problema de seguridad en WeDisplay, escriba a [email protected] con detalle suficiente para que podamos reproducirlo. Confirmaremos la recepción y le mantendremos informado mientras investigamos, y no emprenderemos acciones contra quien informe de buena fe de un problema real sin acceder, alterar ni destruir datos de otras personas en el proceso.
Para una revisión de seguridad de proveedores o un cuestionario de seguridad, escriba a la misma dirección indicando qué necesita: preferimos responder con honestidad, incluso cuando la respuesta es no, antes que dejar una casilla en blanco. Las solicitudes de privacidad se dirigen a nuestro responsable de privacidad en [email protected], y puede solicitar un Acuerdo de tratamiento de datos firmado por ambas partes en [email protected].
¿Alguna pregunta sobre esta página? Escriba a [email protected]. Todas nuestras políticas están reunidas en el Centro legal.