Come funziona il tutto.
Il riferimento per le parti mobili di BurnPony. Per guide passo passo vedi le guide; per la specifica esatta a livello di byte, il protocollo v1.
Le note e l'envelope
Una nota può contenere fino a 50.000 caratteri di testo. Sul tuo dispositivo, la nota e la sua impostazione di occultamento automatico vengono racchiuse in un piccolo payload JSON, poi cifrate con AES-256-GCM. Ciò che viene caricato è un envelope che contiene solo una versione di formato, un flag che indica se serve una passphrase, il salt casuale, il nonce e il testo cifrato — sotto i 512 KiB e illeggibile senza la chiave.
Il link e la chiave del frammento
Creare una nota restituisce un link della forma burnpony.app/n/<id 22 car.>#<chiave 43 car.>. La parte prima del # identifica la nota; la parte dopo è la chiave di frammento di 32 byte codificata in base64url. I browser non trasmettono mai i frammenti, quindi la chiave raggiunge il browser del destinatario solo tramite il link e non viene mai vista dal server. La chiave di cifratura effettiva è derivata dalla chiave di frammento e dal salt con HKDF-SHA256.
Passphrase
Una passphrase opzionale aggiunge un secondo fattore: viene normalizzata, rafforzata con PBKDF2-HMAC-SHA256 a 600.000 iterazioni e integrata nella derivazione della chiave. Al destinatario viene richiesta nel visualizzatore; i tentativi avvengono interamente nel suo browser e non consumano visualizzazioni. Condividi la passphrase su un canale diverso dal link. Vedi aggiungere una passphrase.
Visualizzazioni, scadenza e occultamento automatico
Ogni nota porta un limite di visualizzazioni da 1 a 100 — l'ultima visualizzazione consentita elimina il testo cifrato nella stessa transazione del database — e una scadenza da 1 ora a 30 giorni, applicata da una scansione ogni cinque minuti. Il limite che arriva prima brucia la nota. Puoi anche impostare un conto alla rovescia di occultamento automatico (da 10 a 120 secondi) che rinasconde il testo rivelato nel visualizzatore; quell'impostazione viaggia cifrata dentro la nota, quindi nemmeno il server la conosce. Vedi scegliere visualizzazioni e scadenza.
Conferme di lettura
Le ricevute sono disattivate per impostazione predefinita. Attivate, il visualizzatore comunica al destinatario che il mittente sarà avvisato prima che riveli la nota, l'ora di apertura viene registrata e il tuo telefono riceve una notifica generica — «Una nota è stata aperta.» — che porta solo l'ID della nota. Fino a cinque dei tuoi dispositivi possono registrarsi per le ricevute di una nota. Vedi usare le conferme di lettura.
La scheda Inviati e il brucia anticipato
Ogni nota che crei è elencata in Inviati con stato in tempo reale: visualizzazioni usate, scadenza, orari delle ricevute se attive. Solo l'ID della nota, un token di gestione e le impostazioni scelte vengono salvati sul tuo dispositivo — mai il testo della nota. Bruciare elimina subito il testo cifrato dal server; dopodiché il link si comporta come qualsiasi altro link morto. Vedi bruciare una nota in anticipo.
Il visualizzatore
La pagina che i destinatari aprono è un unico file autonomo: nessun framework, nessun cookie, nessuna richiesta esterna, una Content-Security-Policy rigorosa e una politica no-referrer perché il link non trapeli oltre. Avverte che la nota si autodistrugge prima che il destinatario la riveli, decifra con il WebCrypto del browser ed è localizzata in 9 lingue. Visualizza sorgente mostra tutto.
Il server
Il relay su burnpony.app memorizza envelope sigillati e una contabilità minima — ID, timestamp, conteggi delle visualizzazioni, flag delle ricevute, un token di gestione con hash — ed elimina il testo cifrato all'ultima visualizzazione, alla scadenza o al brucia anticipato. Le note bruciate, scadute e mai esistite sono indistinguibili dall'esterno. La creazione è limitata nel tasso usando hash IP salati di breve durata anziché registri di indirizzi. Dettaglio completo sulla pagina sulla sicurezza.
Self-hosting
Le Impostazioni accettano un URL di server personalizzato, e ogni nota ricorda su quale server vive — così le note create sul tuo relay continuano a funzionare se torni indietro. Il codice del server relay è previsto per la pubblicazione; finché non esce, il self-hosting è una capacità che l'app supporta e non qualcosa che oggi puoi distribuire da un repo pubblico. La roadmap lo traccia onestamente.
Limiti in breve
Dimensione nota: 50.000 caratteri. Dimensione envelope: 512 KiB. Visualizzazioni: 1–100. Scadenza: 1 ora, 8 ore, 1 giorno, 3 giorni, 7 giorni o 30 giorni. Occultamento automatico: disattivato, 10, 30, 60 o 120 secondi. Creazione: limitata nel tasso all'ora per indirizzo (con hash).