MemoDocumentation
EN

Design Philosophy

Memo is built on a single conviction: you should own your AI, your data, and your hardware. No cloud dependency, no telemetry, no vendor lock-in. Everything runs on your machine by default.

Core Principles

Privacy-First

Every conversation, every memory vector, every model stays on your device. Memo does not phone home. There is no analytics SDK, no crash reporter, no usage tracking. The only network calls are ones you explicitly authorize — fetching a model from HuggingFace, calling an external provider API, or syncing encrypted backups to Google Drive.

Local-First Architecture

The backend runs as a single Go binary embedding SQLite, llama.cpp, and a vector search engine. No Docker, no Kubernetes, no external database. Start the app and everything is live at localhost:8090. The desktop and mobile frontends connect over local HTTP/SSE.

┌─────────────────┐     ┌──────────────────────────────────┐
│  Flutter UI      │────▶│  Go Backend  (localhost:8090)     │
│  Desktop/Mobile  │◀────│  • HTTP REST + SSE Streaming     │
└─────────────────┘     │  • SQLite + sqlite-vec            │
                        │  • llama.cpp Inference Engine     │
                        │  • Provider Router (7 APIs)       │
                        │  • Agent Sandbox + Orchestra      │
                        └──────────────────────────────────┘

Data Sovereignty

Your chat history is stored as local JSON files. Your vector memory lives in a SQLite database in your home directory. You can export, delete, or move it anytime. Models are downloaded to a local directory you control. No account, no registration, no "sign in to continue."

Performance by Default

Running locally means zero network latency for inference. Vector search uses an in-memory ANN index over SQLite tables. Token streaming starts in under 100ms. GPU offloading (NVIDIA CUDA, AMD ROCm, Apple Metal) is configured automatically on first launch.

Optional Cloud with End-to-End Encryption

Cloud features are opt-in, not opt-out. When you choose to enable:

  • Cloud Sync: Conversation backups are encrypted with AES-256-GCM before upload to Google Drive. The encryption key (machine.key) never leaves your device.

  • External Providers: API keys are stored locally. Provider calls route through your machine. No proxy, no intermediary.

  • WhatsApp Bridge: Messages are bridged through your local instance using whatsmeow. Your WhatsApp credentials stay on your device.

  • Remote Access: Use Tailscale, ngrok, or LAN to access Memo from your phone. Your server, your rules.

No Vendor Lock-In

Memo uses open formats (SQLite, JSON) and open models (GGUF). Uninstall Memo and your data is still readable. Switch models anytime. Export your vector memory as raw embeddings. The codebase is AGPL v3 — fork it, audit it, own it.

What We Don't Do

  • No telemetry or analytics
  • No cloud proxy or relay server
  • No mandatory account creation
  • No usage-based pricing
  • No model training on your data
  • No feature flags controlled remotely


Memo does not and will never collect usage data. The only bytes that leave your machine are the ones you explicitly send — to a model provider of your choice, or to your own encrypted backup.