STRING, read-only.

Available inall subroutines.

Client proxy type.

Defaults to ? when an IP address is not known to be a proxy or VPN. Other possible values are:

  • anonymous - IP address of client is not available. Includes services that change location to beat DRM, TOR points, temporary proxies, and other masking services.
  • aol - Proxied users from an AOL proxy.
  • blackberry — This new value will identify an IP address owned by Research In Motion (RIM), the company responsible for Blackberry mobile devices. All Blackberry users go through a centralized proxy location and thus cannot be accurately geo-targeted.
  • corporate - Generally considered harmless, but location can be a concern. Groups of users that are proxied through a central location or locations, and thus share a single network-apparent IP address.
  • edu - Proxied users from an educational institution.
  • hosting - Address belongs to a hosting facility and is likely to be a proxy as end users are not typically located in a hosting facility.
  • public - Multiple users proxied from a location allowing public internet access.
  • transparent - IP address of client is available via HTTP headers, though the value is not necessarily reliable (e.g., it can be spoofed).
  • ? - Not determined to be a proxy.


sub vcl_recv {
#FASTLY recv
if (client.geo.proxy_type ~ "^anonymous") {
error 600 "using anonymous proxy";
sub vcl_error {
if (obj.status == 600) {
set obj.status = 451;
return (deliver);