Overview
screenpipe is designed with privacy as the default. All data stays on your device, and you maintain complete ownership and control.screenpipe is 100% local by default. No cloud required, no account required, no data sent anywhere.
Core Principles
1. Local-First Architecture
All screen recordings and audio transcriptions are stored locally on your device:- macOS:
~/Library/Application Support/screenpipe/ - Windows:
%APPDATA%\screenpipe\ - Linux:
~/.screenpipe/
2. No Cloud by Default
screenpipe works completely offline:- No account creation required
- No sign-up or login needed
- No internet connection required
- No data sent to external servers
- No telemetry or analytics
- Optional: Cloud sync (if you explicitly enable it)
- Optional: AI provider APIs (if you use cloud AI models)
- Update checks: For new app versions (can be disabled)
3. Open Source
screenpipe is fully open source under the MIT license:- Complete source code available on GitHub
- Auditable by security researchers
- No hidden functionality
- Community-driven development
- You can build from source
4. You Own Your Data
Complete control over your data:- Export: SQLite database can be exported anytime
- Delete: Wipe all data with one click
- Backup: Copy database files to external storage
- Portable: Move data between devices manually
- No lock-in: Standard SQLite format, no proprietary encoding
Data Storage
SQLite Database
screenpipe uses SQLite for all structured data:- Text data: ~1-5 KB per frame
- Screenshots (JPEG): ~50-200 KB per frame
- Video chunks: ~5-50 MB per chunk (5-10 minutes)
- Total: ~5-10 GB per month (event-driven capture)
File System Layout
Encryption
Local Storage
By default, local data is not encrypted for performance reasons. However, you can enable encryption:Disk Encryption (Recommended)
Use your operating system’s disk encryption:- macOS: FileVault
- Windows: BitLocker
- Linux: LUKS
Database Encryption
For additional protection, screenpipe can encrypt the SQLite database:Cloud Sync Encryption
If you enable cloud sync, all data is encrypted end-to-end: Encryption stack:- Algorithm: ChaCha20-Poly1305 (authenticated encryption)
- Key derivation: Argon2id (password-based)
- Key storage: Keys never leave your devices
- Server knowledge: Zero (cannot decrypt your data)
screenpipe-core/Cargo.toml):
Privacy Features
1. Selective Capture
Control what gets recorded: App filtering:2. Incognito/Private Mode Detection
screenpipe automatically detects and can skip:- Chrome Incognito windows
- Firefox Private Browsing
- Safari Private windows
- Edge InPrivate windows
3. Data Redaction
Automatically redact sensitive information:4. Retention Policies
Automatically delete old data:AI Data Permissions
When using AI pipes, control what data AI agents can access:Deterministic Access Control
Permissions are not prompt-based — they’re enforced at the OS level:- Skill gating: AI never learns about denied APIs
- Agent interception: Calls blocked before execution
- Server middleware: Cryptographic tokens validate every request
Local AI Support
Use fully local AI models for zero cloud dependency:Ollama Integration
- Search summaries
- Pipe agents
- Daily digests
- No data sent to cloud
Apple Intelligence (macOS)
On supported Macs, screenpipe uses Apple Intelligence:- On-device processing: All AI runs on your Mac
- Zero cloud: No data sent to Apple or OpenAI
- Zero cost: No API charges
- Privacy: Apple’s on-device ML models
- macOS 15.1+ (Sequoia)
- Apple Silicon (M1 or newer)
- 16 GB RAM recommended
Security Considerations
Threat Model
What screenpipe protects against: ✅ Cloud provider access: No cloud provider can read your data ✅ Network sniffing: Local-only mode sends no network traffic ✅ Data breaches: No central database to breach ✅ Unauthorized pipes: Permissions enforce what AI can access What screenpipe does not protect against: ❌ Physical access: Someone with access to your unlocked computer ❌ OS-level malware: Malware with screen recording permissions ❌ Stolen backups: Unencrypted database backups ❌ Compromised AI providers: If using cloud AI, data sent to themAudit Log
Track access to your data:Data Export
Export your data for backup or migration:Full Database Export
Selective Export
Raw Database Copy
Data Deletion
Selective Deletion
Complete Wipe
Compliance
GDPR (EU)
screenpipe is GDPR-compliant:- Right to access: Export all data anytime
- Right to deletion: Delete all data with one command
- Right to portability: Standard SQLite format
- Data minimization: Only capture what you configure
- Storage limitation: Retention policies auto-delete old data
- Privacy by design: Local-first, no cloud by default
CCPA (California)
Compliance with California privacy law:- Right to know: View all captured data
- Right to delete: Complete data deletion
- Right to opt-out: Don’t enable in the first place
- No sale of data: Your data never leaves your device
HIPAA (Healthcare)
For healthcare use cases:- Use disk encryption (FileVault/BitLocker)
- Enable database encryption
- Configure retention policies
- Use local AI only (Ollama or Apple Intelligence)
- Don’t enable cloud sync
- Review access logs regularly
For HIPAA compliance, screenpipe Teams offers BAA (Business Associate Agreement) for enterprise customers.
Transparency
What Data is Collected
By screenpipe (stored locally):- Screenshots (JPEG)
- OCR text from screenshots
- Audio recordings and transcriptions
- App names and window titles
- Browser URLs (if configured)
- Timestamps
- Device identifiers (for multi-device sync)
- Encrypted versions of the above
- Your email (for account)
- Subscription status
- Sync timestamps
- Text sent to AI for processing
- Search queries (if using AI search)
- Varies by provider (OpenAI, Anthropic, etc.)
- Credit card details are handled by Stripe (PCI compliant)
- No analytics or telemetry without consent
- No tracking pixels or third-party scripts
Third-Party Services
Optional services you might enable:Best Practices
Recommended privacy configuration:
- Enable disk encryption (FileVault/BitLocker)
- Configure app blocklist (password managers, banking)
- Enable private browsing detection
- Set retention policy (delete after 90 days)
- Use local AI (Ollama or Apple Intelligence)
- Review pipe permissions before enabling
- Regularly audit what’s being captured
- Back up database to encrypted external drive
Related Resources
- Cloud Sync - Optional encrypted sync
- Teams Deployment - Privacy in team environments
- Performance - Optimize storage usage