Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
708a53e
rework main import/export FAQ section
mathilde-cryptpad Jul 8, 2025
2f7fd37
switch to application based import/export documentation, rather than …
mathilde-cryptpad Jul 8, 2025
fe1d05d
remove useless Can I Use note for browser support
mathilde-cryptpad Jul 8, 2025
2c059bb
add internal link to support
mathilde-cryptpad Jul 8, 2025
109861b
add links to Firefox and Chromium, improve support wording
mathilde-cryptpad Jul 8, 2025
452984c
remove useless sentence as the technology is now mature
mathilde-cryptpad Jul 8, 2025
65d0151
add Safari to warning as unsupported
mathilde-cryptpad Jul 8, 2025
83dcf0e
sligtly improve wording
mathilde-cryptpad Jul 8, 2025
7cd5e35
remove application mentions, move Rich Text chapter to the bottom of …
mathilde-cryptpad Jul 8, 2025
54bd58b
harmonize the use of punctuation
mathilde-cryptpad Jul 8, 2025
cc48a6f
add line in warning for lack of CSV support
mathilde-cryptpad Jul 8, 2025
af781c2
harmonize Spreadsheet import/export section title with others
mathilde-cryptpad Jul 8, 2025
70a2ec3
Merge branch 'staging' into file-formats
mathilde-cryptpad Jul 8, 2025
92a22e0
fix typo in readme
mathilde-cryptpad Jul 8, 2025
397fcb5
Merge branch 'staging' into file-formats
mathilde-cryptpad Jul 8, 2025
3a28b5d
enhance installation guide with login salt recommendation and configu…
cosmadora Aug 12, 2025
0eba3c7
Merge pull request #128 from cosmadora/staging
mathilde-cryptpad Aug 28, 2025
cd93aad
update dependencies
mathilde-cryptpad Sep 4, 2025
819f19d
add note and danger message formatting to important existing paragraphs
mathilde-cryptpad Sep 4, 2025
a1f5375
mention that shared folders cannot be reverted to normal ones
mathilde-cryptpad Sep 4, 2025
5d1e2a6
remove New in XXXX badge
mathilde-cryptpad Sep 4, 2025
1be78f5
Merge pull request #126 from cryptpad/file-formats
mathilde-cryptpad Sep 5, 2025
1e6e5c5
Merge branch '2025.9.0' of github.com:cryptpad/documentation into 202…
mathilde-cryptpad Sep 5, 2025
ebb5f56
have cron tasks match what we actually do
mathilde-cryptpad Sep 15, 2025
6ac0713
Remove wikipedia and add Privacy Guides
Chouhartem Sep 17, 2025
f43171c
Merge pull request #130 from cryptpad/privacy-guides
mathilde-cryptpad Sep 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 68 additions & 66 deletions FAQ.rst
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
Frequently Asked Questions
==========================

.. _faq_common_issues:

Common Issues
-------------

If CryptPad is not working as expected there are a few common things to try. Most of these relate to web browsers and extensions that either interfere with CryptPad's security features or disable basic browser functionality.

#. Check the list of extensions below, disable the ones you have installed, if any
#. Try using your browser in a private window and/or with all extensions disabled
#. Try using a different browser. We recommend the latest versions of Firefox or Chromium
#. If the issues persist, please contact support
#. Try using a different browser. We recommend the latest versions of `Firefox <https://www.mozilla.org/en-US/firefox/new/>`_ or `Chromium <https://www.chromium.org/Home/>`_
#. If the issues persist, please contact your instance :ref:`support`

List of extensions known to cause issues with CryptPad
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand All @@ -31,7 +33,7 @@ List of extensions known to cause issues with CryptPad
* User-Agent Switcher and Manager

.. note::
If you identify issues with another extension please `report it to the development team <https://github.com/cryptpad/cryptpad/issues/new/choose>`_
If you identify issues with another extension please `report it <https://github.com/cryptpad/cryptpad/issues/new/choose>`_ to the development team

I forgot my password
--------------------
Expand All @@ -43,108 +45,108 @@ If you are still logged in to an account for which you have forgotten the passwo
1. While logged in to the account with the lost password, navigate to: **User Menu** (avatar at the top right) > |gear| **Settings** > |hdd-o| **CryptDrive**
2. Click the **Backup** button to download a file containing the keys to all documents. (note: this is different to **Download my Cryptdrive** that saves the content of all individual documents)
3. In another browser, register a new account with a known password
4. While logged in to the new account: **User Menu** (avatar at the top right) > |gear| **Settings** > |hdd-o| **CryptDrive** and click the **Restore** button.
4. While logged in to the new account: **User Menu** (avatar at the top right) > |gear| **Settings** > |hdd-o| **CryptDrive** and click the **Restore** button

How to import/export my documents to/from another platform?
-----------------------------------------------------------
How to import/export to/from another platform?
----------------------------------------------

Making CryptPad compatible with a wide range of document formats is an ongoing challenge for the development team. Unfortunately the technology for converting documents in the browser still has limitations, especially as far as private and open source solutions are concerned. While work in this area is in progress, the methods below should help in importing and exporting to/from other widely used software.
Making CryptPad compatible with a wide range of document formats is an ongoing challenge for the development team. While work in this area is in progress, the methods below should help in importing and exporting to/from other widely used software.

.. note::
Simply copy-pasting content from existing software into CryptPad is an easy first step to try when importing/exporting. Please note that the import/export methods below can improve results significantly.

It is possible to upload **files** to CryptPad for secure storage and sharing, however this does not make every file an editable CryptPad **document**.
It is possible to upload **files** to CryptPad for secure storage and sharing, however this does not make every file an editable CryptPad **document** right away. For this, you either have to:

- ``Right click`` on the uploaded file > **Open in editor**, or...
- Create a blank document and use the |file-o| **File** > |upload| **Import** functionality in the appropriate CryptPad editor as explained below

Text files uploaded as files can be opened as a Code/Markdown document from the Drive with ``Right click`` > |cptools code| **Open in Code editor**.
.. warning::
- The `Safari <https://www.apple.com/safari/>`_ web browser, used on macOS, iPadOS and iOS, isn't supported at this time
- Support for `CSV <https://en.wikipedia.org/wiki/Comma-separated_values>`_ is currently broken, ``.csv`` import/export is disabled for the time being
- Support for `OpenDocument formats <https://en.wikipedia.org/wiki/OpenDocument>`_, ``.odt``, ``.odp`` & ``.ods`` import/export is currently experimental and prone to errors

To import any other file type in an editable form, please use the |file-o| **File** > |upload| **Import** functionality in the appropriate CryptPad editor as explained below.
If you encounter any issues, please check the :ref:`faq_common_issues` first. If you aren't able to make it work following these instructions, please reach out to your instance administrators through the :ref:`support` help desk. Providing an example document with the :ref:`share_link` functionality.

Import/export is not visible in the File menu
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

For spreadsheets and advanced document processing, Cryptpad integrates OnlyOffice. As a result, there are two toolbars each with their own File menu on the same screen. Please make sure to check in both menus, when looking for import/export.

.. note::
See the `warning note <https://docs.cryptpad.org/en/user_guide/apps/sheets.html#toolbars>`_ in our Spreadsheet application documentation.

Rich text document import/export
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

To import rich text documents (Microsoft Word, Google Docs, LibreOffice Writer, etc.), the supported format is HTML:
Document application import/export
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1. Export your document as HTML in your existing software.
2. Save the file to your computer.
3. Open a new :ref:`app_rich_text` document on CryptPad (or an existing one to replace the contents).
4. |file-o| **File** > |upload| **Import** and select your file.

To export, use |file-o| **File** > |download| **Export** and select ``.doc`` as the format.
The :ref:`app_documents` supported format are Microsoft Word ``.docx`` and OpenDocument ``.odt``. These can both be exported from popular software such as Google Docs and LibreOffice Writer:

Document import/export
~~~~~~~~~~~~~~~~~~~~~~

To import documents, the supported format are Microsoft Word ``.docx`` and OpenDocument ``.odt``. These can both be exported from popular software such as Google Docs and LibreOffice Writer:

1. Export your document as ``.docx`` or ``.odt`` in your existing software.
2. Save the file to your computer.
3. Open a new :ref:`app_documents` file (or an existing one to replace the contents).
4. |file-o| **File** > |upload| **Import** and select your file.
1. Export your document as ``.docx`` or ``.odt`` in your existing software
2. Save the file to your computer
3. Open a new :ref:`app_documents` file (or an existing one to replace the contents)
4. |file-o| **File** > |upload| **Import** and select your file

To export, use |file-o| **File** > |download| **Export** and choose a format:

- To use in Microsoft Word or Google Docs, select ``.docx``.
- To use in LibreOffice Writer, select ``.odt``.
- For cases where no further editing of the data is required after export (letters, reports, etc), select ``.pdf``.
- For backup purposes or to share with a user on another CryptPad instance, select ``.bin``.
- To use in Microsoft Word or Google Docs, select ``.docx``
- To use in LibreOffice Writer, select ``.odt``
- For cases where no further editing of the data is required after export (letters, reports, etc), select ``.pdf``
- For backup purposes or to share with a user on another CryptPad instance, select ``.bin``

Presentation import/export
~~~~~~~~~~~~~~~~~~~~~~~~~~
Presentation application import/export
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

To import presentations, the supported format are Microsoft PowerPoint ``.pptx`` and OpenDocument ``.odp``. These can both be exported from popular software such as Google Slides and LibreOffice Impress:
The :ref:`app_presentation` supported format are Microsoft PowerPoint ``.pptx`` and OpenDocument ``.odp``. These can both be exported from popular software such as Google Slides and LibreOffice Impress:

1. Export your document as ``.pptx`` or ``.odp`` in your existing software.
2. Save the file to your computer.
3. Open a new :ref:`app_presentation` document (or an existing one to replace the contents).
4. |file-o| **File** > |upload| **Import** and select your file.
1. Export your document as ``.pptx`` or ``.odp`` in your existing software
2. Save the file to your computer
3. Open a new :ref:`app_presentation` document (or an existing one to replace the contents)
4. |file-o| **File** > |upload| **Import** and select your file

To export, use |file-o| **File** > |download| **Export** and choose a format:

- To use in Microsoft PowerPoint or Google Slides, select ``.pptx``.
- To use in LibreOffice Impress, select ``.odp``.
- For cases where no further editing of the data is required after export (presentations, reports, etc), select ``.pdf``.
- For backup purposes or to share with a user on another CryptPad instance, select ``.bin``.
- To use in Microsoft PowerPoint or Google Slides, select ``.pptx``
- To use in LibreOffice Impress, select ``.odp``
- For cases where no further editing of the data is required after export (presentations, reports, etc), select ``.pdf``
- For backup purposes or to share with a user on another CryptPad instance, select ``.bin``

Spreadsheets import/export
~~~~~~~~~~~~~~~~~~~~~~~~~~
Spreadsheet application import/export
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

To import spreadsheets, the supported format are Microsoft Excel ``.xlsx`` and OpenDocument ``.ods``. These can both be exported from popular software such as Google Sheets and LibreOffice Calc:
The :ref:`app_sheets` supported format are Microsoft Excel ``.xlsx`` and OpenDocument ``.ods``. These can both be exported from popular software such as Google Sheets and LibreOffice Calc:

1. Export your document as ``.xlsx`` or ``.ods`` in your existing software.
2. Save the file to your computer.
3. Open a new :ref:`app_sheets` document (or an existing one to replace the contents).
4. |file-o| **File** > |upload| **Import** and select your file.
1. Export your document as ``.xlsx`` or ``.ods`` in your existing software
2. Save the file to your computer
3. Open a new :ref:`app_sheets` document (or an existing one to replace the contents)
4. |file-o| **File** > |upload| **Import** and select your file

To export, use |file-o| **File** > |download| **Export** and choose a format:

.. .csv commented out as it's broken and deactivated
.. - The ``.csv`` format is the most widely supported (note that it only contains data and not formatting).

- To use in Microsoft Excel or Google sheets, select ``.xlsx``.
- To use in LibreOffice Calc, select ``.ods``.
- For cases where no further editing of the data is required after export (presentations, reports, etc), select ``.pdf``.
- For backup purposes or to share with a user on another CryptPad instance, select ``.bin``.
- To use in Microsoft Excel or Google sheets, select ``.xlsx``
- To use in LibreOffice Calc, select ``.ods``
- For cases where no further editing of the data is required after export (presentations, reports, etc), select ``.pdf``
- For backup purposes or to share with a user on another CryptPad instance, select ``.bin``

.. note::
Import/export of OnlyOffice documents to various formats is only available in browsers that support specific functionality. Please see the `up-to-date list of supported browsers <https://caniuse.com/sharedarraybuffer>`_.
Rich text application import/export
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The :ref:`app_rich_text` support the HTML format for import/export:

1. Export your document as HTML in your existing software
2. Save the file to your computer
3. Open a new :ref:`app_rich_text` document on CryptPad (or an existing one to replace the contents)
4. |file-o| **File** > |upload| **Import** and select your file

To export, use |file-o| **File** > |download| **Export** and select ``.doc`` as the format.

I cannot do X with a document I created
---------------------------------------

Some functionality on CryptPad is restricted to :ref:`document owners <owners>`. This includes:

- Enabling an :ref:`access list <access_list>`.
- Enabling a password.
- Adding or removing other owners.
- Destroying the document.
- Enabling an :ref:`access list <access_list>`
- Enabling a password
- Adding or removing other owners
- Destroying the document

The ownership of a document is set when :ref:`creating it<new_document>` and cannot be changed afterwards if the document is created without an owner.

Expand All @@ -160,9 +162,9 @@ Are you planning to make an app?

We are not planning a dedicated mobile application for the following reasons:

- It would dramatically increase the amount of code that has to be developed and maintained, effectively creating other "versions" of CryptPad for iOS and Android.
- It would dramatically increase the amount of code that has to be developed and maintained, effectively creating other "versions" of CryptPad for iOS and Android

- CryptPad is open source and can be hosted by anyone who wants to offer the service. Therefore, users of a mobile application would have to specify which :ref:`CryptPad instance <cryptpad_instances>` they want to connect to, which would be confusing. To complicate things further, each instance may be running a different version of the software, depending on whether or not the latest updates were applied by the administrators.
- CryptPad is open source and can be hosted by anyone who wants to offer the service. Therefore, users of a mobile application would have to specify which :ref:`CryptPad instance <cryptpad_instances>` they want to connect to, which would be confusing. To complicate things further, each instance may be running a different version of the software, depending on whether or not the latest updates were applied by the administrators

To address these problems, the development team is working on making CryptPad a "Progressive Web App". This means that it can be used on mobile through the web browser, behaving like an application while being the same software that runs on desktop browsers. This has the benefit of turning every CryptPad instance into a web app provider, rather than putting the burden of choosing the right instance on the user.

Expand Down
12 changes: 12 additions & 0 deletions admin_guide/customization.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ The functionality as well as the look-and-feel of an instance can be customized

The purpose of the ``customize`` directory is to make it easier to upgrade CryptPad while maintaining customizations in place. Occasionally, a major new version may introduce breaking changes or require adjustments in the customizations. Administrators with customized instances are therefore encouraged to **read instructions carefully before each upgrade**.

.. _admin_application_config:

Application config
------------------
Expand All @@ -27,6 +28,17 @@ To disable unregistered use of CryptPad, add the following to ``customize/applic

AppConfig.registeredOnlyTypes = AppConfig.availablePadTypes;

This will prevent unregistered users from using any of the applications.

To block unregistered users from creating or saving new documents, add the following lines to ``customize/application_config.js``:

.. code:: javaScript

AppConfig.disableAnonymousPadCreation = true;
AppConfig.disableAnonymousStore = true;

However, documents can still be shared with unregistered users, allowing them to edit and view files via shared links.

.. note::

To close registration of new users on the instance, see :ref:`admin_close_registration` in the admin panel.
Expand Down
35 changes: 31 additions & 4 deletions admin_guide/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -134,19 +134,19 @@ You can also setup a dedicated cron job to run the ``scripts/evict-inactive.js``

Note that you'll need to set ``disableIntegratedEviction`` to ``true`` in that case.

Use the ``crontab -e`` command to set up a daily cron job, starting every day at 00h00:
Use the ``crontab -e`` command to set up a cron job, happening twice a month, starting on the first and 15th at 01h30:

.. code:: bash

0 0 * * * /usr/bin/node cryptpad/scripts/evict-inactive.js > /dev/null
30 1 1,15 * * (cd cryptpad; node scripts/evict-inactive.js > /dev/null)

Then you'll likely want to do the same for ``scripts/evict-archived.js``. Which will clean the archive directory by permanently remove files that have been archived for more than ``archiveRetentionTime`` days.

Again, use the ``crontab -e`` command to set up a weekly cron job, starting every Sunday at 00h00:
Again, use the ``crontab -e`` command to set up a another cron job, starting on the 7th and 22th at 01h30:

.. code:: bash

0 0 * * 0 /usr/bin/node cryptpad/scripts/evict-archived.js > /dev/null
30 1 7,22 * * (cd cryptpad; node scripts/evict-archived.js > /dev/null)

Daemonization
"""""""""""""
Expand Down Expand Up @@ -344,6 +344,33 @@ contains at least:

httpSafeOrigin: "https://some-other-domain.xyz",


It is strongly recommended to set a login salt before users create accounts on your instance. This makes it more difficult for attackers to use rainbow tables or reuse credentials from other CryptPad instances.

.. warning::
The login salt can only be set when first creating your CryptPad instance.
**Changing it later will break logins for all existing users.**

Create ``customize/application_config.js`` file (see :ref:`admin_application_config`) and add the following configuration, replacing the preset value with a random string of your choice:

Generate a random 32 character string:

.. code:: bash

openssl rand -hex 32

Then add the following to ``customize/application_config.js``:

.. code:: javascript

AppConfig.loginSalt = '<RANDOM-SALT>';

You may also want to increase the minimum password length by adding:

.. code:: javascript

AppConfig.minimumPasswordLength = 8;

.. _admin_instance_setup:

Setup your instance
Expand Down
2 changes: 1 addition & 1 deletion how_to_contribute.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ For examples of past presentations please see the `CryptPad Peertube Channel <ht

Here is a list of some public catalogs mentioning the project:

- `Wikipedia <https://en.wikipedia.org/wiki/Draft:CryptPad>`__
- `Privacy Guides <https://www.privacyguides.org/articles/2025/02/07/cryptpad-review/>`__
- `AlternativeTo <https://alternativeto.net/software/cryptpad/about/>`__
- `Slant <https://www.slant.co/options/31378/~cryptpad-review>`__
- `Product Hunt <https://www.producthunt.com/products/cryptpad#cryptpad>`__
Expand Down
Loading