3.3. Backend and storage
The backend is intentionally limited in scope.
Its responsibility is to accept encrypted messages, store them, and deliver them to the correct recipient. It does not perform encryption, decryption, content inspection, or transformation. It does not have access to private messaging keys.
In the MVP, the backend stores:
encrypted message blobs
sender and recipient wallet addresses
timestamps and minimal routing metadata
This information is enough to build inboxes, conversations, and message ordering without touching message content.
The database therefore contains conversations only in a structural sense, not in a semantic one. It can answer questions like “which messages belong to this wallet” or “what is the order of messages,” but it cannot answer “what was said.”
This design has clear consequences. Features like server-side search, moderation based on content, or analytics over message text are not possible by default. That limitation is accepted intentionally in exchange for strong content privacy and a smaller trust surface.
Last updated

