A cosa serve
La ricerca offline usa la cronologia già scaricata. Per eliminare i messaggi serve una connessione internet; la cancellazione per tutti è possibile solo dove Telegram lo consente.
Nelle chat si lasciano cose: una password inviata di fretta, un codice monouso, una chiave API, un numero di carta, un indirizzo. La ricerca di Telegram trova una parola se ricordi in quale chat era e in quale forma. TCleanner crea sul dispositivo un semplice indice della tua cronologia e ti permette di eseguire una vera espressione regolare su tutto in una volta, poi di selezionare ciò che ha trovato ed eliminarlo — per tutti, su ogni dispositivo, con il numero esatto davanti a te prima che sparisca qualsiasi cosa.
Legge solo il tuo account e non invia mai messaggi. Indicizza le tue chat private e i gruppi; i canali a cui sei iscritto vengono indicizzati solo se lo attivi.
Dove sono i dati
Non c’è nessun server, né analisi, pubblicità o tracker. Le uniche librerie sono TDLib, di Telegram, e il database locale GRDB. L’indice si trova nell’archiviazione privata dell’app ed è escluso dai backup. La sessione è conservata nella directory dati cifrata di TDLib, anch’essa privata ed esclusa dai backup; la sua chiave è nel Keychain, conservata «solo su questo dispositivo»: può essere presente in un backup cifrato del dispositivo, ma non può essere ripristinata su un altro dispositivo. L’app comunica solo con Telegram, come tuo client.
Gli stessi sei principi si trovano nell’app, in Impostazioni › Come funziona: Sul tuo dispositivo; Solo Telegram; Niente a terze parti; Decidi tu cosa viene eliminato; La tua sessione e il tuo indice; Diagnostica solo se la esporti. Il testo completo è l’informativa sulla privacy.
Come è fatto
Un’app nativa per iPhone e iPad. Un pacchetto Swift contiene il dominio e i presenter; SwiftUI disegna un’istantanea dello stato e rimanda le intenzioni. Telegram è raggiunto tramite TDLib, con il suo database dei messaggi disattivato, perché questa app possiede il proprio indice. L’indice è SQLite tramite GRDB, interrogato con una scansione completa con arresto anticipato invece che con un indice di parole: un indice di parole non può rispondere a un’espressione regolare.
Il comportamento viene scritto prima del codice: undici specifiche di capacità con scenari eseguibili, ogni requisito sotto un id fisso che codice e test citano. I test girano su implementazioni di prova con un orologio controllato. Il progetto ha un proprio strumento di mutation testing con un obiettivo del 100%; tutte le capacità l’hanno raggiunto. L’indicizzazione regola da sé il proprio ritmo e riprende dopo che l’app è stata chiusa forzatamente. L’eliminazione è sempre per tutti, sempre confermata con il numero esatto, e mai programmata.
Stato
Non ancora disponibile sull’App Store. L’archivio demo integrato viene usato per lo sviluppo e i test senza un account Telegram. Il codice sorgente è privato.
Assistenza per l’app e diagnostica: support@kudravets.com. Richieste generali: info@kudravets.com.
App non ufficiale. Usa l’API di Telegram; non affiliata a Telegram.
Licenze open source (in inglese)



