# ClientInstallIdEvent
> Fired when a client reports the id of its Lectern installation, in answer to `gg.lode.lecternapi.api.manager.IScreenManager.requestClientReport(Player)`.
`gg.lode.lecternapi.api.event.ClientInstallIdEvent`
---
## Signature
```java
public class ClientInstallIdEvent extends LecternClientEvent
```
---
## Notes
The id is a random number the client generated on first run and keeps in its config folder.
It is not derived from the player's hardware (no serials, no MAC address,
nothing read off the machine) and the player can see the file and delete it. Treat it as a
cookie, because that is what it is.
Reading it correctly
The value is only meaningful in one direction. Two accounts reporting the same id
share an installation, which usually means one person. Two accounts reporting different
ids tell you nothing at all: a reinstall, a wiped config, a second launcher profile, a new
computer and a deliberate deletion are indistinguishable from here, and one player with several
Prism or MultiMC instances legitimately reports several ids.
So a match is worth acting on and a mismatch is not evidence. Anyone deliberately evading will
clear the file, that is expected, and the point is the friction, not the certainty. Score this
alongside your other signals rather than punishing on it alone.
If you keep it, keep it the way you would keep any identifier tied to a person: say so in your
rules, and do not hold it longer than the moderation question it answers.
---
## Methods
### getInstallId
```java
public String getInstallId()
```
The reporting installation's id. Never null, never blank.
---
## Example
Fires in answer to a report request, so ask first:
```java
LecternAPI.getApi().getScreenManager().requestClientReport(player);
```
```java
@EventHandler
public void onInstallId(ClientInstallIdEvent event) {
alts.record(event.getPlayer(), event.getInstallId());
}
```
The id identifies an installation, not a person. Two accounts sharing one is worth a look, not a
ban on its own.
---
## Related Pages
- [[HWIDAltDetectedEvent]]. Lectern's own alt matching
- [[IScreenManager]]. Requesting the report