Référence / Preuves
Telegram · Exportation de comptes
Exportez ce qu’un compte peut lire actuellement : champ d’application, tâches reprenables, archive signée et copies de partage réduites.
TgWitness / Documentation · Preuves et vérification
Un export de compte réserve ce compte exclusivement. Suspendez explicitement la surveillance ou une autre acquisition avant de démarrer ou reprendre ; l’application ne l’arrête jamais automatiquement.
En tant qu’administrateur de l’installation, choisissez « Commencer ici » → « Exporter mon compte », ou « Exportations » → « Compte Telegram » → « Configurer l’exportation du compte ». Connectez-vous si nécessaire, vérifiez la portée de l’opération, puis lancez explicitement l’exportation. Une surveillance continue n’est pas requise. Les « Observations enregistrées » constituent une exportation distincte du journal existant ; son ZIP inclut toutes les sources, indépendamment des filtres du journal. Chaque espace de travail dispose de ses propres tâches, de son identité de signature et de son espace de stockage. L’accès au panneau d’administration, y compris une autorisation d’exportation ordinaire sans restriction, ne permet pas d’accéder à ces chemins à l’échelle du compte.
Les filtres par expéditeur et par texte s'affichent sous « Filtrer par expéditeur » ou « Filtrer par texte du message ». La section « Données du compte et méthode de connexion » contient des catégories de comptes facultatives ainsi que le choix entre « Takeout » et « session standard » ; son résumé affiche les choix actifs même lorsque la section est fermée. La fermeture de ces sections conserve leurs paramètres. Les brouillons d'exportation et de rapport restent dans la session actuelle du panneau lors du changement de vue ; ils ne sont pas enregistrés lors du rafraîchissement du navigateur. Les tâches existantes restent accessibles depuis l'une ou l'autre option d'exportation.
Ce workflow exporte les données actuellement accessibles depuis le compte connecté. Par défaut, il utilise Telegram Takeout ; il ne s'agit pas d'une sauvegarde des données Telegram indisponibles ou supprimées. Les discussions secrètes, l'historique inaccessible et les modifications antérieures ne sont pas récupérés. Telegram peut imposer un délai d'attente avant le lancement de Takeout. Le panneau affiche ce délai ; il ne change pas de mode de transfert sans avertissement. L'option explicite « regular-API » offre une couverture différente et enregistre les catégories non prises en charge.
Takeout est l’API d’exportation officielle également utilisée par Telegram Desktop. TgWitness peut générer du JSON compatible avec Desktop directement à partir de sa propre acquisition ; l’importation d’une archive tierce n’est pas nécessaire. Les identifiants de discussion et de message sont disponibles via les deux modes de transfert. Un chat public ou l’autorisation de transfert ne garantit pas une exportation plus rapide ni ne supprime le délai d’approbation de Takeout. Vérifiez que le périmètre et les paramètres multimédias sont identiques avant de comparer les vitesses.
Pour un maximum de 20, des identifiants de discussion explicitement sélectionnés, l’exportation via l’API standard résout ces pairs
directement avant de prendre en compte l’inventaire complet des discussions du compte. Une
chaîne publique lisible peut donc être exportée sans y adhérer, même si elle est absente
de la liste des discussions. Les pairs non mis en cache se rabattent sur l’inventaire ordinaire. Le
filtre d’archivage reste appliqué : si Telegram ne renvoie pas de dialogue et que les
discussions archivées sont exclues, le statut d’archivage inconnu est enregistré comme une omission.
Takeout conserve sa procédure d’inventaire à plage divisée. Aucune des deux méthodes ne rejoint de discussions ni
ne modifie les autorisations de transfert.
Au format JSON compatible avec la version bureau, les canaux que Telegram marque comme left apparaissent sous
left_chats, y compris les canaux publics accessibles en lecture auxquels le compte n’a pas adhéré.
Les requêtes de pause FLOOD_WAIT et FLOOD_PREMIUM_WAIT s’appliquent pendant toute la durée demandée par le serveur.
Le délai imparti au compte est conservé lors des reconnexions et des redémarrages ; une attente ultérieure plus courte
ne peut pas le réduire. Le nombre de tentatives est limité, l’annulation préserve les pages scellées,
et les identifiants API ne sont pas renouvelés pour contourner une limite de débit. Aucun achat Premium n’est effectué.
Choisissez ce qui est collecté#
| Contexte | Signification |
|---|---|
| Objectif | Indiquez pourquoi cette acquisition est nécessaire. Ne mentionnez pas ici de noms superflus ni de détails sensibles relatifs au dossier. |
| Langue du rapport | Choisissez la langue des libellés du rapport lisible. Le texte original du message reste inchangé ; les libellés des modèles non traduits s'affichent en anglais. La langue est définie de manière fixe via les options de la tâche signée. |
| Types de discussions / identifiants de discussion | Tous les types sélectionnés, ou uniquement les discussions répertoriées ; la section « Messages enregistrés » concerne les discussions privées. Les discussions archivées peuvent être sélectionnées séparément. |
| Dates | UTC. Les dates de début et de fin du calendrier du panneau sont toutes deux incluses. L'API utilise des dates inclusives from_utc et exclusives to_utc; le panneau envoie le début du jour suivant la date « Through ». Une limite vide laisse ce côté sans restriction. |
| Identifiants d'expéditeur | Uniquement les messages provenant des expéditeurs répertoriés ; une liste vide inclut tous les expéditeurs. |
| Le texte contient | Les expressions littérales, sans distinction de majuscules/minuscules, sont mises en correspondance avec l'opérateur « OR ». Les conditions relatives à l'expéditeur, à la date et au message personnel sont combinées avec l'opérateur « AND ». |
| Mes propres messages | Ne conservez que les messages sortants. |
| Types de médias | Sélectionnez des catégories de pièces jointes ou effacez toutes les sélections pour éviter de télécharger les fichiers joints aux messages. |
| Limites de fichiers / de médias au total | MiB par fichier et GiB au total pour les médias téléchargés. Le texte, les reçus, les rapports lisibles et les éléments de surZIP nécessitent un espace disque supplémentaire. |
| Catégories de comptes | Le profil, les contacts, les photos de profil, les stories, les métadonnées de session et les autres données Takeout disposent de commandes distinctes. |
Le préréglage de collecte « Minimize » désactive les fichiers et les métadonnées des comptes. Les filtres d’expéditeur/de contenu s’appliquent avant la conservation des pages de messages et le téléchargement des médias. Telegram transmet toujours les pages d’historique de l’API contenant les messages nécessaires à l’évaluation de ces filtres : le filtrage ne garantit pas que les messages non sélectionnés n’entrent jamais dans la mémoire du processus. Toute autre observation en cours dans l’espace de travail dispose de ses propres paramètres de portée et de conservation.
L’historique des photos de profil et les stories ne sont pas sélectionnés par défaut. Désactivez également le profil et les contacts lorsque le dossier ne nécessite que les messages. Si les pièces jointes ou les métadonnées ne sont pas nécessaires, les exclure lors de l’acquisition évite de conserver une autre copie privée dans cette exportation.
Les charges utiles photographiques utilisent la variante d’image fixe identifiée dans leurs métadonnées et leurs manifestes de hachage, y compris les photos comportant une variante d’avatar animé. Cette animation ne remplace pas l’image fixe sélectionnée. Une charge utile plus courte ou plus longue que la taille observée est enregistrée comme une pièce jointe ayant échoué, et une représentation modifiée lors du renouvellement de la référence du fichier est rejetée. Ces échecs laissent l’archive incomplète tout en conservant les enregistrements des messages. Une vérification indépendante rejette également les pièces jointes enregistrées dont la longueur signée contredit leur taille ou leur représentation observée, y compris dans les archives plus anciennes.
Résumé, couverture et vérification#
Chaque tâche verrouille ses options et l’identité du compte. L’inventaire et les pages capturées sont signés ; les reçus de page enregistrent les hachages, les curseurs, les horodatages, les résultats des pièces jointes et leur reçu précédent. Seules les pages validées font progresser la tâche. La fonction « Redémarrer/Reprendre » vérifie ces enregistrements avant de continuer. Un compte modifié, une page signée modifiée ou une chaîne de reçus incohérente sont rejetés. Les options ne peuvent pas être modifiées en cours d’acquisition : lancez une nouvelle tâche pour une autre portée.
La commande « Pause » interrompt l’opération en cours sur le compte. Le redémarrage de l’application laisse le travail inachevé disponible pour une reprise explicite. Une session Takeout expirée nécessite une reprise explicite ; la modification des plages de fractionnement Telegram peut nécessiter une nouvelle acquisition. La commande « Reprise » conserve les observations précédentes, de sorte qu’une exportation de longue durée ne constitue pas un instantané atomique unique. Les autres opérations de changement de compte et les exportations conflictuelles sont bloquées pendant l’acquisition. Attendez que le packaging soit terminé avant de supprimer un espace de travail.
La fonction « Reprendre » vérifie le contenu déjà capturé avant de poursuivre. Les archives volumineuses stockées sur un support de stockage lent peuvent dépasser la durée configurée Paramètres → Délai d'expiration des actions du panneau (120 secondes par défaut). Augmentez ce paramètre avant de réessayer ; une annulation ou une interruption du stockage entraîne la mise en pause de la tâche, tandis qu’un échec des contrôles d’intégrité entraîne l’échec de la tâche, accompagné d’une explication. La vérification doit s’achever ou s’arrêter en toute sécurité avant que les fichiers puissent être fermés. Aucune affirmation concernant le débit pour les comptes volumineux n’a été validée par les contrôles synthétiques.
Le panneau distingue une portée sélectionnée complète d’une archive partielle, et consigne les omissions et les lectures ayant échoué. Les fichiers délibérément exclus sont différents des fichiers ayant échoué ou indisponibles. Vérifiez la couverture même lorsque la vérification d’intégrité aboutit. Aucun lecteur local ne peut prouver que Telegram a renvoyé tous les messages ayant jamais existé.
Les ZIP terminés restent disponibles pour des téléchargements répétés et par plage HTTP. Une archive de compte contient manifest.json, manifest.sig, signés job.json, inventory.json, receipts/, faisant autorité data/*.jsonl, sélectionné media/, lisible au format HTML et un vérificateur. Épinglez l’empreinte digitale du collecteur via un canal indépendant, puis vérifiez-la à l’aide d’une installation de confiance :
python -m tgwitness.verify account-export.zip --fingerprint TRUSTED_SHA256
Pour les archives dont le contenu décompressé dépasse 4 GiB, définissez explicitement une limite de taille adéquate --max-gib. Le panneau vérifie ses archives locales authentifiées et complètes à l’aide de leur taille développée déclarée et du résumé publié ZIP ; l’interface CLI externe conserve sa propre limite de taille. Vérifiez avant d’ouvrir le fichier HTML lisible. Le vérificateur intégré à l’archive est pratique, mais un vérificateur obtenu indépendamment évite de faire confiance au code exécutable fourni avec la preuve.
La signature Ed25519 et les hachages SHA-256 détectent les modifications survenues après que le collecteur a validé les octets concernés. Ils ne prouvent pas non que Telegram a signé ces messages, que l'opérateur du collecteur a agi en toute bonne foi, que l'historique du compte est complet, ni qu'un tribunal acceptera ces éléments. Les horodatages de capture sont basés sur l'horloge du collecteur. Les horodatages indépendants et la provenance indépendante de l'acquisition doivent être évalués séparément.
Préparez une communication d’informations à l’intention d’un avocat ou d’un autre destinataire#
Après avoir téléchargé une exportation terminée, conservez l'ZIP d'origine et ouvrez index.html
à partir d’une copie extraite. Le rapport explique son champ d’application, la couverture disponible et ses
limites. Ses références d’enregistrement combinent la référence d’archive, le chemin d’accès au document et le
numéro d’enregistrement, afin qu’un destinataire puisse localiser la même entrée dans le fichier HTML ou sur l’impression.
Pour un exemple concret, Ouvrir le rapport fictif.
Une fois l’exportation d’un compte terminée, choisissez « Préparer une copie à partager ». Cela génère un dérivé signé distinct. La source ZIP reste inchangée et privée ; ne l’envoyez pas avec un dérivé allégé, sauf si le destinataire est autorisé à recevoir l’intégralité de son contenu. Choisissez séparément la langue du rapport. La modification de la langue ou de tout paramètre de sélection nécessite un nouvel aperçu avant la création.
- Saisissez l'objet de la divulgation et sélectionnez les dates, les identifiants d'expéditeur et les critères de texte littéral.
- Choisissez de conserver les identités, de ne révéler que les participants répertoriés ou de pseudonymiser tout le monde. Dans les deux modes de pseudonymisation, les identifiants/titres de discussion et les identifiants de message sont également remplacés. Les pseudonymes restent stables au sein d’une même divulgation et changent d’une divulgation à l’autre préparée indépendamment.
- Conservez le texte du message, omettez-le entièrement ou ajoutez des noms/expressions littéraux à masquer. En mode privé, l’outil masque également les noms d’expéditeurs cachés connus et les pseudonymes, les identifiants d’expéditeur sous forme de jetons entiers, les noms de discussions privées, les liens, les adresses e-mail et les chaînes de caractères ressemblant à des numéros de téléphone. La correspondance des noms connus gère la conversion de casse Unicode, y compris
Straße/STRASSE. Les titres génériques de groupes/canaux ne sont pas automatiquement supprimés du texte des messages. Si la limite de masquage des identités connues est dépassée, affinez l’exportation source ou omettez du texte ; l’outil refuse de passer silencieusement les noms suivants. Il s’agit de règles appliquées au mieux, et non d’une anonymisation générale. - N'incluez pas de fichiers, sauf si le destinataire en a besoin. Les fichiers originaux inclus conservent leurs pixels, leur audio, leur texte et leurs métadonnées. Ils sont anonymisés par l'outil non.
- Prévisualisez les décomptes, les avertissements et des exemples de messages transformés, puis confirmez explicitement la création. Les exemples sont limités à 12 messages et 2 000 caractères de texte chacun. Il s'agit d'un aperçu, et non d'une analyse complète du résultat. La modification des paramètres nécessite une nouvelle prévisualisation. Une prévisualisation expire au bout de 15 minutes et est liée à cette session d'administrateur et à l'ZIP d'origine exacte ; elle ne peut pas être réutilisée après sa création. Une nouvelle prévisualisation invalide la précédente pour la même tâche et la même session.
- Consultez le résultat complet
index.htmletmessages.jsonllocalement avant de le transmettre. S’il révèle des informations superflues, créez une nouvelle divulgation avec des exclusions plus strictes. Ne modifiez pas sur place l’ZIP signé.
Messages non retenus lors de la sélection#
Aperçu. Une divulgation n'apparaît pas comme complète lorsqu'elle ne l'est pas. Dans chaque discussion contenant au moins un message divulgué, les messages non inclus dans la sélection apparaissent sous forme de marqueurs, [withheld by selection — rule: sender] (ou text, period). Choisissez « Messages omis par la sélection » : un marqueur pour chaque série de messages non divulgués consécutifs (par défaut) ou un pour chaque message. Les marqueurs ne contiennent que la règle et un compteur, jamais de texte, d’expéditeur, de date ou de fichiers. Les discussions ne contenant aucun message divulgué sont entièrement omises ; le package ne révèle donc pas leur existence.
Les réponses divulguées indiquent clairement à quoi elles se rapportent : un message inclus dans cette copie, un message exclu de la sélection, ou un message qui ne figure pas dans l’exportation source (supprimé avant l’exportation ou jamais exporté ; l’exportation ne permet pas de déterminer lequel). Un message exclu auquel une réponse divulguée fait référence se voit toujours attribuer son propre marqueur, de sorte que la réponse renvoie à un enregistrement expliquant pourquoi il est vide. Ces trois états sont distincts des suppressions et des lacunes de collecte, qui relèvent de l’exportation source.
En messages.jsonl (format tgwitness-account-disclosure-v2), chaque message comporte state: disclosed, ou withheld avec rules et count. Une réponse divulguée comporte reply_to avec la cible id et state (disclosed, withheld, not_in_source). Le manifeste recense les messages, discussions, fichiers multimédias et withheld messages. verify.py rejette un marqueur contenant du contenu et une réponse renvoyant à un enregistrement manquant dans le paquet ; les paquets de version 1 sont vérifiés comme auparavant.
Le format simplifié omet les profils de compte structurés, les contacts, les avatars, les sessions, les stories, les objets Telegram bruts, les en-têtes de transfert, les citations de réponse, les fiches de contact et les métadonnées de localisation. Il exclut les fichiers JSONL d’origine, les paramètres de filtrage privés, la clé de pseudonyme et la carte d’identité. Le texte sélectionné, les identités explicitement conservées et les fichiers inclus peuvent toutefois contenir les mêmes noms, identifiants ou expressions que ceux utilisés dans ces filtres ; ils doivent faire l’objet d’un examen séparé. La politique de confidentialité et la clé de pseudonymisation sont conservées sous forme chiffrée dans le coffre-fort local dédié à la tâche ; la suppression de la tâche efface les enregistrements de divulgation privés qui y sont associés. La politique publique enregistre le nombre de filtres plutôt que leurs valeurs. L’objectif déclaré est public dans le manifeste et le code HTML : les critères privés explicites et, en mode pseudonymisé, les identités cachées connues y sont également masquées, y compris lorsque le texte du message est omis. Veillez à ce que l’objectif ne contienne pas de détails personnels inutiles ; un contexte d’identification inconnu peut être conservé.
Son manifeste lie les fichiers dérivés, la politique publique et le hachage de l’ZIP d’origine. La vérification permet de s’assurer de l’intégrité et, si la source est fournie localement, de vérifier la correspondance des liens vers la source :
python -m tgwitness.verify minimized-disclosure.zip --fingerprint TRUSTED_SHA256
python -m tgwitness.verify minimized-disclosure.zip --fingerprint TRUSTED_SHA256 --evidence account-export.zip
Le lien vers la source ne prouve pas à lui seul que la transformation a sélectionné tous les éléments requis ou supprimé tous les détails permettant l'identification. Le texte en clair d'origine n'est pas intégré à titre de preuve. Un nouvel examen est nécessaire pour se prononcer à ce sujet.
Partage et capture hébergée#
Sélectionnez les messages et les fichiers dont le destinataire a besoin, examinez la copie complète à partager et conservez la source séparément. Enregistrez le hachage du fichier ZIP transmis afin que le destinataire puisse identifier et vérifier qu'il s'agit bien de cette copie exacte. La pseudonymisation remplace les identifiants sélectionnés ; le texte inclus et les fichiers originaux font toujours partie de l'examen.
GitHub Actions prend en charge les exportations de comptes complets et de discussions sélectionnées via Takeout ou l’API standard, ainsi qu’un journal des événements d’une seule discussion. Le guide de capture hébergée explique la vérification des paramètres et la limite de 120 minutes. Pour vérifier une copie partagée issue d’une capture hébergée, comparez son hachage source à celui de l’archive d’origine et vérifiez l’attestation de cette archive à l’aide des contrôles spécifiques au mode .