Your tasks should not live on someone else's server
People underestimate what a task list reveals. Read a year of someone's to-do items and you learn their employer, their finances, their family structure, their medical appointments, and the things they are avoiding. It is one of the most revealing documents a person produces, and it is usually stored on infrastructure they have no relationship with.
Local-first is the position that this data has no reason to leave your device in the first place.
The default is not neutral
Most task apps require an account before they will accept a single item. That is a product decision, not a technical necessity. Storing a list of short text strings does not require a server, and browsers have shipped a capable local database for well over a decade.
The account exists because it enables sync, and because it converts a tool into a relationship with a company that can change its terms, its pricing, or its ownership.
What local-first actually means
It means the copy on your device is the real one, not a cache of a server copy. Everything works without a network because nothing depends on one. There is no account to compromise and no server-side breach that can expose your list, because there is no server-side.
It also means no analytics inside the app, which is a smaller thing that adds up. Most productivity apps report which features you touch and how often you open them. A local-first app has nowhere to send that even if it wanted to.
The honest downsides
Clearing your browser storage deletes the data. Losing the device loses the data. There is no password reset because there is no password, and no support team who can recover anything for you.
The mitigation is export. A single file containing everything, written to wherever you already keep important files, gives you the recovery story without giving anyone else your list. It is a manual step, and being manual is the point: nothing moves without you deciding it should.
Portability instead of lock-in
The test of whether a tool respects you is how easily you can leave. Data in a documented, plain format that exports in one action is data you still own. Data behind an API, an export queue, and a support ticket is not.
Local-first makes this almost automatic. When the data is already on your machine in a readable format, leaving is a file copy rather than a negotiation.
Questions
- Is local-first storage secure?
- It has a different risk profile rather than a strictly better one. There is no server to breach and no account to steal, which removes the largest category of risk. In exchange, the security of your data becomes the security of your device, so a device passcode and disk encryption matter.
- Can DoTo see my tasks?
- No. There is no server, no account, and no analytics in the app. Your items are written to your browser's storage and stay there until you export or delete them.