Skip to main content

Windows 11 broad-fleet release compliance guard.

Project description

Windows 11 Release Guard dashboard preview

Download from PyPI

Windows 11 Release Guard

Python PyPI downloads GitHub Release Stars

CI Publish policy Publish Python package CodeQL

Pylint Dependency audit Dependency freshness

Windows release policy guard for broad-fleet Windows 11 version checks.

Windows 11 Release Guard tells administrators whether an existing Windows 11 device is on the current fleet release and quality baseline, using a signed JSON feed, build-first local evidence, a static GitHub Pages dashboard/API, and a PyPI package for sysadmin/RMM automation. The repository, distribution package, installed console command, and Python import package use the same win11_release_guard name.

[!IMPORTANT] Compliance trust comes from the signed public policy JSON plus detached signature, not from display labels or badge state. Start with Policy Feed and Trust Model and Local Windows Detection.

Fact Value
Project / package win11_release_guard
Version 0.3.2
Console script win11_release_guard
Python entry point python -m win11_release_guard
Repository https://github.com/Avnsx/win11_release_guard
PyPI https://pypi.org/project/win11-release-guard/
Public feed https://avnsx.github.io/win11_release_guard/windows-release-policy.json

What This Does

  • Checks Windows 11 release/build/baseline compliance from a signed public JSON release policy feed.
  • Uses build-first local evidence; ProductName, WMI Caption, and DisplayVersion stay diagnostic.
  • Keeps Windows Update Agent data optional and secondary; WUA diagnostics never override the policy verdict.
  • Compacts local Panther/setup log tails in JSON by default while keeping raw bounded local diagnostics available through an explicit CLI opt-in.
  • Keeps Panther reads narrow and fast with fixed known paths, per-file tail reads, and a generous global collection guard.
  • Treats Panther/setup logs as administrator troubleshooting evidence only; they never decide compliance or override signed public policy.
  • Shows Source Diagnostics as Notice, Warning, and Error categories on the static dashboard; these are troubleshooting signals, not fleet verdict authority.
  • Shows GitHub Issue ticket links only from workflow-generated static metadata; browser JavaScript never creates or syncs issues.
  • Treats existing devices as targeting 25H2 while 26H1 remains excluded for existing-device targeting.
  • Emits human output, JSON, JSON-pretty, file output, and stable exit codes for RMM/fleet checks.
  • Publishes a static GitHub Pages dashboard, Pages Wiki, and /api/v1 policy, signature, and manifest aliases.

Quick Start

Install the released package:

python -m pip install win11_release_guard
win11_release_guard --pretty
win11_release_guard --json-pretty --no-wua
win11_release_guard --json-pretty --include-raw-local-diagnostics

Production compliance jobs normally use:

win11_release_guard --strict-production --json-pretty --no-wua

[!TIP] RMM jobs normally want stable JSON and exit codes first; keep WUA as secondary read-only context unless you explicitly need local update-offer evidence. See CLI and RMM Usage.

Deep dive: Quick Start, CLI and RMM Usage, Configuration.

Public Feed And Dashboard

Artifact URL
Pages dashboard https://avnsx.github.io/win11_release_guard/
Pages Wiki https://avnsx.github.io/win11_release_guard/wiki/
Pages changelog https://avnsx.github.io/win11_release_guard/wiki/changelog/
Signed policy JSON https://avnsx.github.io/win11_release_guard/windows-release-policy.json
Detached signature https://avnsx.github.io/win11_release_guard/windows-release-policy.json.sig
Policy manifest https://avnsx.github.io/win11_release_guard/policy-manifest.json
API v1 policy https://avnsx.github.io/win11_release_guard/api/v1/policy.json
API v1 signature https://avnsx.github.io/win11_release_guard/api/v1/policy.sig
API v1 manifest https://avnsx.github.io/win11_release_guard/api/v1/manifest.json

Public /api/v1 aliases and signing-key overlap rules are maintained for at least 24 months unless a documented last-resort trust break is required. GitHub Pages is static; feed freshness is recomputed from generated timestamps in the browser and CLI. Source Diagnostics tiles filter Notices, Warnings, and Errors; View all resets the feed. Optional #Ticket links are hover/focus-only static links to repository issues when workflow-generated metadata exists for real warning/error source-diagnostic events.

[!NOTE] Policy Feed Currency is the latest compilation timestamp for the parsed policy results. If it looks old, check the publish-policy workflow and the Anti-Static Freshness notes.

Deep dive: GitHub Pages Dashboard, Anti-Static Freshness, dashboard docs.

Support The Project

If Windows 11 Release Guard saves you time or helps your fleet checks, please star the repository. Stars make the project easier for other Windows administrators to discover and help justify continued testing, documentation, release automation, and dashboard work.

Stargazers repo roster for @Avnsx/win11_release_guard

Common User Paths

You are Start here
New user Quick Start
Admin / RMM user CLI and RMM Usage
Maintainer Build, Test and Release
Release manager Tagged release lane
Package maintainer PyPI Trusted Publishing lane
Future agent Agent Chokepoints

Core Concepts

Concept Short version Detail
Trust source Public JSON plus detached Ed25519 signature decides policy usability. Policy Feed and Trust Model
Local detection Build and signed policy evidence are the release truth. Local Windows Detection
WUA role Optional read-only explanation for offers/history. Troubleshooting
Release targeting 25H2 is the existing-device target; 26H1 is excluded for existing devices. Architecture Insight
Versions Package/program version is not schema_version or api_version. v0.3.2 notes
Source diagnostics Notice/warning/error troubleshooting evidence stays visible; generator error events can block policy publishing, but diagnostics do not override runtime compliance verdicts. Source Diagnostics

Maintainer Commands

python -m compileall -q win11_release_guard tools tests
python tools/check_project_identity.py
python tools/check_version_consistency.py
python tools/check_github_action_versions.py
PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 pytest -q
python tools/scan_for_secret_material.py README.md CHANGELOG.md AGENTS.md docs wiki win11_release_guard tests tools pyproject.toml .github
python -m win11_release_guard --check-policy-source
python -m win11_release_guard --check-public-pages
python -m build
python -m twine check dist/*
python tools/export_clean_archive.py --output dist/win11_release_guard-source.zip
python tools/export_clean_archive.py --validate dist/win11_release_guard-source.zip

Deployment-affecting changes require the live Pages gate before handover. Use the full gate in AGENTS.md and Build, Test and Release when changing workflows, the policy generator, signing, Pages, manifest/API aliases, source URLs, or public-check CLI behavior.

Safety And Trust Model

  • Runtime clients fetch public JSON plus .sig. Runtime clients do not authenticate to GitHub and do not need GitHub tokens, private repository access, or a paid signing certificate.
  • The private policy signing key lives only in the GitHub Actions secret WIN11_RELEASE_GUARD_POLICY_SIGNING_KEY_B64; public verification keys are committed.
  • The production generator uses public Microsoft Release Health and Atom sources only; it does not use token-authenticated Microsoft APIs.
  • Source Diagnostics issue sync runs only for warning/error events in GitHub Actions with the built-in github.token / GITHUB_TOKEN and minimal issues: write; notices stay dashboard-only, and no PAT or extra repository secret is required.
  • PyPI publishing uses Trusted Publishing / GitHub OIDC in .github/workflows/pypi-publish.yml; no PyPI API token is required.
  • GitHub scheduled workflows are best-effort automation, not guaranteed cron. Badge status is a useful signal, not an operational proof.
  • Dependency freshness is checked by a scheduled workflow. Dependency freshness is a scheduled direct-dependency check over direct dependency specifiers; it is not an always-current dependency guarantee. The Pylint badge reports the workflow for the current --fail-under=8.0 gate, not a permanent quality certificate.

[!WARNING] Source Diagnostics explain parser/source health and can block publishing on generator error events, but they never override the signed runtime verdict. Review Source Diagnostics before treating a warning as fleet compliance evidence.

Deep dive: policy signing, security automation, Tagged release lane.

Documentation Map

Need Link
Pages Wiki home https://avnsx.github.io/win11_release_guard/wiki/
Pages changelog https://avnsx.github.io/win11_release_guard/wiki/changelog/
GitHub internal Wiki (Markdown mirror) https://github.com/Avnsx/win11_release_guard/wiki
Full architecture Architecture
Maintainer guide docs/maintainer-guide.md
Release notes CHANGELOG.md and docs/releases/v0.3.2.md
Safe source archives Safe Exports and Clean Archives
FAQ FAQ

The generated Pages Wiki is the primary public, indexed documentation surface. The GitHub internal Wiki remains a Markdown-compatible mirror for GitHub-native browsing. The repository wiki/ folder is source for both. .github/workflows/publish-policy.yml renders it into GitHub Pages. .github/workflows/sync-wiki.yml can mirror the same wiki/*.md source Markdown to the GitHub internal Wiki with the built-in Actions token, or produce a dry-run artifact for manual sync fallback. The Pages renderer is first-party Python, escapes raw HTML, emits local-only inline SVG visuals, and uses no external JS, CSS, fonts, CDN, npm, browser GitHub write path, or browser token.

CHANGELOG.md remains the manually maintained changelog source of truth. Newer entries are added at the top; older version sections remain visible in the generated Pages changelog.

Contribution, Support, License

Do not commit GitHub tokens, private signing keys, generated site/, generated dist/, .tmp/, dependency-freshness.json, package metadata folders, pycache, raw worktree archives, or private key scratch files.

This project is independent open-source software and is not affiliated with Microsoft.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

win11_release_guard-0.3.2.tar.gz (333.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

win11_release_guard-0.3.2-py3-none-any.whl (221.2 kB view details)

Uploaded Python 3

File details

Details for the file win11_release_guard-0.3.2.tar.gz.

File metadata

  • Download URL: win11_release_guard-0.3.2.tar.gz
  • Upload date:
  • Size: 333.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for win11_release_guard-0.3.2.tar.gz
Algorithm Hash digest
SHA256 fb68e53258ea4966cce74fe8e3b8b196f7a792b3760071c95607a2c734a5eec8
MD5 db8ec743440162c6ecc99cd5f682c46c
BLAKE2b-256 6af1a639ad3263526192767ac49774e4c91c37c9eea1fac2e7b0c22e2a4519b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for win11_release_guard-0.3.2.tar.gz:

Publisher: pypi-publish.yml on Avnsx/win11_release_guard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file win11_release_guard-0.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for win11_release_guard-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0f6bcb6d196c5590cf0a7566512ccb856301259d1c6cc03e7910a6307759da5e
MD5 4777a28b54e8ce03074736447ffdc980
BLAKE2b-256 add63f341445c3b60fc52190c35c310d8ece978d5499a55d40dc2393381c62fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for win11_release_guard-0.3.2-py3-none-any.whl:

Publisher: pypi-publish.yml on Avnsx/win11_release_guard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page