# ICRC - Concepts ## Client A user or bot. Or to be more precise: the program something uses to communicate with the icrc server. ## Relay A relay is like a group chat. Clients that are part of a relay have the key to it. The server proofs if a client has access to a relay by hashing the clients key to that relay and comparing it with a saved hash. ### User index Every relay has their own user index, which has the following columns: - **userid_relay**: The id that other users use to identify a user in this relay. - **userid_main**: The users "real" id. (The id they use to authenticate.) - **name**: The users nickname in this relay. - **public_key**: The public key to exchange symmetric encryption keys with that user.