# Pinned version + hash for guardian_scan.yml's controller-side
# self-install when ai-guardian is not already on PATH. requests plus
# its full transitive
# dependency chain, explicitly (pip's --require-hashes mode refuses to
# resolve any unpinned/unhashed dependency, which is the whole point:
# every wheel that ends up in the sandbox is verified against a hash
# recorded here, not just trusted from a bare version pin). Regenerate
# with:
#   pip3 download --platform any --python-version 3.11 \
#     --implementation py --abi none --only-binary=:all: \
#     -d <dir> requests==<new-version>
#   shasum -a 256 <dir>/*.whl
requests==2.34.2 --hash=sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0
charset-normalizer==3.5.1 --hash=sha256:6df0ec430f9a831772c23ca5a224cba36517a58a84bb32c32bb59a9fa67c47f6
idna==3.19 --hash=sha256:815e7be7a7806d54abb586dc943addc79e8b2ee16915059658cbeff4b1b43bf4
urllib3==2.8.0 --hash=sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3
certifi==2026.10.23 --hash=sha256:e9b54de76e530bb6cf0ccd036787103acb58fd42ba930ea8bf948ddbaa2f61d1
