Discord servers › Passport

The GroupFinds Passport: what it is, what it shows, and what it never shows

A GroupFinds Passport is one card showing a Discord member’s standing, achievements and time across every server they share with GroupFinds. Every field is off until the member switches it on.

What a Passport is

A GroupFinds Passport is a single card that shows what a Discord member has actually done across the servers they are in. Not one server: all of them, so long as GroupFinds is in the server and counting. It carries their hours in voice calls, how long they have been in each of their servers, how far back their earliest server join goes, their longest run of days with time in a call, where their hours rank against everyone GroupFinds counts, and who they spend those hours talking to.

The reason it exists is that Discord has no memory that travels. A member can be the person who holds a community together for six years, and the day they walk into a seventh server they are a blank name with a default avatar. Every levelling bot in Discord, GroupFinds included, counts what happens inside one server and stops at its edge. The Passport is the part that does not stop at the edge.

It is a card, not a profile. There is no page anybody can browse to look people up, no directory of members, and no way to search for somebody by name. A Passport is shown when the person it belongs to chooses to show it, and the only automatic surface — an arrival card when they join a server — is itself a field they have to switch on.

What it shows

A Passport has eleven fields and every one of them is a separate decision. Nothing is bundled. These are the nine that appear on the card itself:

Voice hours
Total hours in voice calls, added up across every server running GroupFinds. It includes each server’s own history from before GroupFinds started recording calls there, which is why the card does not print a "counted since" date: the first recorded call would understate the real span.
Time in each server
How long the member has been in each of their servers, longest first, up to three of them.
Server names
Whether those servers are named. This one is different from the rest and is explained below.
Years active
How far back the earliest server join GroupFinds can see goes.
Longest streak
The longest run of consecutive days with time in a call.
Top spots
Servers where the member is near the top for voice time, as a percentage.
Rarity
The voice-hour milestones they have reached, and how many other people have reached the same one.
Call buddies
Hours shared in calls with a particular person. This one needs both people to have switched it on: a Passport never names somebody who has not agreed to be named.
Joined and left
How many servers the member has joined and how many they have left, counted only from joins and leaves GroupFinds actually observed.

The other two fields are not lines on the card but places it can appear. Arrival cards post the member’s Passport once, in a server, when they arrive or when they are next active there. The public page puts the fields they switched on at an address on groupfinds.com. Both are off unless chosen, and both can be switched off again, which removes what they published.

The Passport opens after sixty minutes in voice calls. Below that a member can still see it: they get their own numbers so far, what is already filled in, and how much is still needed, and nothing is shown to anybody else. The threshold exists so that a card has something on it worth showing rather than a row of zeroes.

What it never shows

A Passport never shows the content of anything. Not a message, not a word said in a call, not a channel name, not a direct message, not who was in a voice channel at what time. GroupFinds counts minutes and events; it does not keep what was said, and there is nothing in the Passport that could reveal it.

It never shows a rank in the bottom half. This one is a deliberate rule with a name in the code. A Passport is a card somebody shows their friends, and "Top 72%" is not a standing — it is a way of telling a person they are below average, in a card they were about to be proud of. Past the halfway mark every rank line is simply left out: the whole-population rank, the per-server top-spot lines, and the placing inside a voice-hour milestone. The member is not told why, because the absence is not a punishment and naming it would be worse than leaving it out. Reaching a milestone still shows; where they placed inside it only shows in the top half.

It never shows a milestone nobody has reached. A "500 hours" goal is not printed if the most anybody in the whole of GroupFinds has is 400 hours, because an unreachable goal is not a goal.

It never names a server on the word of one person. A server’s name appears on a Passport only when the member switched server names on AND that server’s owner allowed naming, through the bot, from inside the server. Either one missing and the server shows as "a server": the member’s own history is theirs to show, and the server’s name is not. The name itself is read live from Discord when the card is drawn, never from a stored copy, so a server that has been renamed or that GroupFinds has left is never named from a stale record.

It never shows anything at all before the member says so. A brand new Passport shows nothing to anybody. There is no default-on field, no grace period, and no version where something appears first and can be removed afterwards.

How consent works

Every field starts off. To switch any of them on, the member types /gf-passport, picks Settings, and chooses from a list. Whatever they do not pick stays off. There is also a one-press path: when a member looks at their own Passport before switching anything on, they see a preview built from their real numbers, with a button that switches on exactly the fields listed in that preview and nothing else.

Consent is only ever written for the Discord account that ran the command. This matters more than it sounds. A signed-in website user can type any Discord id they like into a form; Discord vouches for who ran a slash command. So the settings live behind the command, not behind the website, and a Passport cannot be switched on for somebody else by anybody, including us.

Every reply is private. When a member runs /gf-passport, the answer is visible only to them — in a server, in a direct message, anywhere. Showing a Passport in a channel takes a second, deliberate press on a button that says so.

The settings panel says what is actually on. It opens by naming the fields currently switched on and counting them, rather than describing what a new Passport looks like, so the panel can be read without counting ticks in a menu.

How to turn it off

There are two ways and they do different things. Unpicking a field in Settings switches that field off: it stops appearing on the card and on the public page. Switching everything off, or pressing "Switch everything off and delete", deletes rather than hides. That removes the Passport numbers, the call-buddy pairs, the cards that were generated, and the public page.

One thing deliberately survives, and it is worth being plain about. A server’s own levelling records — the voice minutes and XP that server has counted for its own members — stay with that server. They are what its levelling, its roles and its leaderboards run on, and deleting a Passport does not reach into a server and break its own features. The Passport is the layer that travels between servers; that is the layer that is deleted.

A deleted Passport can be switched back on later. It starts from what the servers have counted since, the same way a new one does, and it starts with every field off.

The whole thing is three commands: /gf-passport shows the card, /gf-passport with Settings chooses the fields, and /gf-passport with Delete removes it. There is no account to make, no website to visit, and nothing to pay.

Browse Discord servers · Every bot command