---
title: CryptPad
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, file-transfer-and-sync, e2ee, collaboration, office, js]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=file-transfer-and-sync]
---

# CryptPad 🔒
> Suite collaborative (Docs, Sheets, Slides…) chiffrée bout-en-bout.

| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://cryptpad.org |
| **GitHub** | https://github.com/cryptpad/cryptpad |
| **License** | AGPL-3.0 |
| **Langage** | JavaScript (Node.js) |
| **Étoiles** | 6000+ |
| **Dernière MAJ** | 2025 |
| **Catégorie** | [[cat-file-transfer-and-sync]] |

## Description
CryptPad est une alternative chiffrée bout-en-bout (E2EE) à Google Docs/Office 365. La suite couvre les usages principaux : **document texte** (équivalent Docs), **tableur** (Sheets), **présentations** (Slides), **whiteboard**, **diagrammes**, **kanban**, **formulaires**, **code** (Monaco), et même **file sharing** (fichiers chiffrés).

L'architecture zero-knowledge est remarquable : tout le contenu, métadonnées comprises, est **chiffré côté client** en AES-GCM 256 bits avant d'être stocké sur le serveur. Le serveur ne voit que des blobs opaques, les URLs des documents contiennent elles-mêmes la clé de déchiffrement (hash fragment), donc même le admin de l'instance ne peut pas lire le contenu.

Les documents peuvent être partagés par lien, par équipe (avec ACL), avec expiration temporelle, et même stockés de manière persistante dans le Drive de l'utilisateur. Le produit est utilisé massivement par des journalistes, ONG, équipes privacy-conscious, et institutions européennes (le projet reçoit des financements BPI/NGI).

## Installation
### Docker Compose
```yaml
services:
  cryptpad:
    image: cryptpad/cryptpad:latest
    container_name: cryptpad
    hostname: cryptpad.local
    environment:
      - CPAD_MAIN_DOMAIN=cryptpad.example.com
      - CPAD_SANDBOX_DOMAIN=sandbox.example.com
      - CPAD_INSTANCES=2
    volumes:
      - ./config:/cryptpad/config
      - ./data:/cryptpad/data
      - ./blob:/cryptpad/blob
      - ./customize:/cryptpad/customize
    ports:
      - "3000:3000"
    restart: unless-stopped

  cryptpad-db:
    image: postgres:13-alpine
    environment:
      - POSTGRES_USER=cryptpad
      - POSTGRES_PASSWORD=changeme
      - POSTGRES_DB=cryptpad
    volumes:
      - ./pgdata:/var/lib/postgresql/data
    restart: unless-stopped
```

### Manuelle
Voir https://docs.cryptpad.fr/en/Admin_guide/installation.html — installation manuelle réservée à des cas avancés (Sandstorm, Yunohost, Kubernetes).

## Configuration
1. Configurer le reverse proxy HTTPS (Caddy, Nginx, Traefik) avec les bons headers.
2. Définir `main_domain` et `sandbox_domain` (obligatoire pour le sandboxing iframes).
3. Créer un compte admin via `http://cryptpad.example.com/#1` puis `/admin/`.
4. Personnaliser la page d'accueil via `customize/application_config.js`.
5. Activer les **onlyOffice** (optionnel) pour le support de formats Office.
6. Configurer les sauvegardes : `data/` et `blob/` doivent être sauvegardés quotidiennement.

## Alternatives
- **Open source** : Etherpad (texte), Nextcloud Office (sans E2EE), HedgeDoc (markdown), OnlyOffice (communautaire), [[app-microbin]] (partage fichiers).
- **Propriétaire** : Google Workspace, Microsoft 365, Notion, Quip.

## Sécurité
- E2EE systématique : serveur ne peut lire aucun document.
- Sandboxing des iframes pour limiter les fuites XSS.
- Hash de chiffrement dans l'URL (jamais transmis au serveur).
- Authentification par mot de passe + option TOTP 2FA.
- Le modèle de menace exclut les extensions de navigateur et les sauvegardes serveur non chiffrées.

## Ressources
- Documentation : https://docs.cryptpad.fr
- Blog & releases : https://blog.cryptpad.fr
- Code : https://github.com/cryptpad/cryptpad
- Instance démo : https://cryptpad.fr

## Pages Liées
- [[cat-file-transfer-and-sync]] — Catégorie parente
- [[app-microbin]] — Partage de fichiers sécurisé
- [[recettes-docker-compose]] — Modèles de stacks
