Guides · Product
Modrinth's telemetry disclosure: what to write if your mod or plugin collects data
Modrinth now asks every project that collects data to disclose it. What counts, which consent option to pick, and a disclosure you can copy.
On 13 August 2026 Modrinth added a Disclosures tab to project settings. One of its entries is "Contains telemetry", and the rule behind it is short: if your project collects any data on users, sent to you or to a third party, it must be disclosed there.
That covers more projects than people think. An update checker that reports the server's version, a crash reporter, bStats, an analytics SDK: all of them send usage data somewhere. This guide covers what counts, which option to choose, and what to write.
What counts as telemetry
Modrinth's help article gives the usual examples: the Minecraft versions in use, the hardware the content runs on, and player counts on servers. If your mod or plugin sends any of that, or anything else about how it's used, disclose it.
Two things don't need a disclosure:
- Transfers that are obvious from what the project does. A mod that syncs a map to your own web server has to talk to that server.
- Transient data that isn't stored. A request that's answered and forgotten.
A version check that only downloads the latest version number, and keeps nothing about who asked, is in the second group. One that logs which servers asked is telemetry.
The three consent options
When you mark the project as containing telemetry, you pick how players and server owners agree to it:
- Opt-in. Nothing is sent until someone turns it on. The most respectful option, and the one that collects the least.
- Opt-out. It's on by default and anyone can turn it off. This is what most server-side plugins do, and it's what Modrinth's own example shows: "Anonymous launch analytics about game version and mod loaders."
- Always active. No way to turn it off. Hard to justify for analytics; players will notice, and so will moderators.
You also list the types of data collected. Be specific: "server software and Minecraft version, number of players online, anonymous feature usage" tells a server owner far more than "usage statistics".
A disclosure you can copy
For a plugin or mod that sends anonymous usage statistics with an off switch:
Contains opt-out telemetry. Sends anonymous usage statistics: a random server id, the server software and Minecraft, Java and plugin versions, the number of players online, which features are used (counts only), and errors with names, IPs and UUIDs removed. Never sent: player names, UUIDs or IP addresses, chat, or the server's address. Turn it off with
enabled: falseinplugins/PluginAnalytics/config.yml.
Adjust the list to what your project really sends, and keep it in your description too: plenty of people read the description and never open the details panel.
Link to a page that stays current
Data collection changes with your code. A disclosure written once drifts out of date the first time you track something new.
If you use PluginAnalytics, every plugin and mod has a public page at pluginanalytics.dev/project/<code> that lists exactly what it collects: what the SDK sends, the event names and config options your project reported recently, and how to turn it off. It's on by default and updates by itself, so linking it from the disclosure keeps the disclosure honest. You can leave the event names or config options out of it if you'd rather not show them. The link is in Settings → Sharing and API. Public page
Opt-in, done properly
If you choose opt-in, the question has to reach someone who can answer it:
- In a mod running in a player's game, the player. The PluginAnalytics SDK for Fabric and NeoForge shows Minecraft's own Yes/No screen once, over the title screen, when you call
requireConsent(). Nothing is sent until they say yes. - In a plugin or a mod on a dedicated server, the server's owner. Operators see the question in chat when they join and answer it with a command; the console logs it too. The answer is saved per plugin in the shared config file.
analytics = PluginAnalytics.start(this, "pa_your_key").requireConsent();
Details for each platform are in the API reference and the server owners' guide.
Before you publish
- Mark "Contains telemetry", pick the consent option your code really implements, and list the data types.
- Put the same disclosure, or a link to your public page, in the description.
- Mention the off switch, and make sure it works for every plugin or mod at once: server owners don't want to hunt for one setting per jar.
- If anything about players is sent, check that it's anonymous before it leaves the server, not after.
More guides
Analytics for Fabric and NeoForge mods, on servers and in players' games
Count the servers and games running your Fabric or NeoForge mod, see which features get used and which errors happen, with anonymous, disclosed telemetry.
4 min readProductHow to see how many servers use your Minecraft plugin
Two ways to count the servers running your Spigot or Paper plugin, bStats and PluginAnalytics, why it differs from downloads, and its limits.
4 min read