ScreenSync MCP Data Policy: where every byte lives
How data moves, how long it stays, and how you delete it. · Last updated: 1 October 2026
This Data Policy complements our Privacy Policy with an engineering-level view of the complete data lifecycle in ScreenSync MCP. Our design principle: your data stays on hardware you own, moves only over networks you control, and is deletable by you at every stage. The exceptions are the ones you switch on: the optional Google Drive fallback, and frames or page data an AI agent you connect asks for, which go to that agent's model provider (§2, step 4).
1. Data Map — Every Store, Every Location
| Data | Store | Physical location | Controlled by |
|---|---|---|---|
| Capture images (originals) | App-private files directory | Your phone | You |
| Thumbnails | App-private thumbnails dir | Your phone | You |
| Capture history index | SQLite database (sqflite) | Your phone | You |
| Settings & feature flags | SharedPreferences | Your phone | You |
| Pairing token | SharedPreferences + hub config | Your phone + your computer | You |
| Received frames | Hub data directory (mcp-server/data) | Your computer | You |
| Event / sync logs | Hub log files | Your computer | You |
| Extension settings (hub address, pairing token, per-site permissions, agent action log, browser profile email and name) | Browser local extension storage | Your computer | You |
| Extension display preferences (theme, reduced motion, approval chime) | Browser sync storage | Your browser account, if browser sync is on | You (via your browser) |
| Drive BYOS uploads (optional) | Your Google Drive folder | Google servers, your account | You (via Google) |
| Frames and page data an AI agent requested | That agent's conversation | Your AI provider's servers | Your AI provider's terms |
Not on this map: any EpsolDev server. We don't operate one for the App, Hub or Extension. Zero telemetry is phoned home.
2. Data Flow — How a Frame Travels
- Step 1 — Capture: You (or your connected agent) trigger a capture. MediaProjection renders the frame in memory; it is encoded (PNG, or JPEG in the low-latency preset) and written to app-private storage with a SQLite index row.
- Step 2 — Transport (LAN, default): The frame is POSTed to your Hub at its LAN address (discovered via mDNS, e.g.
192.168.1.x:3000) with anAuthorization: Bearer <token>header. Traffic never leaves your router. - Step 2b — Transport (Drive BYOS, optional fallback): If enabled and the hub is unreachable, the frame uploads to a dedicated folder in your Google Drive over HTTPS/TLS using your OAuth token. The hub later pulls it from your Drive.
- Step 3 — Hub storage: The Hub stores the frame in its local data directory and emits an SSE event so the app's dashboard and AI activity feed update live.
- Step 4 — Agent access: An MCP client connected to your Hub (stdio) may fetch frames via tools like
get_latest_screenshot. The frame then goes to that agent under the agent provider's terms — you choose whether and when any agent is connected. - Browser extension: when an agent calls a browser tool, the Hub passes the request to the Extension, which returns the tab screenshot, page content or browser data (such as history, bookmarks or cookies) to the Hub and on to the agent. Web access can be turned off with one toggle or Alt+Shift+S.
3. Transport Security
| Path | Protocol | Auth | Network scope |
|---|---|---|---|
| Phone → Hub | HTTP over your LAN | Bearer token | Local network only |
| Hub → Phone (events) | SSE (HTTP) | Bearer token | Local network only |
| Extension ⟷ Hub | HTTP + SSE | Bearer token | Your computer or local network |
| Phone → Google Drive (optional) | HTTPS / TLS 1.2+ | OAuth 2.0 | Internet (your Google account) |
| Hub → AI agent | MCP stdio (local process) | OS process boundary | Your computer |
| AI agent → its model provider | The provider's own API (HTTPS) | Your account with that provider | Internet |
Recommendation: run the hub only on trusted networks (home/office Wi-Fi with WPA2/WPA3), keep your pairing token private, and regenerate it from the Connect Kit if you suspect exposure.
4. Retention
- Phone: captures and history persist until you delete them (Gallery → delete, or Settings → clear history) or uninstall the App. Uninstalling removes all app-private data automatically (Android sandbox).
- Hub: received frames and logs persist in the hub's data folder until you delete them. There is no automatic expiry — you own the disk.
- Browser extension: its settings and action log persist in your browser until you remove the Extension.
- Google Drive (optional): synced files persist in your Drive folder until you delete them or revoke the App's access.
- AI agents: frames delivered to a connected agent are governed by that provider's retention policy — review your AI provider's terms.
5. How to Delete Everything (Complete Wipe)
- 1. In the App: Gallery → clear capture history (removes images, thumbnails, SQLite rows).
- 2. On your computer: delete the hub's
data/directory contents and log files. - 3. If Drive BYOS was used: delete the ScreenSync folder in your Google Drive and revoke access at myaccount.google.com/permissions.
- 4. Uninstall the App — Android deletes all remaining app-private data and preferences.
- 5. If you used the browser extension: remove it at
chrome://extensions(oredge://extensions); the browser deletes its stored settings and action log. - After these steps, no ScreenSync MCP data is left on your devices, in your Drive or with us (we never held any). Frames you already sent to an AI agent stay with that agent's provider under its retention policy (§4).
6. What We Never Handle
- No contacts, call logs, SMS, or emails.
- No GPS / location data.
- No microphone audio (screen capture is video-frame only; screen recording tools operate through your own hub).
- No browsing history collected by us, and no keyboard logging outside the frames you capture. (With the Extension's web access on, a connected agent can ask for your history, bookmarks or cookies through its tools; that data goes to your hub and that agent, never to us.)
- No advertising identifiers, no fingerprinting, no cross-app tracking.
7. Incident Handling
Because EpsolDev holds no user data, a traditional "data breach of our servers" cannot expose your captures. Risks are local: a compromised Wi-Fi network or leaked token. If we learn of a vulnerability in the App or Hub, we will publish a fix and disclose it in the release notes. Report security issues to info@epsoldev.com — responsible disclosure is appreciated.
8. Questions
Anything unclear about how data moves? Email info@epsoldev.com — we'll answer with specifics, not boilerplate.