Skip to main content
IP controls let you restrict which IP addresses can validate a given license. When enabled, KeyPort tracks and enforces IP registration rules at validation time.

How IP controls work

When a license is validated, KeyPort evaluates IPs in the following order:
1

Platform blacklist check

KeyPort checks the IP against the platform-wide blacklist. Blacklisted IPs are blocked immediately.
2

Organization blacklist check

On Pro and Enterprise plans, KeyPort checks the IP against your organization’s blacklist.
3

Customer blacklist check

If the customer attached to the license has an IP blacklist entry, KeyPort blocks that IP before license-level IP registration rules are evaluated.
4

Per-license blacklist check

KeyPort checks the IP against any blacklist configured directly on the license.
5

IP registration and limits

KeyPort checks whether the IP is registered for the license and whether the registration limit has been reached.

Enabling IP controls

IP controls are configured at the product level. To enable them, turn on the IP system for your product in the KeyPort dashboard. Individual licenses inherit the product’s IP settings, including the max_ips limit.

IP registration behavior

How IPs are registered depends on two settings: track_ip_on_validate and auto_register_ip_on_validate.
  • If track_ip_on_validate is off, validation does not record the caller’s IP at all.
  • If auto_register_ip_on_validate is off, any IP that isn’t already registered returns ip_not_registered.
  • If auto-registration is on, the first IP to validate can self-register.
  • Once at least one active IP is registered, a different unknown IP returns ip_not_registered.
  • If the license has already reached its max_ips limit, any new registration attempt returns ip_limit_reached.
Do not assume that every new IP will auto-register up to max_ips. Test your product’s exact IP policy to confirm the behavior you expect.

Validate response fields

When IP controls are active, the validate response includes these fields:
ip_registered
boolean
Whether the calling IP is registered for this license.
ip_count
integer
The number of IPs currently registered for this license.
max_ips
integer
The maximum number of IPs allowed for this license.
{
  "ip_registered": true,
  "ip_count": 1,
  "max_ips": 1
}

Blocking states

If IP validation fails, the response will include one of these states:
StateMeaning
ip_blockedThe IP is on a blacklist at the platform, organization, customer, or license level.
ip_limit_reachedThe license is already at its max_ips limit; the new IP cannot register.
ip_not_registeredThe IP is not registered and auto-registration is disabled or blocked.
Handle these states in your application to give users appropriate feedback when their IP is not permitted.