À quoi ça sert
La recherche hors ligne porte sur l’historique déjà téléchargé. La suppression nécessite une connexion internet et n’est possible pour tout le monde que lorsque Telegram l’autorise.
On laisse des choses dans les discussions : un mot de passe envoyé à la hâte, un code à usage unique, une clé d’API, un numéro de carte, une adresse. La recherche de Telegram trouve un mot si vous vous souvenez dans quelle discussion il était et sous quelle forme. TCleanner construit sur l’appareil un index simple de votre historique et vous permet d’exécuter une vraie expression régulière sur l’ensemble d’un coup, puis de sélectionner ce qu’elle a trouvé et de le supprimer — pour tous, sur tous les appareils, avec le nombre exact sous les yeux avant que quoi que ce soit ne parte.
L’app ne lit que votre propre compte et n’envoie jamais de message. Elle indexe vos discussions privées et vos groupes ; les canaux auxquels vous êtes abonné ne sont indexés que si vous l’activez.
Où sont les données
Il n’y a pas de serveur, ni analytique, ni publicité, ni traceurs. Les seules bibliothèques sont TDLib, celle de Telegram, et la base de données locale GRDB. L’index se trouve dans le stockage privé de l’app et est exclu des sauvegardes. La session est conservée dans le répertoire de données chiffré de TDLib, lui aussi privé et exclu des sauvegardes ; sa clé est dans le Keychain, conservée « sur cet appareil uniquement » : elle peut figurer dans une sauvegarde chiffrée de l’appareil, mais ne peut pas être restaurée sur un autre appareil. L’app ne communique qu’avec Telegram, en tant que votre client.
Les six mêmes principes figurent dans l’app, sous Réglages › Comment ça marche : Sur votre appareil ; Uniquement Telegram ; Rien pour des tiers ; Vous décidez de ce qui est supprimé ; Votre session et votre index ; Des diagnostics seulement si vous les exportez. Le texte complet est la politique de confidentialité.
Comment c’est construit
Une app native pour iPhone et iPad. Un paquet Swift contient le domaine et les presenters ; SwiftUI affiche un instantané de l’état et renvoie des intentions. Telegram est joint via TDLib, avec sa propre base de messages désactivée, car cette app possède son index. Cet index est en SQLite via GRDB, parcouru par un balayage complet avec arrêt anticipé plutôt que par un index de mots : un index de mots ne peut pas répondre à une expression régulière.
Le comportement est écrit avant d’être codé : onze spécifications de capacités avec des scénarios exécutables, chaque exigence sous un identifiant figé que le code et les tests citent. Les tests tournent sur des implémentations de test avec une horloge pilotée. Le projet a son propre outil de test de mutation, avec un objectif de 100 % ; toutes les capacités l’ont atteint. L’indexation règle elle-même son rythme et reprend après l’arrêt forcé de l’app. La suppression est toujours pour tous, toujours confirmée avec le nombre exact, et jamais programmée.
État
Pas encore sur l’App Store. L’archive de démonstration intégrée sert au développement et aux tests sans compte Telegram. Le code source est privé.
Assistance de l’app et diagnostics : support@kudravets.com. Questions générales : info@kudravets.com.
Application non officielle. Utilise l’API de Telegram ; sans affiliation avec Telegram.
Licences open source (en anglais)



