Reference

FAQ

Common questions about data, cost, integrations, and how Mayva differs from existing tools.

Updated · 2026-05-28

Does Mayva send my data anywhere?

No, except the LLM calls — those go to Anthropic (or whoever Claude Code is configured against). data/, the local SQLite DB, embeddings, and the graph never leave your machine in self-host mode. Telemetry is zero. A PII redaction layer in core/agent/context.ts strips obvious patterns (third-party emails, phone numbers) before LLM calls when it can.

On hosted plans, your data lives on our servers, encrypted at rest with per-tenant keys. See the privacy policy and security page.

Why local-first?

Two reasons.

The boring one — cost. Self-host means there’s no SaaS layer to amortize, so the cost ceiling is whatever you spend on Claude. The serious one — the data we’re talking about: health signals, tasks, journal entries, the people in your life. That’s exactly the data nobody should be uploading by default.

What if Whoop changes their API?

The whoop-sync worker is contractually no-throw. If Whoop is down, your morning brief still runs — it just says “no Whoop data.” OAuth tokens are stored in the local DB; refresh is automatic. If Whoop deprecates the V2 endpoints, the worker fails closed and the dashboard shows STALE on the Whoop status pulse.

Can I use this without Whoop?

Yes. The morning brief works without health signals — it just skips the recovery-band logic. The HealthSummary card on Today shows NO SIGNAL instead of a gauge. Apple Health integration is on the Phase 3 roadmap.

Mac only?

The voice loop is macOS-only today (depends on sox, say, afplay, plus a local whisper backend). The Electron dashboard, workers, and core run on Linux fine. Windows works for everything except voice (via WSL2).

How does the voice work? Is it cloud?

Local STT. Whisper.cpp by default, with fall-throughs to openai-whisper and mlx-whisper (Apple Silicon optimized). say for TTS, also local. The intent classification is a fast Claude Haiku call; the action runs against the local DB. Single-shot per invocation — no wake-word, no continuous listening.

Will I get charged for Claude usage?

Self-host rides your existing Claude Code login. Token costs roll into whatever plan you already have. The brief and drift workers are budgeted for under 3k tokens/run; the voice intent call is sub-1k. Daily total is small unless you run research loops aggressively.

On hosted plans, LLM tokens are billed at cost on top of the subscription. No markup.

Can I customize the morning brief?

Edit packages/workers/src/scheduled/morning-brief.ts. The prompt is a string in there. The data it reads (calendar today, recovery, yesterday’s outcomes, news) is composed in core/agent/context.ts. Add a memory layer, change the system prompt, swap the items shape — the dashboard reads MorningBriefSchema so as long as you preserve that, the UI keeps working.

What’s the difference between Mayva and a chat with Claude?

Three things:

  1. Memory — Mayva reads layered context (profile, history, integrations) on every call. Claude.ai forgets between sessions.
  2. Scheduled action — workers run on cron, not on prompt. The brief shows up at 06:00 whether you opened anything.
  3. Outcome shape — Mayva writes structured outcomes (tasks, suggestions) that the dashboard renders. Chat is text.

Chat is great for one-shots; Mayva is for the things that recur.

What’s the difference between Mayva and Notion AI?

Honest answer: they’re different products. Notion AI is great at being Notion AI — wiki search, page generation, structured CRM. Mayva isn’t trying to be a wiki. We’re trying to be the agent that wakes up before you do and tells you what your day is.

How does it handle conflicts when adding tasks?

Insert-then-report. When you add a task for 5pm, Mayva inserts the row, then checks for overlap with existing pending tasks in the same window. If it finds one, the response includes:

  • Overlap minutes
  • The conflicting task’s title and priority
  • The new task’s priority

You decide whether to keep both, bump one, or compress. The voice agent works the same way — it inserts so it can speak about a real row.

Can I run multiple Mayvas (e.g. work and personal)?

Yes. Set MAYVA_PROFILE_DIR=data/profile/work to point at a separate profile + data tree. Each tree has its own DB, OAuth tokens, and graph. They share nothing.

Is there a mobile app?

Not yet. The shortest path is a mobile web view of the dashboard — that may ship as part of the Phase 4 roadmap. A native iOS / Android app is unlikely until the user base demands one.

How do I contribute?

The repo accepts PRs. Read CLAUDE.md and ARCHITECTURE.md at the root, pick something from ROADMAP.md, open a PR. Small, focused, with tests. We’re particularly interested in:

  • Linux voice loop (PR welcome)
  • Apple Health integration
  • Additional research-loop workers
  • More memory layer adapters