Skip to content

Commit ad90995

Browse files
oschwaldclaude
andcommitted
Document IP risk and anonymous plus outputs for GeoIP Insights
Add documentation for new anonymizer object with VPN confidence scoring, provider name detection, and network last seen date. Add ip_risk_snapshot field to traits for static IP risk scoring. Mark existing anonymous IP flags in traits as deprecated with migration guidance to the new anonymizer object location. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent ede63f5 commit ad90995

File tree

1 file changed

+132
-0
lines changed

1 file changed

+132
-0
lines changed

content/geoip/docs/web-services/responses.md

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@ maps to an object or an array of objects.
201201

202202
```json
203203
{
204+
"anonymizer": { ... },
204205
"city": { ... },
205206
"continent": { ... },
206207
"country": { ... },
@@ -227,6 +228,104 @@ For full examples of response bodies, select one of the following:
227228
- [GeoIP City Body Example](#geoip-city-body-example)
228229
- [GeoIP Insights Body Example](#geoip-insights-body-example)
229230

231+
### Anonymizer
232+
233+
{{< anchor-target schema--response--anonymizer >}}
234+
235+
`anonymizer` is a JSON object that contains details about anonymizer usage associated with the IP address. This data is available for GeoIP Insights only.
236+
237+
```json
238+
{
239+
"confidence": 99,
240+
"is_anonymous": true,
241+
"is_anonymous_vpn": true,
242+
"is_hosting_provider": true,
243+
"is_public_proxy": true,
244+
"is_residential_proxy": true,
245+
"is_tor_exit_node": true,
246+
"network_last_seen": "2025-01-15",
247+
"provider_name": "NordVPN"
248+
}
249+
```
250+
251+
<!-- prettier-ignore-start -->
252+
253+
{{< schema-table key="anonymizer" >}}
254+
{{< geoip-schema-row key="confidence" valueType="decimal" valueTypeNote="min: 1, max: 99" insights="true">}}
255+
A score ranging from 1 to 99 that represents our percent confidence that the network is currently part of an actively used VPN service.
256+
257+
Currently we will only provide values of 30 and 99, but the number of values will increase as we improve our confidence ratings.
258+
259+
[Learn more about anonymizer confidence on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/anonymizer-and-proxy-data-maxmind)
260+
{{</ geoip-schema-row >}}
261+
262+
{{< geoip-schema-row key="is_anonymous" valueType="boolean" insights="true">}}
263+
This is `true` if the IP address belongs to any sort of anonymous network. Otherwise, the key is not included in the `anonymizer` object.
264+
265+
**Note:** This field has been moved from the `traits` object to the `anonymizer` object. It is still returned in the `traits` object for backwards compatibility but is deprecated there.
266+
267+
[Learn more about anonymizer and proxy detection on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/anonymizer-and-proxy-data-maxmind#anonymizer-detection)
268+
{{</ geoip-schema-row >}}
269+
270+
{{< geoip-schema-row key="is_anonymous_vpn" valueType="boolean" insights="true">}}
271+
This is `true` if the IP address is registered to an anonymous VPN provider. Otherwise, the key is not included in the `anonymizer` object.
272+
273+
If a VPN provider does not register subnets under names associated with them, we will likely only flag their IP ranges using the `is_hosting_provider` flag.
274+
275+
**Note:** This field has been moved from the `traits` object to the `anonymizer` object. It is still returned in the `traits` object for backwards compatibility but is deprecated there.
276+
277+
[Learn more about VPNs on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/anonymizer-and-proxy-data-maxmind#vpns)
278+
{{</ geoip-schema-row >}}
279+
280+
{{< geoip-schema-row key="is_hosting_provider" valueType="boolean" insights="true">}}
281+
This is `true` if the IP address belongs to a hosting or VPN provider (see description of `is_anonymous_vpn` flag). Otherwise, the key is not included in the `anonymizer` object.
282+
283+
**Note:** This field has been moved from the `traits` object to the `anonymizer` object. It is still returned in the `traits` object for backwards compatibility but is deprecated there.
284+
285+
[Learn more about hosting providers used for anonymizing on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/anonymizer-and-proxy-data-maxmind#hosting-providers)
286+
{{</ geoip-schema-row >}}
287+
288+
{{< geoip-schema-row key="is_public_proxy" valueType="boolean" insights="true">}}
289+
This is `true` if the IP address belongs to a public proxy. Otherwise, the key is not included in the `anonymizer` object.
290+
291+
**Note:** This field has been moved from the `traits` object to the `anonymizer` object. It is still returned in the `traits` object for backwards compatibility but is deprecated there.
292+
293+
[Learn more about public proxies on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/anonymizer-and-proxy-data-maxmind#public-proxies)
294+
{{</ geoip-schema-row >}}
295+
296+
{{< geoip-schema-row key="is_residential_proxy" valueType="boolean" insights="true">}}
297+
This is `true` if the IP address is on a suspected anonymizing network and belongs to a residential ISP (does not include peer-to-peer proxy IPs). Otherwise, the key is not included in the `anonymizer` object.
298+
299+
**Note:** This field has been moved from the `traits` object to the `anonymizer` object. It is still returned in the `traits` object for backwards compatibility but is deprecated there.
300+
301+
[Learn more about residential proxies on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/anonymizer-and-proxy-data-maxmind#residential-proxies)
302+
{{</ geoip-schema-row >}}
303+
304+
{{< geoip-schema-row key="is_tor_exit_node" valueType="boolean" insights="true">}}
305+
This is `true` if the IP address is a Tor exit node. Otherwise, the key is not included in the `anonymizer` object.
306+
307+
**Note:** This field has been moved from the `traits` object to the `anonymizer` object. It is still returned in the `traits` object for backwards compatibility but is deprecated there.
308+
309+
[Learn more about Tor exit nodes on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/anonymizer-and-proxy-data-maxmind#tor-exit-nodes)
310+
{{</ geoip-schema-row >}}
311+
312+
{{< geoip-schema-row key="network_last_seen" valueType="string" insights="true">}}
313+
The last day that the network was sighted in our analysis of anonymized networks. This is in the ISO 8601 date format (YYYY-MM-DD).
314+
315+
[Learn more about anonymizer and proxy detection on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/anonymizer-and-proxy-data-maxmind)
316+
{{</ geoip-schema-row >}}
317+
318+
{{< geoip-schema-row key="provider_name" valueType="string" insights="true">}}
319+
The name of the VPN provider (e.g., NordVPN, SurfShark, etc.) associated with the network.
320+
321+
Please note that MaxMind identifies a subset of VPN providers. A current list of VPN providers identified in the Anonymous Plus database is available on request.
322+
323+
[Learn more about VPN provider detection on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/anonymizer-and-proxy-data-maxmind)
324+
{{</ geoip-schema-row >}}
325+
{{</ schema-table >}}
326+
327+
<!-- prettier-ignore-end -->
328+
230329
### City
231330

232331
{{< anchor-target schema--response--city >}}
@@ -702,6 +801,7 @@ address.
702801
"connection_type": "Cable/DSL",
703802
"domain": "example.com",
704803
"ip_address": "1.2.3.4",
804+
"ip_risk_snapshot": 45.5,
705805
"is_anonymous": true,
706806
"is_anonymous_vpn": true,
707807
"is_anycast": true,
@@ -755,13 +855,25 @@ address.
755855
The requested IP address.
756856
{{</ geoip-schema-row >}}
757857

858+
{{< geoip-schema-row key="ip_risk_snapshot" valueType="decimal" valueTypeNote="min: 0.01, max: 99" insights="true">}}
859+
This field contains the risk associated with the IP address. The value ranges from 0.01 to 99. A higher score indicates a higher risk.
860+
861+
Please note that the IP risk score provided in GeoIP products and services is more static than the IP risk score provided in minFraud and is not responsive to traffic on your network. If you need realtime IP risk scoring based on behavioral signals on your own network, please use minFraud.
862+
863+
[Learn more about IP risk scoring on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/maxmind-ip-network-data)
864+
{{</ geoip-schema-row >}}
865+
758866
{{< geoip-schema-row key="is_anonymous" valueType="boolean" insights="true">}}
867+
**Deprecated.** This field has been moved to the [`anonymizer`](#anonymizer) object. It is still returned here for backwards compatibility.
868+
759869
This is `true` if the IP address belongs to any sort of anonymous network. Otherwise, the key is not included in the `traits` object.
760870

761871
[Learn more about anonymizer and proxy detection on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/anonymizer-and-proxy-data-maxmind#anonymizer-detection)
762872
{{</ geoip-schema-row >}}
763873

764874
{{< geoip-schema-row key="is_anonymous_vpn" valueType="boolean" insights="true">}}
875+
**Deprecated.** This field has been moved to the [`anonymizer`](#anonymizer) object. It is still returned here for backwards compatibility.
876+
765877
This is `true` if the IP address is registered to an anonymous VPN provider. Otherwise, the key is not included in the `traits` object.
766878

767879
If a VPN provider does not register subnets under names associated with them, we will likely only flag their IP ranges using the `is_hosting_provider` flag.
@@ -774,24 +886,32 @@ address.
774886
{{</ geoip-schema-row >}}
775887

776888
{{< geoip-schema-row key="is_hosting_provider" valueType="boolean" insights="true">}}
889+
**Deprecated.** This field has been moved to the [`anonymizer`](#anonymizer) object. It is still returned here for backwards compatibility.
890+
777891
This is `true` if the IP address belongs to a hosting or VPN provider (see description of `is_anonymous_vpn` flag). Otherwise, the key is not included in the `traits` object.
778892

779893
[Learn more about hosting providers used for anonymizing on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/anonymizer-and-proxy-data-maxmind#hosting-providers)
780894
{{</ geoip-schema-row >}}
781895

782896
{{< geoip-schema-row key="is_public_proxy" valueType="boolean" insights="true">}}
897+
**Deprecated.** This field has been moved to the [`anonymizer`](#anonymizer) object. It is still returned here for backwards compatibility.
898+
783899
This is `true` if the IP address belongs to a public proxy. Otherwise, the key is not included in the `traits` object.
784900

785901
[Learn more about public proxies on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/anonymizer-and-proxy-data-maxmind#public-proxies)
786902
{{</ geoip-schema-row >}}
787903

788904
{{< geoip-schema-row key="is_residential_proxy" valueType="boolean" insights="true">}}
905+
**Deprecated.** This field has been moved to the [`anonymizer`](#anonymizer) object. It is still returned here for backwards compatibility.
906+
789907
This is `true` if the IP address is on a suspected anonymizing network and belongs to a residential ISP (does not include peer-to-peer proxy IPs). Otherwise, the key is not included in the `traits` object.
790908

791909
[Learn more about residential proxies on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/anonymizer-and-proxy-data-maxmind#residential-proxies)
792910
{{</ geoip-schema-row >}}
793911

794912
{{< geoip-schema-row key="is_tor_exit_node" valueType="boolean" insights="true">}}
913+
**Deprecated.** This field has been moved to the [`anonymizer`](#anonymizer) object. It is still returned here for backwards compatibility.
914+
795915
This is `true` if the IP address is a Tor exit node. Otherwise, the key is not included in the `traits` object.
796916

797917
[Learn more about Tor exit nodes on our Knowledge Base.](https://support.maxmind.com/knowledge-base/articles/anonymizer-and-proxy-data-maxmind#tor-exit-nodes)
@@ -1277,8 +1397,20 @@ request.
12771397
},
12781398
"type": "military"
12791399
},
1400+
"anonymizer": {
1401+
"confidence": 99,
1402+
"is_anonymous": true,
1403+
"is_anonymous_vpn": true,
1404+
"is_hosting_provider": true,
1405+
"is_public_proxy": true,
1406+
"is_residential_proxy": true,
1407+
"is_tor_exit_node": true,
1408+
"network_last_seen": "2025-01-15",
1409+
"provider_name": "NordVPN"
1410+
},
12801411
"traits": {
12811412
"ip_address": "1.2.3.4",
1413+
"ip_risk_snapshot": 45.5,
12821414
"is_anycast": true,
12831415
"network": "1.2.3.0/24",
12841416
"autonomous_system_number": 1239,

0 commit comments

Comments
 (0)