Effective 15 July 2026. Applies to GeoRestrict v2.0.0 and the public services maintained for it.

The short version: GeoRestrict needs a connection IP to determine a country and network. It checks the plugin's local cache first. A miss is sent to the configured Worker and may be handled by the services listed below. Demonz Development does not operate a player dashboard or build player profiles from these lookups.

Who controls the data?

The Minecraft server owner chooses whether to install GeoRestrict, which rules to enforce, how long the plugin cache lasts, and whether Discord notifications are enabled. That operator is responsible for telling their community how connection data is used and for following the privacy rules that apply to their server. Demonz Development maintains the open-source plugin, the public Worker, the documentation site, and the protected fallback server.

Data the plugin processes

DataWhy it is usedWhere it may go
Connection IP addressCountry, ASN and VPN/proxy checksLocal plugin cache; configured Worker; a configured provider on a Worker-cache miss; protected fallback server after provider failure
Country, ASN, AS/ISP name and network flagsApply the operator's rulesLocal plugin cache and Worker caches
Player name and decision detailsOptional operator notificationsOnly the operator's Discord webhook when that feature is enabled
Aggregate plugin metricsUnderstand platform/version usagebStats, when metrics are enabled by the platform configuration

Lookup path and retention

Discord, metrics and update checks

Discord notifications are optional. When enabled, the operator chooses the fields sent to their webhook. The default fields include player name, decision, masked IP, country, ASN, ISP and reason; discord.maskIp is on by default. Turning masking off sends the full address to Discord.

GeoRestrict uses ordinary aggregate bStats metrics with separate platform IDs. The plugin does not send player names or player IP addresses to bStats. Its update checker asks Modrinth for the latest project version and does not add player information to that request.

Removing data and changing the setup

An operator can clear local lookup data with /georestrict purgecache, disable Discord delivery by removing the webhook, or uninstall the plugin and delete plugins/GeoRestrict/. Worker cache entries expire automatically. A player who has a privacy question should contact the owner of the Minecraft server they joined, because that operator controls the plugin configuration and local cache.

Children and sensitive communities

Minecraft communities can include younger players. GeoRestrict is an administration tool, not a service intended to collect profiles from children. Server owners should use only the data they need, keep IP masking enabled, avoid unnecessary allowed-player notifications, and provide any notices or consent required in their region.

Sources, changes and contact

Primary country and ASN data is supplied by IPinfo Lite. Fallback Country and ASN data comes from DB-IP Lite under CC BY 4.0. Material policy changes will be recorded in the changelog and dated on this page.

For a privacy question, bug report, or concern, open a GitHub issue without including a player IP, or join the Demonz Development Discord. We want to hear when the plugin is unclear or gets something wrong.