Documentation Index
Fetch the complete documentation index at: https://mintlify.com/screenpipe/screenpipe/llms.txt
Use this file to discover all available pages before exploring further.
Overview
screenpipe supports optional end-to-end encrypted cloud sync between your devices. This allows you to search your screen history across all your machines while maintaining zero-knowledge encryption.Cloud sync is completely optional. By default, all data stays local on your device. You must explicitly opt in to enable sync.
How It Works
When cloud sync is enabled, screenpipe synchronizes your data across devices:What Gets Synced
Text-only sync (default):- OCR text from screenshots
- Audio transcriptions
- Metadata (timestamps, app names, window titles, browser URLs)
- Device identifiers for multi-device search
- Everything from text-only mode
- Video chunks (5-50 MB per chunk)
- Full timeline playback on any device
Encryption Details
All synced data is protected with zero-knowledge encryption:- Encryption: ChaCha20-Poly1305 (authenticated encryption)
- Key derivation: Argon2id (memory-hard, resistant to GPU attacks)
- Key storage: Keys never leave your devices
- Server knowledge: The cloud server cannot decrypt your data
screenpipe-core/Cargo.toml):
Database Sync Architecture
screenpipe uses a distributed sync model with unique identifiers:Sync IDs
Each record gets a globally uniquesync_id (UUID) when created:
Multi-Device Scenario
Example: MacBook Pro + Mac Mini both running screenpipeDeduplication
If multiple devices capture the same content (e.g., both machines in a Zoom call), the cloud receives separate OCR text entries. Deduplication happens at the search/display layer, not the pipeline layer. Options for handling duplicates:- Show all results (user sees context from each device)
- Deduplicate by content similarity (merge near-identical text)
- Deduplicate by timestamp + content hash
Sync Modes
Text-Only Sync
Best for: Most users who want cross-device search- Syncs OCR text and metadata
- Low bandwidth usage (~1-5 KB/frame)
- Timeline scrubbing only works on the machine that captured frames
- Search works across all devices
Full Sync
Best for: Users who need complete timeline access everywhere- Syncs everything including video chunks
- High bandwidth/storage requirements
- Full timeline playback on any device
- Expensive in bandwidth and cloud storage costs
On-Demand Sync
Best for: Users who occasionally need frames from other devices- Syncs text and metadata by default
- Video chunks pulled from source machine on demand
- Requires devices to be online or uses cloud relay
- Works over Tailscale, LAN, or cloud relay
Performance Impact
Sync is designed to have minimal impact on your system:- CPU usage: < 1% additional overhead
- Network: Background sync every 30-60 seconds
- Battery: Negligible impact (syncs when on Wi-Fi)
- Storage: Text-only mode uses ~5-10 MB/day per device
Setup
Enable Cloud Sync
- Open screenpipe settings
- Navigate to Sync & Backup
- Click Enable Cloud Sync
- Choose your sync mode (text-only recommended)
- Set a strong encryption password
Sync Multiple Devices
- Enable cloud sync on your first device
- Note your encryption password
- Install screenpipe on additional devices
- Enable cloud sync using the same encryption password
- Wait for initial sync to complete
Verify Sync Status
Check sync status in the screenpipe UI:- Last sync: Timestamp of most recent sync
- Synced frames: Number of frames uploaded
- Pending: Frames waiting to be synced
Pricing
- Pro subscription: $39/month includes cloud sync
- Lifetime + Pro 1 year: $600 one-time (includes 1 year of Pro)
- Storage limits:
- Text-only: ~1 GB/year per device
- Full sync: ~100-500 GB/year per device
Troubleshooting
Sync Not Working
- Check internet connection
- Verify authentication status in settings
- Check sync logs:
~/.screenpipe/sync.log - Ensure sync password is identical on all devices
Slow Sync Speed
- Text-only sync should complete in seconds
- Full sync depends on video chunk size and network speed
- Reduce sync frequency if on metered connection
Conflicting Data
If the same time period is captured on multiple devices:- Both entries are preserved
- Search results show all matching frames
- Use device filter to see data from specific machine
Security Considerations
What The Cloud Server Knows
- Your account email and subscription status
- Number of synced devices
- Total encrypted data size
- Sync timestamps and frequency
What The Cloud Server CANNOT Access
- Your encryption password
- Any decrypted screen content
- OCR text or audio transcriptions
- App names, window titles, or URLs
- Any personally identifiable information from your screens
API Access
Sync functionality is available via the screenpipe API:Advanced Configuration
Sync behavior can be customized via environment variables:Migration from Local-Only
Moving from local-only to cloud sync:- Enable cloud sync in settings
- Choose full history sync or new data only
- For full history: initial upload may take hours/days depending on data size
- Monitor sync progress in settings
- Verify search results include historical data
Full history sync uploads all existing frames and transcriptions. For large databases (>50 GB), consider text-only sync or selective date ranges.
Related Resources
- Privacy & Security - Learn about screenpipe’s privacy model
- Teams Deployment - Cloud sync for team environments
- Performance Optimization - Optimize sync for battery life