// 00 · Quick Start Overview
Getting Oriented
HopChat's interface is organized into two zones: the Message Composer at the top (where you type, attach, and send), and the Action Toolbar below it with buttons for media, contacts, and security controls. The bottom edge of the screen holds five persistent navigation tabs for moving between major app sections.
// 01 · How to Send a Message
Open or Start a Conversation
Tap the Chats tab at the bottom of the screen to see your existing conversations. To begin a new one, tap the New button in the toolbar — this opens the recipient picker where you can search your contacts or enter a HopChat ID manually.
Choose Your Recipients
Tap Choose Recipients to add one or more people to your message. You can also tap Contacts to browse your saved HopChat contact list. For group messages, add multiple recipients — each will receive the message via their own encrypted channel.
Type Your Message
Tap the message field labelled "Type your secure message here…" and compose your text. The counter below the field shows your current character count out of the 10,000-character maximum per message.
Optionally Attach Media or Files
Use the Attach, Camera, Video, or Voice buttons to add files, photos, video clips, or voice notes. All attachments are encrypted client-side before upload — see the Toolbar Reference below for details on each button.
Tap Send
Press the Send button. HopChat encrypts your message using the recipient's public ML-KEM-1024 key, advances the Double Ratchet to generate a fresh session key, and transmits the encrypted ciphertext through the zero-knowledge relay. The recipient's device decrypts it locally upon delivery — your message is never readable in transit or at rest on any server.
// 02 · How to Receive a Message
Incoming Notification
When a message arrives, HopChat displays a push notification (if enabled). The notification shows only that a message is waiting — it never reveals the sender's name, your name, or any content preview in the notification payload. This is by design.
Open the Chats Tab
Tap the Chats icon in the bottom navigation bar. Conversations with unread messages are highlighted. Tap the conversation to open it.
Automatic Decryption
HopChat automatically decrypts the incoming message using your local private key the moment you open the conversation thread. No action is required. The decrypted message is displayed and the ratchet key advances, ensuring the next message uses a completely fresh key.
Verify Sender Identity (Optional)
Tap on the sender's name or avatar at the top of the conversation to view their public key fingerprint. Compare this fingerprint out-of-band (phone call, in person) to confirm you are communicating with the correct person and that no key substitution has occurred.
// 03 · Toolbar Button Reference
New
Opens a blank message composer and launches the recipient selection screen. Use this to initiate a fresh one-to-one or group conversation with any HopChat contact or ID. A new Double Ratchet handshake is performed automatically when the first message is sent.
⬡ Keyboard shortcut: Ctrl + N on desktopSend
Encrypts the current message composition (text + any attachments) with the recipient's ML-KEM-1024 public key, advances the Double Ratchet session state, and transmits the resulting ciphertext through the zero-knowledge relay. The button is active only when both a recipient and message content are present.
⬡ Messages are encrypted locally before leaving your deviceContacts
Opens your HopChat address book — a local, encrypted list of contacts you have verified and saved. Each contact entry stores the person's HopChat ID and their verified public key fingerprint. Your contacts list is stored exclusively on your device and is never synced to HopChat servers.
⬡ Import contacts via QR code scan or manual HopChat ID entryChoose Recipients
Opens the recipient picker for the current message. Search by HopChat display name or ID, or select from your Contacts. For group messages, add multiple recipients sequentially. Each recipient's public key is fetched and verified before encryption — you will be warned if a key has changed since your last conversation.
⬡ Key-change warnings require your manual re-verification before sendingAttach
Opens your device's file browser to select any document, PDF, spreadsheet, archive, or other file for attachment. Selected files are chunked and encrypted client-side before upload. The server receives only encrypted binary chunks and has no visibility into file type, name, or content.
⬡ Max attachment size: 2 GB per fileCamera
Opens your device camera to capture a new photo directly within HopChat. The captured image is encrypted immediately in memory before being written to any temporary storage — it is never saved to your device's camera roll unless you explicitly save it. Tap to shoot; confirm to attach to the message.
⬡ Images are stripped of EXIF metadata before encryptionVideo
Opens your device camera in video recording mode. Record a clip and confirm to attach it encrypted to your outgoing message. As with photos, video files are encrypted in memory and stripped of metadata before transmission. Long recordings are streamed in encrypted chunks rather than buffered entirely.
⬡ Video clips are encrypted frame-by-frame before uploadVoice
Records a voice note using your device microphone. Tap once to begin recording (you will see a waveform and timer), tap again to stop. The audio is immediately encrypted and attached to the current message. Voice notes appear as playable waveforms in the recipient's conversation thread.
⬡ Max voice note duration: 10 minutesShare My Screen
Initiates a live screen share of your device display to the current call participant. Screen share data is transmitted over the same post-quantum encrypted WebRTC channel as the voice/video call. The remote party can see your screen in real time. Tap again to stop sharing at any moment.
⬡ Available during active voice or video calls onlyAsk to Share Screen
Sends the other call participant a request to share their screen with you. They will receive a prompt that they must explicitly accept before their screen becomes visible to you. This button does not force or enable screen sharing on the remote device — consent is always required from the other party.
⬡ Request can be declined at any time by the remote partyKill Switch
CRITICAL — IRREVERSIBLE. Activating the Kill Switch immediately and permanently destroys all HopChat data on the device: message history, encryption keys, contact list, session state, and application configuration. There is no recovery, no backup, and no undo. This feature is intended for use in high-risk situations where device seizure or compromise is imminent.
Generate Private / Public Key Pair
Generates a new hybrid post-quantum cryptographic keypair on your device: an ML-KEM-1024 (CRYSTALS-Kyber) key for encryption/key-encapsulation and an ML-DSA (CRYSTALS-Dilithium) key for digital signatures. Key generation happens entirely on-device using a cryptographically secure random number generator. Your private key is never transmitted, stored in the cloud, or accessible to HopChat. Use this button to initialize a new account or to rotate your keys if you suspect a compromise.
⬡ Key generation takes approximately 1–2 seconds on modern hardware// 04 · Bottom Navigation Bar
// 05 · Security Tips