Go to file
yflory 50ef40a862 Merge branch 'soon' into staging 2018-02-19 14:08:12 +01:00
customize.dist FAQ pages 2018-02-19 12:11:45 +01:00
docs Update example.nginx.conf 2017-12-24 12:13:28 +02:00
storage Stop the process when expire-channels is done 2018-02-15 11:33:31 +01:00
www Fix initial value of the preview link in the share modal 2018-02-19 14:07:21 +01:00
.bowerrc Added cryptsheet to cryptpad suite! 2015-01-29 17:55:18 +01:00
.dockerignore Add docker build to travis tests 2018-01-25 14:04:55 +01:00
.env adding docker and docker-compose 2016-12-29 22:02:03 +01:00
.flowconfig Fix flow, which tries reading random .json files, including test files which are invalid json :D 2017-12-08 16:37:33 +01:00
.gitignore add a subsystem for scheduling tasks 2018-01-26 15:24:07 +01:00
.jshintignore add customize/ to jshintignore 2018-01-18 11:16:10 +01:00
.jshintrc check for invalid typeof checks 2017-12-05 15:08:01 +01:00
.lesshintrc new less linter rules and compliance 2017-12-11 15:05:58 +01:00
.travis.yml Add docker build to travis tests 2018-01-25 14:04:55 +01:00
Dockerfile Fix docker build 2018-01-25 14:04:55 +01:00
LICENSE #2 added license 2014-12-05 11:01:43 +01:00
TestSelenium.js Added a test of /login/ 2018-01-11 18:11:06 +01:00
and_so_it_begins.png Compressed images: PNG recompressed pixel identical, JPGs recompressed visually identically. Saving about 9.8%≈580kB overall, to speed up initial and repeating client connections. 2017-10-14 00:31:31 +02:00
bower.json Ability to reorder and edit tasks 2018-02-15 15:38:39 +01:00
check-accounts.js lint compliance 2017-11-22 17:40:00 +01:00
config.example.js FAQ placeholder 2018-02-19 12:09:57 +01:00
container-start.sh Properly escape sed replace expressions 2017-08-10 10:35:38 +02:00
cryptofist.png Compressed images: PNG recompressed pixel identical, JPGs recompressed visually identically. Saving about 9.8%≈580kB overall, to speed up initial and repeating client connections. 2017-10-14 00:31:31 +02:00
docker-compose.yml adding docker and docker-compose 2016-12-29 22:02:03 +01:00
expire-channels.js Stop expiration code if no directories for tasks 2018-02-16 17:28:22 +01:00
import add import script so admins can migrate lvl to files 2016-09-15 12:15:27 +02:00
package.json update footer and package.json version 2018-02-16 16:13:01 +01:00
pinned.js Fixed race condtion causing server to occasionally fail to start up 2017-12-19 18:21:29 +01:00
pinneddata.js Update pinneddata to work on blobs too 2017-09-08 11:35:45 +02:00
readme.md Add dots 2017-10-11 00:47:03 +02:00
rpc.js Fix INVALID_RESPONSE error in the file app 2018-02-16 12:02:20 +01:00
runtests.js We should remove datastore between tests 2018-01-11 16:06:58 +01:00
screenshot.png Compressed images: PNG recompressed pixel identical, JPGs recompressed visually identically. Saving about 9.8%≈580kB overall, to speed up initial and repeating client connections. 2017-10-14 00:31:31 +02:00
server.js Fix main pages customization 2018-02-09 16:17:40 +01:00

readme.md

An XWiki Labs Project

CryptPad screenshot

CryptPad is the Zero Knowledge realtime collaborative editor.

Encryption carried out in your web browser protects the data from the server, the cloud and the NSA. It relies on the ChainPad realtime engine.

Installation

Installing CryptPad is pretty straightforward. You can read all about it in the installation guide.

It also contains information on keeping your instance of CryptPad up to date.

Current version

The most recent version and all past release notes can be found here.

Setup using Docker

See Cryptpad-Docker.

Setup using Ansible

See Ansible Role for Cryptpad.

Security

CryptPad is private, not anonymous. Privacy protects your data, anonymity protects you. As such, it is possible for a collaborator on the pad to include some silly/ugly/nasty things in a CryptPad such as an image which reveals your IP address when your browser automatically loads it or a script which plays Rick Astleys's greatest hits. It is possible for anyone who does not have the key to be able to change anything in the pad or add anything, even the server, however the clients will notice this because the content hashes in ChainPad will fail to validate.

The server does have a certain power, it can send you evil javascript which does the wrong thing (leaks the key or the data back to the server or to someone else). This is however an active attack which makes it detectable. The NSA really hates doing these because they might get caught and laughed at and humiliated in front of the whole world (again). If you're making the NSA mad enough for them to use an active attack against you, Great Success Highfive, now take the battery out of your computer before it spawns Agent Smith.

Still there are other low-lives in the world so using CryptPad over HTTPS is probably a good idea.

Translations

We'd like to make it easy for more people to use encryption in their routine activities. As such, we've tried to make language-specific parts of CryptPad translatable. If you're able to translate CryptPad's interface, and would like to help, please contact us!

You can also see our translation guide.

Contacting Us

You can reach members of the CryptPad development team on Twitter, via our GitHub issue tracker, on our Matrix channel, or by e-mail.

Contributing

We love Open Source and we love contribution. It is our intent to keep this project available under the AGPL license forever but in order to finance more development on this and other FOSS projects, we also wish to sell other licenses to this software. Before making a pull request, please read and sign the Commons Management Agreement.

If you have any questions or comments, or if you're interested in contributing to Cryptpad, come say hi on IRC, #cryptpad on Freenode.

License

AGPL logo

This software is and will always be available under the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. If you wish to use this technology in a proprietary product, please contact sales@xwiki.com.