
Pastebin chiffré à connaissance zéro. Vos données sont chiffrées avant de quitter votre navigateur.
Vos données sont chiffrées avant de quitter votre navigateur. Nous ne pouvons pas les lire. Personne ne peut.
Démo en direct • Signaler un bug • Demander une fonctionnalité
Les pastebins traditionnels stockent vos données en texte clair. Les administrateurs de serveurs, les hackers ou toute personne ayant accès à la base de données peuvent lire tout ce que vous partagez.
CloakBin est différent.
┌─────────────────────────────────────────────────────────────────┐
│ ZERO-KNOWLEDGE FLOW │
├─────────────────────────────────────────────────────────────────┤
│ │
│ YOUR BROWSER SERVER DATABASE │
│ ──────────── ────── ──────── │
│ │
│ "secret msg" │
│ │ │
│ ▼ │
│ ┌─────────┐ │
│ │ ENCRYPT │ AES-256-GCM │
│ │ locally │ (browser) │
│ └────┬────┘ │
│ │ │
│ ▼ │
│ "a3f8b2c1..." ───────► "a3f8b2c1..." ───► "a3f8b2c1..." │
│ (ciphertext) (ciphertext) (ciphertext) │
│ │
│ KEY stays in URL fragment (#) │
│ example.com/p/abc#KEY ◄── never sent to server │
│ │
└─────────────────────────────────────────────────────────────────┘
La clé de chiffrement réside dans le fragment d’URL (#), que les navigateurs n’envoient jamais aux serveurs. Même si notre base de données est compromise, les attaquants n’obtiennent que du texte chiffré sans signification.
| Composant | Ce qu’il voit |
|---|---|
| Votre navigateur | ✅ Texte clair (vous le contrôlez) |
| Réseau/FAI | 🔒 Texte chiffré uniquement |
Détails cryptographiques :
crypto.getRandomValues)Ne vous fiez pas à notre parole — la garantie est vérifiable dans votre navigateur :
POST sortante qui enregistre le paste et examinez son corps de requête. Vous ne verrez que du texte chiffré et un sel — jamais votre texte clair, et jamais la clé de chiffrement.# (le fragment d’URL). Par norme web, les navigateurs n’envoient jamais le fragment au serveur — il reste côté client.#fragment.Parce que la clé n’existe jamais que dans le fragment et dans le navigateur de votre destinataire, le serveur (et sa base de données, et quiconque sur le réseau) ne voit jamais que des blobs chiffrés. Il n’y a aucun chemin de code côté serveur qui puisse lire votre contenu — même sous subpoena, seul le texte chiffré existe à remettre.
# Clone
git clone https://github.com/Ishannaik/CloakBin.git
cd CloakBin
# Install
pnpm install
# Configure
cp .env.example .env
# Edit .env with your MongoDB URI
# Run
pnpm dev
Ouvrez http://localhost:5173
MONGODB_URI=mongodb://localhost:27017/cloakbin
ADMIN_USER=admin
ADMIN_PASS=your-secure-password
src/
├── lib/
│ ├── components/ # UI components
│ ├── db/ # Database adapters
│ └── crypto.ts # Encryption (AES-256-GCM, PBKDF2)
├── routes/
│ ├── +page.svelte # Create paste
│ ├── p/[id]/ # View paste
│ ├── api/ # REST endpoints
│ └── admin/ # Admin dashboard
└── app.html
CloakBin est entièrement open source. Déployez votre propre instance :
Les PR sont les bienvenus ! Veuillez :
GNU Affero General Public License v3.0 (AGPL-3.0) - voir LICENSE
Si vous exécutez une version modifiée de CloakBin en tant que service réseau, l’AGPL §13 vous oblige à proposer le source modifié à vos utilisateurs.
Vos secrets méritent une vraie vie privée.
Créé par Ishan Naik
| Serveur CloakBin | 🔒 Texte chiffré uniquement |
| Base de données | 🔒 Texte chiffré uniquement |
| Destinataire de l’URL | ✅ Texte clair (ils ont la clé) |
| Couche | Technologie |
|---|
| Framework | SvelteKit 2.0, Svelte 5 |
| Langage | TypeScript |
| Styling | Tailwind CSS 4.0 |
| Base de données | MongoDB |
| Chiffrement | Web Crypto API |
| Éditeur | CodeMirror 6 |
| Hébergement | Vercel |