How It Works
Overview
Lasco is a mobile app for encrypted photo backup and sync. It connects directly to storage you control, such as S3-compatible storage, a NAS, or an external drive.
There is no photo server to deploy, database to manage, or Docker stack to maintain. Lasco encrypts your library on your device before syncing it.
If you are comparing approaches, see Lasco vs. Immich and Lasco vs. Ente.
What is stored on the server
The remote stores encrypted media, compacted CRDT operations, and the metadata needed to open the library. Each remote also has an identity marker, so Lasco can detect a stale or mismatched storage location before syncing. The library data is organized into three areas:
Concrete example
When you import "IMG_4823.jpg" and name it "Beach Sunset" in the "Summer 2026" album, the server receives:
Remote concept
Lasco interacts with remote servers through two operations:
fetchDownloads operations and media blobs from a remote server to your device.pushUploads new operations and media blobs from your device to a remote server.
This allows you to push to multiple file servers to achieve replication, or back up to a hard drive by simply plugging in your USB drive and pushing to it.
Because changes are CRDT operations, devices converge on the same library state once they have observed the same data.