Data on disk¶
Cue stores everything locally. There is no server, no sync, no account.
Where things live¶
| Platform | Data root |
|---|---|
| macOS | ~/Library/Application Support/Cue/ |
| Windows | %LOCALAPPDATA%\Cue\ |
There's a second per-platform location used only for the streaming
pipeline, because GStreamer's filesink doesn't tolerate spaces in
paths:
| Platform | Streaming root |
|---|---|
| macOS | ~/Library/Caches/Cue/ |
| Windows | (same as data root) |
What's in each location¶
Data root¶
| Path | Purpose |
|---|---|
config.json |
API key, streaming toggle, digest backend, custom block lists, browser auth state. Written atomically. |
cue.db |
SQLite — sessions (one row per hotkey invocation), digests (rolling activity-narrative time series). created_at is local-time ISO with timezone offset (e.g. 2026-05-06T11:21:41.690486+09:00) — the digest history UI shows wall-clock time the user actually saw. |
digest.md |
The latest activity summary (cloud Haiku or local Gemma 4 output, post-PII-scrub). |
memory.md |
The long-term user profile maintained by Opus from recent digests. |
browser_auth.json |
Per-browser authorization tristate (authorized / denied / unknown). |
cue.log |
Rolling app log (PII-scrubbed). |
privacy.log |
Pause-event audit log. |
models/ |
Local Gemma 4 GGUF + mmproj weights, only present if on-device backend was used. Multi-GB. |
Streaming root¶
Only populated when Enable Streaming is on.
| Path | Purpose |
|---|---|
stream/chunk_<ts>.mkv |
30-second video chunks (H.265, hardware-encoded). |
stream/chunk_<ts>.mcap |
Structured event log per chunk (clicks / keys / window changes). |
keyframes/keyframe_<ts>.jpg |
Pruner output: small JPEGs of moments where something visually changed or a real input event happened. |
Old chunks and keyframes are auto-evicted when they fall outside the retention window (default 15 minutes, configurable via the streaming config keys).
Wiping data¶
The cleanest way: Preferences → Data → Clear Data.
It removes the SQLite database, screenshots, keyframes, streaming
chunks, memory.md, and the current digest.md. The API key in
config.json is preserved.
Manual wipe (when Cue isn't running):
# macOS
rm -rf "$HOME/Library/Application Support/Cue" \
"$HOME/Library/Caches/Cue"
# Windows (PowerShell)
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\Cue"
This also removes the API key. Re-launching Cue will prompt for it again.
Privacy posture summary¶
- Nothing is uploaded beyond Anthropic API requests for the digest, memory, and suggestion calls. Each request includes a prompt that has been PII-scrubbed (Presidio + Cue-specific recognizers) before transmission.
- Image bytes are never written to SQLite or to any log file. Only the prompt text is logged, and only after scrubbing.
- The privacy-pause purge cascade retroactively deletes in-flight artifacts when pause activates. See Privacy controls.