We’ve addressed this conversation from multiple angles in the past, but I’ll try to do my best to summarise here:
Local-only vs. Offline-first
Anytype is a local-first product, which is a term that’s part of a broad software movement and often referred to as ‘offline-first’. In short, this means your data lives on your device and uses the (cloud) network to sync with end-to-end encryption. In other words, the goal is to give you the real-time collaboration benefits of cloud without the loss of data sovereignty, security, privacy, etc. You can use it offline.
Offline-first does not mean that it’s designed to be an ‘old school’ software product where you buy it on CD, install it on device, and never use it with the internet. That’s ‘offline-only’ and is what the local-only experience is more aligned with. The issue with local-only mode is obvious, your data only lives on the device you create it on and does not sync to your other devices unless you setup a local/peer-to-peer network. If something happens to your device, you lose your data—just like it happened back in the day. This has become more of a problem in modern times with our multi-device setups.
The important distinction is that local-first is designed to sync online. Even if you can perpetually use it offline, that’s not the problem it’s designed to solve. There is no real point to architect complex e2ee, CRDTs, seed phrase login, etc. if you are a solo user without any plans to connect to the internet or collaborate with others. Building local/offline-only software is already a solved problem, it’s just not a popular piece of (PKM) software for obvious reasons.
Why do we enable local-only?
To be frank, it actually causes a lot of pain to Anytype because the product was never built from the beginning to be a local-only product—it’s a local-first product. Many issues, support tickets, etc. that we get are from users in local-only mode who experience data loss. We enabled this feature (with experimental feature warnings) because it’s possible to use Anytype that way and some users want it.
Should you use local-only?
For the ‘average citizen’, we don’t believe there are meaningful security benefits to using local-only vs. the default local-first solution (connecting to Anytype network for sync). Because all data is end-to-end encrypted, it is practically impossible for your content to be compromised via the network sync. However, there are notable convenience and data-loss disadvantages that you can regularly experience using local-only mode. This is why we recommend local-first, it’s what it’s designed for.
That being said, everybody needs to make their own decisions on what security precautions they want to take based on their own threat profile. If you’re really needing a high security option, then I think device level security (air-gapped device) makes more sense.