# Hasher Server Reference

This folder contains the server-side reference files published alongside the public client source.

The reference is organized around the trust model behind private messaging:

- device public-key registration
- signed-prekey and one-time-prekey handling
- ciphertext relay for direct messages
- encrypted payload storage for group messages

## Main folders

- `app/models/`
  - storage models for devices, prekeys, direct messages, encrypted per-device message keys, and group messages
- `app/routers/`
  - route handlers that receive prekey uploads and serve key bundles for encrypted session setup

## Good starting files

1. `app/models/device.py`
2. `app/models/signed_prekey.py`
3. `app/models/one_time_prekey.py`
4. `app/models/message.py`
5. `app/models/message_key.py`
6. `app/models/group.py`
7. `app/routers/prekeys.py`
