CrewTalk
Available3 min read

Message History and Storage

CrewTalk takes a privacy-first approach to message storage. Messages are stored locally on each device and relayed through the server without being saved there. This section explains what that means for your message history.

Local Storage

All messages — channel messages, DMs, and images — are stored in a SQLite database on your device:

  • Messages are written to SQLite as soon as they're sent or received
  • The database persists across app restarts
  • Message history loads from SQLite when you open a channel or DM conversation
  • There is no practical limit to how many messages can be stored

Relay-Only Architecture

CrewTalk's message relay server acts as a pass-through:

  1. Your device sends a message to the WebSocket relay
  2. The relay broadcasts it to all connected hub members
  3. The relay does not store the message
  4. Each recipient's device saves the message locally

This design means:

  • Your messages stay on your device — the server never retains them
  • No server-side data to breach — there's nothing to hack
  • Offline users miss messages — if someone isn't connected when a message is sent, they won't receive it later
⚠️ Important Limitation

Because messages aren't stored on the server, anyone who is offline when a message is sent will not receive it when they come back online. For critical information, confirm receipt over PTT or wait until the person is connected.

What Happens When...

You Reinstall the App

Your local SQLite database is deleted with the app. All message history is lost. You'll start fresh with no history after reinstalling.

You Switch Devices

Messages don't sync between devices. Your history on the old device stays there (until the app is removed). The new device starts with a clean history.

You Join a New Hub

You start with no message history. You'll see messages from the point you joined onward.

Your Storage Gets Full

On devices with limited storage, the SQLite database could theoretically grow large. In practice, text messages are very small. Images take more space since they're stored as local files.

Duplicate Prevention

CrewTalk prevents duplicate messages using unique message IDs:

  • Each message gets a unique ID when created
  • The message store checks for existing IDs before adding
  • This prevents the same message from appearing twice if it's received through multiple paths (e.g., local echo + relay)
💡 Critical Info

For production-critical information (call times, location changes, safety alerts), always confirm receipt verbally over PTT. Don't rely solely on text messages reaching everyone, especially crew members who may have stepped away from the app.

Frequently Asked Questions

Yes. Messages are stored locally on your device in SQLite. Uninstalling the app removes the database. There is no cloud message backup.
Message export is not currently available. Messages are stored in a local SQLite database on your device.
All messages received while your app was connected are stored locally. There's no time limit — storage depends on your device's available space.