Wofür es da ist
Die Offline-Suche funktioniert mit bereits heruntergeladenem Verlauf. Zum Löschen ist eine Internetverbindung nötig. Nachrichten lassen sich nur dort für alle löschen, wo Telegram es erlaubt.
Menschen lassen Dinge in Chats liegen: ein in Eile gesendetes Passwort, einen Einmalcode, einen API-Schlüssel, eine Kartennummer, eine Adresse. Die Suche von Telegram findet ein Wort, wenn du noch weißt, in welchem Chat es stand und in welcher Form. TCleanner baut auf dem Gerät einen einfachen Index deines Verlaufs und lässt dich einen echten regulären Ausdruck über alles auf einmal laufen, dann auswählen, was er gefunden hat, und es löschen — für alle, auf jedem Gerät, mit der genauen Anzahl vor Augen, bevor irgendetwas verschwindet.
Die App liest nur dein eigenes Konto und sendet nie eine Nachricht. Sie indexiert deine privaten Chats und Gruppen; abonnierte Kanäle werden nur indexiert, wenn du das einschaltest.
Wo die Daten sind
Es gibt keinen Server und keine Analyse, keine Werbung, keine Tracker. Die einzigen Bibliotheken sind Telegrams eigene TDLib und die lokale Datenbank GRDB. Der Index liegt im privaten Speicher der App und ist von Backups ausgeschlossen. Die Sitzung liegt im verschlüsselten Datenverzeichnis von TDLib, ebenfalls privat und von Backups ausgeschlossen; ihr Schlüssel liegt im Schlüsselbund (Keychain), aufbewahrt „nur auf diesem Gerät“: Er kann in einem verschlüsselten Geräte-Backup sein, lässt sich aber nicht auf einem anderen Gerät wiederherstellen. Die App spricht nur mit Telegram, als dein Client.
Dieselben sechs Grundsätze stehen in der App unter Einstellungen › So funktioniert es: Auf deinem Gerät; Nur Telegram; Nichts an Dritte; Du entscheidest, was gelöscht wird; Deine Sitzung und dein Index; Diagnosedaten nur, wenn du sie selbst exportierst. Der vollständige Text ist die Datenschutzerklärung.
Wie es gebaut ist
Eine native App für iPhone und iPad. Ein Swift-Paket enthält die Domäne und die Presenter; SwiftUI rendert einen Zustands-Snapshot und schickt Absichten zurück. Telegram wird über TDLib erreicht, mit abgeschalteter eigener Nachrichtendatenbank, denn diese App besitzt ihren eigenen Index. Dieser Index ist SQLite über GRDB, durchsucht mit einem vollständigen Scan mit vorzeitigem Abbruch statt mit einem Wortindex: Ein Wortindex kann keinen regulären Ausdruck beantworten.
Das Verhalten wird aufgeschrieben, bevor es geschrieben wird: elf Fähigkeitsspezifikationen mit ausführbaren Szenarien, jede Anforderung unter einer festen ID, die Code und Tests zitieren. Tests laufen gegen Testimplementierungen mit einer steuerbaren Uhr. Das Projekt hat ein eigenes Werkzeug für Mutationstests mit einem Zielwert von 100 %; alle Fähigkeiten haben ihn erreicht. Die Indexierung dosiert sich selbst und setzt fort, nachdem die App beendet wurde. Gelöscht wird immer für alle, immer mit der genauen Anzahl bestätigt und nie zeitgesteuert.
Status
Noch nicht im App Store. Das integrierte Demoarchiv wird für Entwicklung und Tests ohne Telegram-Konto verwendet. Der Quellcode ist nicht öffentlich.
App-Support und Diagnosedaten: support@kudravets.com. Allgemeine Anfragen: info@kudravets.com.
Inoffizielle App. Nutzt die Telegram-API; steht in keiner Verbindung zu Telegram.
Open-Source-Lizenzen (auf Englisch)



