macOS app
EAM Capture is a menu bar app that captures screen text, speech and clipboard and sends it to your EAM account.
Download and requirements
- eam.thundera.eu/download/macos redirects (302) to a presigned link for the latest signed build, or returns 404 if none is published.
- Requires macOS 14 (Sonoma) or later on Apple Silicon.
- Release manifest:
GET /api/v1/app/release→{"available":false}or{available:true, version, key, sha256, size, published_at, min_macos}.
What it captures
| Input | How | Notes |
|---|---|---|
| Screen | ScreenCaptureKit and Vision OCR | 10 s while active, 30 s when idle. Long text is summarized on-device; text with nothing memorable is dropped. |
| Audio | WhisperKit (on-device, offline) | Language is auto-detected; never translated. |
| Clipboard | Pasteboard polling | Content upload is opt-in. By default only app, length and type are logged locally. |
Permissions
macOS asks for Screen Recording (screen text), Microphone (audio) and, as applicable, Accessibility. Grant them in System Settings → Privacy & Security. Without a permission that input is simply not captured.
Privacy controls
- Deny-list (on by default): password managers (1Password, Keychain Access, Passwords, Bitwarden) and some employer sites are skipped; frames are discarded in memory, never stored or uploaded. Edit it in Settings → Capture.
- Adaptive rate: pauses when idle (5 min), under CPU pressure (>80%) or memory pressure.
- Account guard: the menu bar shows which EAM account it uploads to. If the credential maps to a different account than before, uploads pause until you confirm.
- Upload log at
~/Library/Logs/EAMCapture/uploads.loglists endpoint, status and counts only, never content or tokens. - Secrets and PII are filtered on the device before upload and again on the server.
Sign-in
The app signs in with Thundera (OIDC with PKCE, public client eam-capture) through /app/native-auth and a eu.thundera.eam:// callback. You can also use an API token. To keep web, app and MCP in one memory, link identities with POST /api/v1/auth/link-identity.
Captured screen text goes through a quality gate (see Memories) and, as RECENT-tier data, is consolidated by DREAM.