Back to Home
UnboundChat

How Privacy Works

Understanding UnboundChat's privacy-first design

Local-First

Conversation history is stored on-device by default

End-to-End Encrypted

Only devices initialized with your key material can read it

Client-Side Keys

Sync content is encrypted before upload

Local-First Architecture

Your conversation history lives on your device by default.

  • •Local database stored in your device's protected app storage
  • •Selected content leaves your device only for features that need a network service, such as AI requests, sync, remote backups, connectors, diagnostics, or support
  • •Stored conversations and settings remain available offline; remote AI and connected features require their services
  • •Local deletion controls are available in the app; operating system backup and uninstall behavior varies by platform

Your API Keys Are Protected

Your API keys are stored using your device's built-in security features.

Android

Uses Android's protected keystore-backed storage, with the exact hardware protection determined by the device

Windows

Uses the operating system's encrypted credential storage

  • •The app sends readable keys to the provider endpoint that uses them and does not automatically add them to support or diagnostic payloads
  • •If you enable sync, keys are encrypted with your personal encryption key before upload

Strong Encryption

We use industry-standard, battle-tested encryption.

  • •Authenticated encryption — Data integrity verified, not just confidentiality
  • •Strong key derivation — Your passphrase is processed with computationally intensive algorithms to resist brute-force attacks
  • •Unique keys per user — Your encryption key is mathematically derived from your passphrase
  • •Random initialization — Each encryption operation uses fresh random values

Cloud Sync Security

Optional Feature

If you choose to sync, your data is encrypted before it ever leaves your device.

  • •End-to-end encryption: data is encrypted on YOUR device before upload
  • •Synced content fields are uploaded as ciphertext; Supabase separately sees account and operational metadata
  • •Email, Google, and Apple accounts use a separate sync passphrase; recovery-phrase accounts derive sync-key inputs from the phrase
  • •Database-level isolation ensures users can only access their own encrypted data
  • •Account deletion uses a durable server-side cleanup flow and is reported complete only after the service confirms removal

How It Works

Your Device

Decryption material → Key → Encrypt

↓

Encrypted Blob

Unreadable without your key

↓

Our Servers

Sync content arrives encrypted

Anonymous Accounts

You don't need to give us your email to use cloud sync.

  • •Create an account using a 12-word recovery phrase (same standard used by cryptocurrency wallets)
  • •Your phrase is processed entirely on your device to create account credentials and sync-key inputs
  • •No email, phone number, or personal information required
  • •Same phrase = same account on any device (for recovery)
  • •Account setup and recovery do not transmit the phrase; only derived credentials are used with Supabase

What Happens When You Chat with AI

The route depends on the AI connection you choose.

  • •Bring-your-own-key requests go from the app to providers such as OpenRouter, OpenAI, Google, or your configured endpoint
  • •On supported non-Apple builds, limited free-tier requests pass through an UnboundChat Supabase Edge Function before OpenRouter
  • •The selected prompt, attachments, and context are processed by the route used for that request; local history is not uploaded merely because it exists on your device
  • •Zero Data Retention mode: Filter to endpoints represented by OpenRouter as supporting its Zero Data Retention policy

Privacy-Respecting Diagnostics

Our logging is designed to help troubleshoot without compromising your privacy.

What we log

  • • App startup
  • • Feature usage patterns
  • • Errors for debugging

What we NEVER log

  • • Your conversations
  • • API keys
  • • Raw exception messages or file contents

Automated telemetry excludes conversation text. Content or a diagnostic tail that you explicitly attach to a support report is sent as part of that report.

  • •One telemetry setting controls future Supabase analytics and Sentry crash-report sends
  • •Remote analytics can be completely turned off in settings
  • •A random installation identifier is used instead of an account ID; it can correlate diagnostics and free-tier quota activity for that installation

What Client-Side Encryption Protects

The cloud sync service stores these items only in encrypted or locally derived form:

  • ✗Synced conversation content and optional attachments
  • ✗Synced API-key material (encrypted before upload)
  • ✗Your recovery phrase (credentials are derived locally)
  • ✗Your raw sync passphrase (derived keys are stored in protected device storage)
  • ✗Decrypted versions of your synced content

You're In Control

Use in-app controls to delete local data or request cloud-account deletion.

  • •Delete individual conversations or clear everything locally
  • •Request cloud-data and account deletion from settings
  • •The app waits for durable server confirmation before reporting account deletion complete
  • •Backups in destinations you control must be deleted separately; infrastructure copies age out under provider retention rules

Security Summary

WhatHow We Protect It
Local conversationsStored on-device by default
API keysDevice-level encrypted storage
Cloud sync dataEnd-to-end encrypted (you hold the key)
Account credentialsEmail, provider sign-in, or locally derived recovery credentials
Diagnostic logsMinimized, sanitized, and remotely disableable