Packaging & Verification
Catalog apps are packaged from a public WinGet manifest by a pinned, repeatable pipeline. Custom apps are packaged from an installer URL you provide. This page describes each step and how to verify a package without taking our word for it.
How a package is built
In hosted mode, the packaging step runs in an ephemeral runner, and the installer and built package exist only for the duration of the job. In local mode (PACKAGER_MODE=local), packaging runs on your own Windows machine, so the installer and the built package reside there under your control.
What is pinned
Verify a package yourself
- On the app page. Each app shows the installer source, the installer SHA-256, the PSADT version, the packaging commit, and the tested package profile.
- In the QA report. The per-version report records the outcome, install and uninstall phases, detection, captured commands, and the VirusTotal result for the installer hash.
- Against the manifest. Open the app in the WinGet manifest and compare the recorded SHA-256 with the one shown on the app page.
- By running it yourself. Clone the repository and self-host to run the same pipeline with your own app registration.
Source of truth
Catalog data comes from the WinGet community manifests at microsoft/winget-pkgs. The manifests, including their SHA-256 values, are public and can be checked against any package.
Limits to know about
See the full permission list and data flow on the security page. Open the security page