Send in your ideas. Deadline June 1, 2024
logo
Grant
Theme fund: NGI0 Discovery
Start: 2020-08
End: 2022-10

LibreOffice P2P

Encrypted collaborative editing in the browser

LibreOffice Online is the online version of the popular open source office application, and a leading implementation of the ISO/IEC 26300 OpenDocument Format standard. During the project this free software application will be modified so it can run fully client-side inside a regular browser - meaning you can view and edit office documents without an install required. This provides the technical foundations to support true P2P editing of complex office documents. The ability to remove the entire dependency on a server means that document collaboration is moving towards zero-knowledge implementations – where no single-point of architectural failure exists and no data is required to sit unencrypted on a non-user owned (or trusted) server instance. The improved LibreOffice Online will be able to provide end-to-end encryption – both for the peer2peer use case, as well as securely keeping documents encrypted when at rest. That means data is safe when the user is disconnected, whether it is stored on an untrusted server or in the local Web storage.

Why does this actually matter to end users?

Collaboratively writing a document together in real-time with others is still a bit magic. Someone else, perhaps on the other side of the planet, is typing something. And within a fraction of a second, the text magically appears on your screen. This amazing technology is the ideal companion for say an online meeting - everyone can contribute, and correct any flawed minutes without much effort. For this kind of collaboration in real-time, there is a limited set of options in the market you can use. Most available services in the market like Google Docs, Microsoft Office or LibreOffice Online.

Most online collaborative services share one very undesirable characteristic: you need to fully trust the company running the service you use. Whomever has access to the servers used to connect everyone together, can read everything you have written - and deleted. That means that if you need to work on something confidential like an important contract, you may want to reconsider using the service. Especially if you write about sensitive topics like corruption, money laundering or state surveillance this open backend you cannot control is a really significant problem.

Peer-to-peer collaboration is a way for internet users to connect and work together directly, without the need for a central authority or in-between layer. Search and discovery in this way can be crowd-sourced, instead of organized by one central party (a search engine) that is more vulnerable to attack and misuse. Together, peers can publish data, subscribe to other people's messages and documents, recommend and disseminate information and news and tag correct and informed articles and stories, that can then be searched by others. The group filters what data and information should be spread wide and far and what should be forgotten, not a third party (i.e. the search engine provider) that will not give access to its search algorithm to protect their commercial interests.

This project wants to add peer-to-peer functionality to LibreOffice Online, allowing users to edit documents together while making sure that the office software runs completely on their own device and that all their work is end-to-end encrypted. This way an office suite that uses open source software and open standards only is also protected against single points of failure (like a server that goes down or is compromised) and can guarantee proper encryption of potentially sensitive documents.

Logo NLnet: abstract logo of four people seen from above Logo NGI Zero: letterlogo shaped like a tag

This project was funded through the NGI0 Discovery Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 825322.