Your data stays under your control
Screenpipe is local-first. Screen, audio, and activity are captured, processed, and stored on your own devices. The source is available, so your team can inspect the capture and data-flow code directly.
Local-first by default
Capture stays on the device: SQLite and media files under ~/.screenpipe. Nothing leaves unless you turn on sync.
You own the data
No Screenpipe servers in the core path. Local-first means data control, and liability, sits with you, not us.
Encrypted at rest
Sensitive data is encrypted with a zero-knowledge key hierarchy. The keys are yours.
You choose what is captured
Filter by app and by URL, strip passwords and PII. Per person, opt-in, never silent.
Source available
Audit the capture, encryption, and access-control code directly.
Deploy your way
Local-only for sensitive workflows, or a managed MDM rollout with locked admin policies.
what our shut-off can and cannot do
Enterprise deployments can archive to your own S3 bucket and query it through a gateway you run. That gateway checks every request against a signed access policy from our control plane, cached for 1 hour and refreshed every 5 minutes. So if your subscription lapses or we suspend your account, your own bucket becomes unqueryable through our software within about an hour. Seats are enforceable, and that is what enforceable means. We would rather write it down than have you find it during an incident.
What it does not touch: the bucket is yours and we never held credentials that could read it. The objects are newline-delimited JSON, readable with your own credentials and any S3 client, with no Screenpipe component involved. Capture keeps running. You lose our query layer over your data, not the data. The policy signing key can be pinned out of band so you can verify what we sign.
Read the full policy-window behaviorcompliance
Need the full technical detail?
Architecture, cryptography, data flows, and source links for security review.
Found a potential vulnerability? Read the vulnerability disclosure policy before testing or reporting it.