docs(concepts): added docs for general concepts

This commit is contained in:
antifallobst 2024-03-22 17:11:45 +01:00
parent 311df362a1
commit 68b082efe5
Signed by: antifallobst
GPG Key ID: 2B4F402172791BAF
1 changed files with 20 additions and 0 deletions

20
docs/concepts.md Normal file
View File

@ -0,0 +1,20 @@
# 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.