How we handle your data.
Melvin executes on your Mac and uses account-scoped services only when a requested task needs them. Here is how that boundary works.
Architecture at a glance
Local-first execution
The Melvin app runs on macOS. Observation, app control, workflows, and local learning stay on your Mac.
Per-step model calls
When a step needs a language model, Melvin sends the prompt and limited context needed for that step through an authenticated proxy.
No background telemetry
Raw screen frames, clipboard content, email bodies, and tool arguments are not sent as background analytics.
Auditable logs
Tool progress and outcomes are recorded locally in the Activity tab so you can inspect what ran.
Authentication & accounts
- Desktop accounts use email one-time codes through Supabase Auth.
- Desktop session tokens and Gmail refresh tokens are protected by the macOS Keychain.
- Backend search and model requests require the signed-in user's short-lived access token.
- Per-user rate and monthly quotas limit abuse and provider spend.
Encryption
- Traffic between Melvin, account services, Google, search, and model providers uses HTTPS.
- Local cache is stored under ~/Library/Application Support/Melvin and is protected by the macOS keychain for credentials.
- Production provider keys stay in server-side secrets and are not bundled in the desktop app.
Permissions Melvin asks for
Screen Recording
Required so Melvin can read what is on your screen when you ask.
Accessibility
Required so Melvin can drive other apps with the keyboard.
Automation
Required to send AppleEvents to Mail, Calendar, and Finder.
Microphone (optional)
Only requested if you turn on voice direction.
Reporting a vulnerability
If you find a security issue, please email security@trymelvin.com. We acknowledge within 48 hours and aim to land a fix within 7 business days for critical issues. See the privacy policy for how we handle personal data.