Skip to main content

Jurisdictions

Jurisdictions are geographic regions that have their own specific regulations regarding age verification, digital consent, and data protection. k-ID tracks regulations across 200+ markets and uses jurisdiction information to determine what compliance requirements apply to each user.

What's a jurisdiction?

A jurisdiction is typically a country or a subdivision within a country (such as a state or province). Jurisdictions are identified using ISO codes:

  • ISO 3166-1 alpha-2 country codes: Two-letter country codes such as US, GB, DE, AU
  • ISO 3166-2 subdivision codes: Subdivision codes such as US-CA (California, United States), GB-ENG (England, United Kingdom), DE-BY (Bavaria, Germany), AU-NSW (New South Wales, Australia)

Detecting location

While location can be self-declared by the player, the preferred way of getting location information is to call a service from the game that responds with information about the player's IP address. The location string can be either an ISO 3166-1 alpha-2 country code (for example, "US") or an ISO 3166-2 subdivision code (for example, "US-CA").

Best Practice

Always provide the subdivision code whenever possible. Even if a region currently doesn't have localized regulations, it might have them in the future. By providing the subdivision code, it's ensured that the player's permissions can be adjusted as regulations change.

Security Considerations
  • Some games have their own protections in place to detect and prevent location spoofing (for example, through players using VPNs). Make sure that the location that's sent to the k-ID API has been validated by these tools as applicable before it's sent to avoid an incorrect configuration.

  • As a best practice, a player's jurisdiction is considered static when the player first launches the game, and can't be changed except if the customer files a support request - this is to discourage players from "forum shopping" to enable features that should otherwise be prohibited in their jurisdiction.

One example to get the location for the player's IP address is to call a service such as https://ipapi.co/json, which produces results similar to the JSON shown below.

{
"ip": "76.22.71.171",
"network": "76.22.68.0/22",
"version": "IPv4",
"city": "Issaquah",
"region": "Washington",
"region_code": "WA",
"country": "US",
"country_name": "United States",
"country_code": "US",
"country_code_iso3": "USA",
"country_capital": "Washington",
"country_tld": ".us",
"continent_code": "NA",
"in_eu": false,
"postal": "98027",
"latitude": 47.4998,
"longitude": -122.0086,
"timezone": "America/Los_Angeles",
"utc_offset": "-0800",
"country_calling_code": "+1",
"currency": "USD",
"currency_name": "Dollar",
"languages": "en-US,es-US,haw,fr",
"country_area": 9629091.0,
"country_population": 327167434,
"asn": "AS7922",
"org": "COMCAST-7922"
}

Supported jurisdictions

k-ID tracks regulations across 200+ markets. The following jurisdictions are tracked in the k-ID Regulatory Hub and are accepted as valid ISO Country or Country and Region codes. Using a valid Region code not mentioned below along with a country on this list is still valid as a parameter to APIs that require a jurisdiction (for example, "US-MA"), but the behavior of the API won't differ from the country.

For a complete list of supported jurisdictions, see Supported Jurisdictions.

Jurisdiction-specific requirements

Different jurisdictions have different requirements for:

  • Digital consent age: The minimum age at which a player can provide digital consent for data processing
  • Civil age: The civil/contract age at which a player is considered a legal adult in the jurisdiction
  • Minimum age: The minimum age required to access the platform/game (typically 0 unless restricted)
  • Age collection methods: Which methods are approved for collecting age signals (date of birth, age slider, platform account)
  • Age assurance requirements: Whether age verification is required for players in this jurisdiction

These requirements are automatically determined by k-ID based on the jurisdiction you provide. You don't need to implement jurisdiction-specific logic yourself - k-ID handles this automatically.