Files
2026-06-09 18:40:21 +02:00

91 lines
3.3 KiB
Markdown

---
title: Enclosed
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, file-sharing, e2e, encryption, ephemeral]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=File+Sharing, https://github.com/CorentinTh/enclosed]
---
# 📁 Enclosed
> Partage de notes et fichiers chiffrés côté client (E2E) — le serveur ne voit jamais le contenu en clair.
## 📋 Informations Générales
| Attribut | Valeur |
|----------|--------|
| **Nom** | Enclosed |
| **Slug** | enclosed |
| **Description** | Partage chiffré E2E de texte et fichiers, à la PrivateBin |
| **Site officiel** | https://enclosed.cc |
| **Repository** | https://github.com/CorentinTh/enclosed |
| **Stars** | 2 020 ⭐ |
| **Licence** | AGPL-3.0 |
| **Langage principal** | TypeScript |
| **Catégorie** | File Sharing |
| **Tags** | [catalogue, file-sharing, e2e, encryption, ephemeral] |
## 📝 Description
Enclosed est une application de partage éphémère qui garantit une confidentialité maximale grâce au chiffrement côté client. Le contenu (texte ou fichier) est chiffré dans le navigateur de l'expéditeur avant d'être envoyé au serveur : ce dernier ne stocke qu'un blob chiffré opaque qu'il ne peut pas déchiffrer.
Le mécanisme repose sur l'API Web Crypto native du navigateur avec un chiffrement symétrique AES-GCM. La clé de déchiffrement est encodée dans le fragment de l'URL (partie après le `#`) qui n'est jamais envoyée au serveur, suivant le même principe que PrivateBin. Le serveur ne dispose donc que du ciphertext et des métadonnées (date d'expiration, nombre de lectures restantes).
L'usage typique est le partage de secrets, mots de passe, clés API ou documents confidentiels avec un correspondant, sans avoir à se soucier du serveur. L'interface est minimaliste et moderne, avec un mode "dark" et une application web progressive (PWA) installable. L'image Docker est légère (Node + SvelteKit).
## 🚀 Installation
### Via Docker (recommandé)
```yaml
# docker-compose.yml
services:
enclosed:
image: ghcr.io/corentinth/enclosed:latest
container_name: enclosed
restart: unless-stopped
ports:
- "8787:8787"
environment:
- ENCLOSED_DEFAULT_NOTE_TTL=2592000 - ENCLOSED_MAX_FILE_SIZE=10485760
```
### Installation manuelle
```bash
git clone https://github.com/CorentinTh/enclosed.git
cd enclosed
pnpm install
pnpm build
pnpm preview
```
## ⚙️ Configuration
- TTL par défaut des notes (en secondes)
- Taille maximale de fichier acceptée
- TTL max configurable par le client
- Pas de base de données (stockage fichier ou Redis optionnel)
## 🔗 Alternatives
- **Cryptgeon** — concurrent direct, plus minimaliste
- **PrivateBin** — orienté texte uniquement, plus mature
- **PasswordPusher** — spécialisé mots de passe
## 🔒 Sécurité
- Chiffrement E2E AES-GCM 256 bits côté client
- Clé dans le fragment URL (jamais transmise au serveur)
- TTL configurable, lecture unique ou multiple
- Pas de logs côté serveur (par conception)
## 📚 Ressources
- [Site officiel](https://enclosed.cc)
- [Démo publique](https://enclosed.cc)
- [Architecture sécurité](https://github.com/CorentinTh/enclosed#security)
## 🔗 Pages Liées
- [[cat-file-sharing]] (n'existe pas encore, OK)
- [[app-cryptgeon]]
- [[app-traefik]]
- [[recettes-docker-compose]]
- [[securisation-home-lab]]
- [[cat-storage]] (n'existe pas, OK)