Code signing
Melange releases from 0.3.1 on are code-signed. You can check the signature in the file’s Properties > Digital Signatures tab, or with Get-AuthenticodeSignature <file> in PowerShell.
- What is signed:
melange.asi,Melange.exeandtools\xomtool.exein the release zip.dinput8.dllis the unmodified Ultimate ASI Loader and is not signed by Melange. - How: the
releaseworkflow builds the binaries from this repository’s public source on a GitHub-hosted runner when a version tag is pushed, signs them with Azure Artifact Signing (SHA-256, timestamped), checks the signatures, and attaches the zip, its SHA-256, and its update manifestmelange-<version>.json(the zip’s name, size and SHA-256) to the GitHub release. No locally built binary is ever signed. - By whom: the certificate is issued to the maintainer, JaminB, who is the only committer, reviewer and approver of releases.
- Where: https://github.com/JaminB/melange/releases is the only source of signed Melange releases. Forks and mirrors cannot produce them.
- Updates:
Melange.exeinstalls a new release only when the zip matches the size and SHA-256 in the release’s manifest, and the newMelange.exeandmelange.asicarry a valid signature from the same publisher as the runningMelange.exe. “Same publisher” means the certificate’s subject and its issuing organisation match; the short-lived certificates themselves change every few days. A developer build is unsigned, so it skips that comparison and says so in its log. - Privacy: signing transfers no user data. Melange collects no telemetry. It contacts GitHub when you open the Store, when
Melange.exestarts (to look for and download a newer Melange), and from the game at most once a day ([Update] CheckInGame=1). Settings › Updates › Check for updates automatically inMelange.exeturns off both automatic checks. Each request is a plain HTTPSGETthat sends nothing about you or your game.