# 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