Skip to main content
Each lookup returns one classification and the is_* flags that go with it. This page suggests what to do with each one at a decision point such as a sign-up, a login or a checkout:
  • Allow: let it through.
  • Challenge: ask for a step-up check the person can pass, such as a one-time code.
  • Review: hold it, or let it through flagged, for a person or your next signal to decide.
  • Block: refuse it.
These are starting points, not guarantees. A lookup classifies the IP address, not the person behind it, so test any rule on your own traffic before you enforce it, and adjust it to what a wrong call costs you. The sample in the lookups guide is the strict version: it blocks every VPN except a company VPN, every proxy, every residential proxy hit and Tor. The defaults here block Tor too, but they are gentler on VPNs, proxies and residential proxy hits, and they add a review for hosting addresses.

By category

Two proxy labels get a softer default. suspected_proxy is proxy evidence that falls short of confirmation, and mobile_proxy (not assigned since 2026-05-02) sits on a mobile carrier’s addresses, which many people share. Both set is_proxy. To check a search crawler, look its address up in the operator’s published IP list, or run a reverse-then-forward DNS lookup. If many of your lookups return cdn, check that you look up the visitor’s address rather than your own CDN’s. The same defaults in code. It reads only fields that every plan returns:

Shared addresses

On a mobile carrier, a satellite network or a secure web gateway, many people share one address, so a proxy sighting there says little about the person in front of you. A residential proxy hit on one of these networks that we list scores at most 60, however recent, and carries the SHARED_ADDRESS_NETWORK reason, so the default above challenges it rather than blocking it. A VPN, proxy, threat-list or hosting match on the same address keeps the score it would have on its own, so a hit on a listed network can still score above 60; the reason is then left out. The list does not yet cover every such network, and infra_type does not mark mobile networks, so the reason, not the network’s type, tells you the cap applied. On a shared network we don’t list, a residential hit keeps its full score: if you know the network is shared, challenge or review the hit rather than block it. On the networks that Zscaler, Netskope and Cisco Umbrella run themselves, an address with no range or observation of its own answers unknown with a risk_score of 0 (see Tiers).

Where location rules apply

For content licensing or regional pricing, ask for a second location signal when is_vpn, is_relay or is_tor is true. That includes corporate VPNs and privacy relays, which the defaults above allow.

Think a result is wrong?

See Report a result you think is wrong.