This site describes an experimental approach for decoupling application development from user data management, as an alternative to SaaS - the prevalent approach for communication and collaboration apps today. A prototype protocol library and Android messenger demonstrate the approach.
- The Open Private Data Architecture - a set of principles for building applications where data is self-managed by the users, instead of app developers.
- The Cweb - a Java library implementing OPDA by operating on user-managed S3-compatible storage, and containing end-to-end encrypted P2P communication protocols suitable for mobile environments.
- Android StoneAge Messenger - a prototype application built on top of Cweb supports DMs and private group, including sending files.
Q: Doesn’t online storage server make the system centralized and not P2P?
A: Online storage does require a server, but its role is like that of the network infrastructure. Clients provision their storage independently, similarly to their internet access. This is very different from the central backend controlled by the application operator, in fact there is no operator as such.
Q: How is it different from a self-hosted XMPP server, or a personal Solid pod?
A: An application server, such as XMPP server or a Solid pod, implement complex protocols that work with plaintext and sensitive metadata. Maintaining and securing such application servers is substantially more complex and error-prone, especially as a self-hosting solution for end users. An off-the-shelf S3 file server that never sees plaintext is easier to provision and maintain, either by self-hosting or by renting from a cloud provider.