Network access is a policy, not a capability a tool assumes. One guard implements it for every caller.
Architecture contract
NetworkAccessPolicyV1 has network_default (DENY or ALLOWLIST), a domain list, a private-address policy, a redirect policy and a DNS-rebinding policy. Three attacks are defended explicitly:
- Private addresses. A request that resolves to a loopback, link-local or private range is refused unless the policy allows it.
- Redirects. Each hop is re-checked against the policy, with a hop limit.
- DNS rebinding. The address checked is the address used.