CryptPad: The Encrypted Collaboration Suite

Summary

CryptPad can be a full-featured online office suite hosted on FreedomBox. It can be packaged for Debian and installed as a single application in FreedomBox that provides an entire office suite. The documents are end-to-end encrypted.

Problem

Providing a collaborative office suite that runs on FreedomBox. It shouldn’t consume a lot of resources on the server.

Solution

CryptPad is an encrypted collaboration suite offering a growing number of office applications.
Documents on CryptPad are end-to-end encrypted with the server simply storing the encrypted blobs.
The application runs entirely in the browser. When a document link is shared with someone else, the URL contains a string that can be used to derive the encryption key which decrypts the document in their browser.

CryptPad has a built-in Drive application called CryptDrive which lists all of the created or uploaded documents. This can be used for encrypted file and folder sharing, with either view or edit permissions by simply sharing the link. It can also be used as a cloud file storage solution like NextCloud (unlike Syncthing which keeps full copies on all of its peers).

Screenshots/Layouts

Currently supported applications

image

CryptDrive showing both uploaded files and files created in CryptPad

Alternatives

The following alternatives have been considered:

  1. Etherpad Lite
    It is more effort to package for Debian as it has more number of NodeJS dependencies. Also, each application in the Ether suite has to be packaged separately, while CryptPad is a complete office suite.
  2. Collabora Office
    This must be installed separately and integrated with the NextCloud installation. CryptPad provides both an office suite and cloud storage for files.
  3. Infinoted/Gobby
    Already an application in FreedomBox. Doesn’t seem to be very popular outside of DebConf. Not even used by FreedomBox developers.

Tasks

  1. Finish Debian packaging for CryptPad
    https://wiki.debian.org/Javascript/Nodejs/Tasks/CryptPad
  2. Package CryptPad for FreedomBox.

How to try out CryptPad?

You can try CryptPad as an anonymous user by opening cryptpad.fr in your browser and clicking on any of the applications listed on the homepage. Any content you write will only be stored in your browser’s local storage. You’ll need an account to use storage on the server.

1 Like

RFP on Debian BTS: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=932885