
Pastebin crittografato a conoscenza zero. I tuoi dati vengono crittografati prima di lasciare il tuo browser.
I tuoi dati vengono crittografati prima di lasciare il tuo browser. Noi non possiamo leggerli. Nessuno può.
I pastebin tradizionali memorizzano i tuoi dati in chiaro. Gli amministratori del server, gli hacker o chiunque abbia accesso al database può leggere tutto ciò che condividi.
CloakBin è diverso.
┌─────────────────────────────────────────────────────────────────┐
│ 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 chiave di crittografia risiede nel frammento dell'URL (#), che i browser non inviano mai ai server. Anche se il nostro database venisse compromesso, gli aggressori otterrebbero solo testo cifrato privo di significato.
| Componente | Cosa vede |
|---|---|
| Il tuo browser | ✅ Testo in chiaro (lo controlli tu) |
| Rete/ISP |
Dettagli crittografici:
crypto.getRandomValues)Non fidarti solo della nostra parola: la garanzia è verificabile nel tuo browser:
POST in uscita che salva il paste e guarda il suo corpo della richiesta. Vedrai solo testo cifrato e un sale — mai il tuo testo in chiaro, e mai la chiave di crittografia.# (il frammento dell'URL). Per standard web, i browser non inviano mai il frammento al server — rimane lato client.#frammento.Poiché la chiave esiste solo nel frammento e nel browser del destinatario, il server (e il suo database, e chiunque sulla rete) vede solo blob crittografati. Non esiste alcun percorso del codice lato server che possa leggere il tuo contenuto — anche sotto mandato di comparizione, esiste solo testo cifrato da consegnare.
# 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
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 è completamente open source. Distribuisci la tua istanza:
PR benvenuti! Per favore:
GNU Affero General Public License v3.0 (AGPL-3.0) - consulta LICENSE
Se esegui una versione modificata di CloakBin come servizio di rete, AGPL §13 richiede di offrire il codice sorgente modificato ai tuoi utenti.
I tuoi segreti meritano una vera privacy.
Realizzato da Ishan Naik
| 🔒 Solo testo cifrato crittografato |
| Server CloakBin | 🔒 Solo testo cifrato crittografato |
| Database | 🔒 Solo testo cifrato crittografato |
| Destinatario dell'URL | ✅ Testo in chiaro (hanno la chiave) |
| Livello | Tecnologia |
|---|
| Framework | SvelteKit 2.0, Svelte 5 |
| Linguaggio | TypeScript |
| Stile | Tailwind CSS 4.0 |
| Database | MongoDB |
| Crittografia | Web Crypto API |
| Editor | CodeMirror 6 |
| Hosting | Vercel |