Política de firma de código
Esta página describe cómo se firma el instalador de Windows de multiemu (el emulador de Game Boy, GBA, Nintendo DS y 3DS), qué se firma, quién puede aprobarlo y qué datos envía la app por red. Última actualización: 5 de octubre de 2026.
Firma de código gratuita proporcionada por SignPath.io, certificado de SignPath Foundation.
Free code signing provided by SignPath.io, certificate by SignPath Foundation.
Qué se firma
Únicamente los instaladores y ejecutables de Windows de multiemu (multiemu-<versión>-setup.exe) generados a partir del código fuente público de este proyecto: SKYACDX/multiemu_exe, que a su vez usa el código de la app de Android, SKYACDX/multiemu. No se firman binarios de otros proyectos. El programa es software libre bajo la licencia GPL-3.0-or-later e incluye componentes de terceros con sus propias licencias (melonDS, mGBA, Azahar, Electron); el detalle está en el archivo THIRD_PARTY_NOTICES.md de cada repositorio.
Roles del equipo
multiemu es un proyecto con un único mantenedor, que cumple los tres roles que exige la política de SignPath Foundation:
- Autores y committers (quienes escriben el código): WilbertACDX
- Revisores (quienes revisan los cambios antes de publicar): WilbertACDX
- Aprobadores (quienes autorizan cada solicitud de firma): WilbertACDX
Privacidad: qué datos envía la app
multiemu no incluye analíticas, telemetría ni reporte automático de errores. Esto es todo lo que la app de Windows transmite por red, y solo va a RomHack Hub (emulatornds.online), a los servicios de archivos e imágenes que RomHack Hub indica y, solo si tú entras a una sala de la inalámbrica por internet de 3DS, al servidor de salas del proyecto:
Sin iniciar sesión
- Comprobación de actualizaciones, al abrir la app y cada 2 horas: una consulta
GET /api/v1/app/releases?limit=20. La app no envía su versión ni ningún identificador; compara las versiones localmente. Si hay una nueva, la descarga del instalador (desde almacenamiento Cloudflare R2, con un enlace firmado temporal) solo ocurre cuando pulsas el botón de actualizar. - Catálogo: las listas de archivos y plataformas de RomHack Hub, y la descarga de los archivos que elijas.
- Carátulas: las imágenes se descargan de las direcciones que indica el catálogo (normalmente
cdn.thegamesdb.net, de TheGamesDB). - Comentarios, solo cuando tú los envías: el texto, la versión de la app, la versión de Windows (por ejemplo "Windows 10.0.26300"), una captura opcional y un nombre opcional si no has iniciado sesión.
- Juego en línea de Nintendo DS, solo si un juego intenta conectarse: el tráfico de la consola emulada sale por tu propia conexión, mediante una red virtual (libslirp), hacia los servidores que ese juego o el DNS configurado en él usen. No pasa por RomHack Hub.
Con tu cuenta de RomHack Hub (opcional)
- Inicio de sesión: tu correo y contraseña (y el código de verificación en dos pasos, si lo tienes activado) se envían por HTTPS a RomHack Hub. La app guarda solo un token de acceso, que caduca a los 90 días, cifrado con el almacén de credenciales del sistema (DPAPI en Windows); si el sistema no ofrece cifrado, no se guarda nada. La contraseña nunca se guarda.
- Guardados en la nube: el archivo de guardado o el estado, su ranura, el nombre del archivo y un identificador del juego (el sistema más el CRC32 de la ROM; en 3DS, el identificador del juego que lleva la propia ROM). En un juego de 3DS el guardado es la carpeta de datos del juego, empaquetada en un zip. Con un juego de GBA, DS o 3DS abierto, el guardado se sube solo cada 45 segundos si cambió (en 3DS, también al salir del juego); en Game Boy, solo con el botón de subir. Nunca se suben ROMs. La app envía también el título del juego, leído de la propia ROM (nunca del nombre del archivo), y aparece en tu perfil público de RomHack Hub junto con cuántos juegos tienes guardados; puedes ocultar los títulos desde tu cuenta, y el número de juegos sigue visible.
- Comentarios enviados con la sesión iniciada quedan asociados a tu cuenta.
Si usas la inalámbrica por internet de 3DS (opcional)
Es opcional: solo ocurre cuando eliges una sala (de la 1 a la 10) en el menú de pausa de un juego de 3DS. Sin hacerlo, la app nunca se conecta a ese servidor. Al entrar, la app se conecta por UDP al servidor de salas del proyecto (160.34.211.121, puertos 24872 a 24881, alojado en Oracle Cloud, Querétaro, México) y le envía:
- Tu dirección IP, como en cualquier conexión de red.
- Un apodo aleatorio, distinto en cada entrada a una sala:
multiemu-y seis caracteres hexadecimales. - Un identificador aleatorio de sesión: 64 caracteres hexadecimales generados al azar en cada entrada a una sala. No se obtiene de tu equipo ni de tu instalación y es distinto cada vez, así que no permite reconocerte de una sesión a otra; el servidor lo usa solo para no admitir dos consolas con el mismo identificador en una sala.
- El nombre y el identificador del juego de 3DS que tienes abierto.
- El tráfico inalámbrico del juego: lo que el propio juego envía a los demás jugadores de la sala, por ejemplo en un intercambio o un combate.
No envía datos de tu cuenta de RomHack Hub, tokens, contraseñas, ROMs ni mensajes de chat. Es el servidor de salas estándar de Azahar, que ejecuta el proyecto.
El servidor registra cada entrada y salida de una sala con tu dirección IP y tu apodo, y qué juego está jugando cada apodo, en el registro del sistema del servidor. No registra el contenido del tráfico del juego, pero ese tráfico viaja sin cifrar entre tu consola y el servidor, que lo retransmite al resto de la sala, así que técnicamente puede verlo. Esos registros se conservan 7 días y luego se borran solos. No se copian a otros archivos del servidor, su cortafuegos no registra conexiones y no se envían a servicios de terceros.
Lo que no se envía
Tus ROMs, la lista o las rutas de tus archivos, identificadores de tu equipo o de su hardware, ni datos de uso.
Lo que registra el servidor
Como cualquier sitio web, RomHack Hub recibe la dirección IP y el agente de usuario de cada solicitud. Además guarda:
- Los intentos de inicio de sesión (correo, IP, agente de usuario, resultado y método), que cada persona puede ver en la sección de seguridad de su cuenta.
- Las descargas de archivos y parches del catálogo (IP, agente de usuario, fecha y, si la descarga se hizo con sesión iniciada en la web, la cuenta).
- Contadores de descargas de cada versión de la app, sin datos personales.
Para funcionar, el servicio usa Vercel (alojamiento), Neon (base de datos), Cloudflare R2 (archivos) y Upstash (límite de solicitudes por IP). La app de Android usa los mismos servicios de RomHack Hub.
Contacto
Para dudas sobre esta política o sobre la firma del programa, escríbenos.