何のためのアプリか
オフライン検索の対象はダウンロード済みの履歴です。削除にはインターネット接続が必要です。全員に対してメッセージを削除できるのは、Telegramが許可する場合に限ります。
チャットにはいろいろなものが残ります。急いで送ったパスワード、ワンタイムコード、APIキー、カード番号、住所。Telegram自体の検索は、どのチャットだったか、どんな形の言葉だったかを覚えていれば見つけてくれます。TCleannerは履歴のシンプルなインデックスをデバイス上に作り、そのすべてに本物の正規表現を一度にかけられるようにします。見つかったものを選んで削除できます — 全員に対して、すべてのデバイスから。何かが消える前に、正確な件数が目の前に表示されます。
読むのは自分のアカウントだけで、メッセージを送信することはありません。インデックスの対象は個人チャットとグループです。購読しているチャンネルは、オンにした場合にだけインデックスされます。
データはどこにあるか
サーバーはなく、分析ツールも広告もトラッカーもありません。使うライブラリはTelegram公式のTDLibとローカルデータベースのGRDBだけです。インデックスはアプリ専用の領域に置かれ、バックアップから除外されます。セッションはTDLibの暗号化されたデータディレクトリにあり、そこも専用の領域でバックアップから除外されます。その鍵はKeychainに「このデバイスのみ」として保持されます。暗号化されたデバイスのバックアップに含まれることはありますが、別のデバイスには復元できません。アプリはあなたのクライアントとして、Telegramとだけ通信します。
同じ6つの原則が、アプリの「設定 › しくみ」にあります。デバイス上で、Telegramだけ、第三者には何も渡しません、削除するものはあなたが決めます、セッションとインデックス、診断情報はご自身で書き出した場合のみ。全文はプライバシーポリシーにあります。
どう作られているか
ネイティブのiPhone・iPadアプリです。1つのSwiftパッケージがドメインとプレゼンターを持ち、SwiftUIが状態のスナップショットを描画してインテントを返します。TelegramにはTDLib経由で接続し、TDLib自身のメッセージデータベースはオフにしています。インデックスはこのアプリが持つからです。そのインデックスはGRDBを使ったSQLiteで、単語インデックスではなく、途中で止められる全件走査で検索します。単語インデックスでは正規表現に答えられないからです。
振る舞いは、コードを書く前に書き留めます。実行可能なシナリオを持つ11の機能仕様があり、各要件には固定のIDがあって、コードとテストがそれを引用します。テストは、時間を制御できるテスト用の実装の上で動きます。プロジェクトには独自のミューテーションテストツールがあり、目標は100%で、すべての機能が達成しています。インデックス作成は自分でペースを調整し、アプリが強制終了されても再開します。削除は常に全員に対して行われ、常に正確な件数で確認され、予約されることはありません。
現状
App Storeではまだ公開されていません。内蔵のデモアーカイブは、Telegramアカウントなしで開発とテストを行うために使用しています。ソースコードは非公開です。
アプリのサポートと診断情報: support@kudravets.com。一般のお問い合わせ: info@kudravets.com。
非公式アプリです。Telegram APIを使用しており、Telegramとは無関係です。
オープンソースライセンス(英語)



