# 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.7.0 --hash=sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897
certifi==2026.7.22 --hash=sha256:62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775
