Licencias y privacidad en nuestros plugins

Esta es una traducción ofrecida para tu comodidad. En caso de discrepancia, prevalece la versión en inglés.

Versión del 2026-10-13.

Cada plugin se comunica con https://medialab.works (solo con este dominio) para las licencias, las actualizaciones y, de forma opcional, los registros. El tráfico de activación y de comprobación va cifrado por encima de HTTPS (clave ECDH efímera + AES-256-GCM; las respuestas van firmadas con ECDSA y el plugin las verifica). Lo que cada plugin envía a otros servicios, y con qué apps funciona, figura en su página de producto, en Qué envía y adónde y Compatibilidad con clientes.

El cliente de licencias (en cada plugin)

Cuándo Qué se envía
Activación (cuando el administrador introduce la clave) el id del servidor Emby/Jellyfin (server_id, el identificador interno de la instalación), una huella de hardware (hw_hash: un SHA-256 calculado localmente a partir de machine-id, el UUID/número de serie DMI si se puede leer y la dirección MAC física más baja; los valores originales nunca salen del servidor), el slug del producto, la versión del plugin, el SHA-256 + tamaño de la DLL del plugin, un nonce y una marca de tiempo; la clave de licencia nunca se envía en claro (solo su SHA-256 como identificador; la clave sirve para derivar la clave de cifrado)
Al iniciar el servidor y después cada 24 h (± hasta 1 h, aleatorio) los mismos campos a través de la sesión cifrada (el id de activación en lugar de la clave)
Antes de Update / Rollback o de una acción protegida en las páginas una nueva comprobación solo si la última correcta tiene más de 1 h (la plataforma limita la frecuencia de las comprobaciones a petición)
Update / Rollback (iniciados por el administrador en la página License) descarga del paquete desde la URL firmada que devuelve medialab.works (verificado por SHA-256 / MD5 antes de instalarlo) y, después, un informe: operación, versión de origen/destino, éxito o no, mensaje de error
Prueba gratuita / compra desde dentro del plugin (opcional) el correo que escribe el administrador, el plan elegido, el slug del producto, server_id, hw_hash, la versión del plugin, el idioma de la página; el pago se realiza en la página de Stripe Checkout de medialab.works, no en el plugin; después el plugin consulta (cada 5 s durante la primera hora y luego cada minuto mientras el enlace sea válido) si la licencia se ha reclamado
Desactivación una solicitud de desactivación a través de la sesión cifrada
Exportación de registros solo cuando el administrador hace clic en "Send log" o ha activado el envío automático (AutoSendLogs, desactivado de forma predeterminada). Solo se envían las líneas del registro actual del servidor que contienen el nombre del plugin (como máximo ~2000 líneas, comprimidas con gzip, 2 MB como máximo), más una nota opcional. Con AutoSendLogs activado: una vez al día después de la comprobación; en los plugins que modifican el cliente web de Emby (Registration, Quick Connect, MediaLab TV, y Smart Skip y Share Links cuando su modificación opcional está activada), también una vez por versión de Emby cuando la modificación no se ha podido volver a aplicar tras una actualización de Emby.

Código QR en la página License: el código QR del enlace de pago se genera localmente, en la página, sin enviar nada adicional, en todos los plugins para Emby como muy tarde desde las versiones publicadas el 14 de octubre de 2026 (MediaLab TV desde la 1.2.1), y en Jellyfin en Headend desde la 1.0.4, MediaLab TV desde la 1.2.1, Rosub desde la 1.1.3, AISub desde la 0.1.3, Smart Skip desde la 0.1.2, Transcode Doctor desde la 0.1.3 y Library Doctor desde la 0.1.6; los demás plugins para Jellyfin lo incorporarán en su próxima versión. En las versiones anteriores, mientras una prueba o una compra iniciada desde el plugin espera el pago, el navegador del administrador carga la imagen QR desde el servicio de terceros api.qrserver.com, al que le pasa el enlace de pago (la URL de la página de Stripe Checkout de medialab.works). No se envía nada más; si no compras desde dentro del plugin, nunca se contacta con este servicio.

Almacenado localmente: el estado de la licencia en <plugin data folder>/license/license.json (clave, id de activación, secreto de sesión, licencia firmada, última comprobación, preferencia de AutoSendLogs).

Lo que el cliente de licencias nunca envía: datos sobre los usuarios del servidor, títulos, bibliotecas, direcciones IP de los clientes, contraseñas, claves de API de otros servicios. El registro (solo con consentimiento) puede contener todo lo que el plugin escribe en él (por ejemplo, nombres de usuario o títulos, según el producto).

Jellyfin: la actualización y la reversión se realizan mediante el instalador de Jellyfin (zip + MD5) desde el repositorio de plugins de medialab.works; tras una reversión, la actualización automática de Jellyfin para ese plugin se desactiva hasta el siguiente Update en la página License. El catálogo público de Jellyfin siempre ofrece la versión más reciente: con una licencia de por vida cuyo período de actualizaciones ha terminado, una versión más reciente instalada por las actualizaciones automáticas de plugins de Jellyfin se detiene con "version not licensed" hasta que vuelvas a la versión anterior o compres un pase de actualizaciones (consulta las preguntas frecuentes).

Sin una licencia válida (o tras el período de gracia), el plugin pasa al modo limitado; no envía nada adicional.

Los datos personales que conservamos de nuestro lado (cuenta, licencias, ids de servidor, direcciones IP vistas por el servidor de licencias) y tus derechos se describen en la Política de privacidad.

Versiones del servidor compatibles

  • Emby: 4.10.1.0 o posterior (los paquetes para Emby se publican con min_emby = 4.10.1.0; probados en Emby 4.10.1).
  • Jellyfin: 12.x (targetAbi 12.2.0.0, .NET 10), probados en Jellyfin 12.2 y en el fork medialab Server (12.2-ml). Jellyfin 10.x no es compatible. Los plugins para Jellyfin se distribuyen bajo la GPL-3.0 con su código fuente.

Leyenda de compatibilidad

La sección Compatibilidad con clientes de cada página de producto usa estas marcas:

  • ✅ verificado (prueba de extremo a extremo o en el dispositivo)
  • 🟢 en el servidor, independiente del cliente (por diseño, sin prueba específica para cada cliente)
  • ➖ no aplicable
  • ❔ no probado