ChainShot

Des captures d'écran qui tiennent comme preuves.

Une capture collée dans un rapport ne prouve rien à elle seule. ChainShot enregistre chaque capture avec son heure, son cas et son examinateur, la hache et la chaîne à la précédente : n'importe qui peut ensuite vérifier que rien n'a été modifié, supprimé ou re-daté.

L'application ChainShot : un cas, son badge de vérification « All evidence intact », le journal des captures, fichiers et notes, et l'aperçu d'une page web capturée

Chaque capture dit ce qu'elle est

ChainShot dessine un bandeau sous l'image, jamais par-dessus : aucun pixel capturé n'est masqué. Les mêmes informations vont dans le journal, protégées par la chaîne de hash.

#12
numéro d'entrée du journal, celui à citer dans le rapport
cas, tag
le cas et la question ou l'étape documentée (P17)
UTC
heure de capture, avec l'heure locale et le décalage dans le journal
examinateur
qui a capturé, sur quel ordinateur
URL, titre
pour les pages web et les fenêtres, enregistrés automatiquement
SHA-256
empreinte du PNG final, inscrite au journal
Page web capturée par l'extension ChainShot, avec le bandeau de preuve noir en dessous : numéro d'entrée, cas, tag, heure UTC, examinateur, URL, titre et note

De la capture à la preuve

  1. Capturer

    Écran, fenêtre, zone ou page web, avec un raccourci depuis n'importe quelle application. Fichiers et notes aussi.

  2. Hacher

    Le SHA-256 de chaque fichier est inscrit dans un journal en ajout seul.

  3. Chaîner

    Chaque entrée est hachée avec la précédente : modifier, supprimer ou réordonner quoi que ce soit casse la chaîne.

  4. Sceller

    Un scellé fige le journal ; une autorité RFC 3161 peut en certifier l'heure. Son SHA-256 va dans le rapport signé.

Un octet change, et ça se voit

Le même cas, avant et après la modification de quelques octets d'une capture. ChainShot re-hache chaque fichier à la vérification, et le vérificateur indépendant fait exactement la même chose.

Cas vérifié : toutes les preuves sont intactes
Preuves intactes. Fichiers, chaîne et scellés concordent.
Le même cas après modification d'une capture : vérification échouée, hash du fichier différent pour l'entrée 5
Vérification échouée. Entrée #5 : le fichier ne correspond plus à son SHA-256.

Un format, quatre outils

Tous écrivent le même journal, testé sur les mêmes vecteurs : commencez un cas dans l'application, ajoutez des pages web depuis le navigateur, automatisez en PowerShell, vérifiez partout.

ChainShot pour Windows

Windows 10 et 11, un seul fichier, sans installation

Cas, captures avec raccourcis globaux, fichiers par glisser-déposer, journal avec aperçu, vérification, scellés, rapport HTML et paquet de preuves pour la remise. Interface en anglais.

Extension navigateur

Chrome, Edge, Brave, Firefox

Zone visible ou page entière, URL et titre enregistrés, archive MHTML de la page en option. Enregistre dans son propre cas ou directement dans le cas ouvert dans l'application.

Module PowerShell

Windows PowerShell 5.1 et PowerShell 7

Toutes les fonctions en commandes, pour les scripts et la ligne de commande, avec sa propre icône.

chainshot.py

Tout système avec Python 3.9+, sans dépendance

Le vérificateur de référence : un client ou un auditeur contrôle un cas sans faire confiance à l'outil qui l'a produit.

Télécharger

Application Windows

# winget
winget install Dalkin69.ChainShot

# Scoop
scoop bucket add chainshot https://github.com/Dalkin69/chainshot
scoop install chainshot

winget propose ChainShot après la validation par Microsoft ; Scoop fonctionne dès la première version. Ou téléchargez le zip sur GitHub, vérifiez-le avec SHA256SUMS.txt et lancez ChainShot.exe. L'exécutable n'est pas encore signé : Windows peut demander une confirmation au premier lancement (pourquoi).

Extension navigateur

Installez-la depuis le Chrome Web Store (Chrome, Edge, Brave) ou Firefox Add-ons.

PowerShell, Python

pipx install "git+https://github.com/Dalkin69/chainshot#subdirectory=python"

PowerShell : chainshot-powershell-*.zip, puis Install-ChainShot.ps1.

Vous avez reçu un cas ? Vérifiez-le vous-même.

Inutile d'avoir les outils de capture de ChainShot, Python suffit. Un paquet de preuves contient déjà chainshot.py, un VERIFY.txt et le SHA-256 de chaque fichier.

Guide de vérification (en anglais)

python chainshot.py verify DEMO-01
...
    9  2026-10-17T09:41:12Z  END  OK
Seal seal-20261017T094112Z.json: OK
  RFC 3161 imprint OK, signature valid

9 entries, 0 problem(s), 1 seal(s).
RESULT: ALL EVIDENCE INTACT

Vos preuves restent les vôtres

  • Aucune télémétrie, aucune statistique, aucun compte, aucune vérification de mise à jour. ChainShot ne se connecte jamais à Internet de lui-même.
  • La seule requête réseau est l'horodatage RFC 3161 que vous demandez, et elle n'envoie que le SHA-256 d'un scellé.
  • Open source sous licence MIT. Les versions sont construites depuis le dépôt public par GitHub Actions, avec leur SHA-256.
  • Ce site n'utilise ni cookie, ni traceur, ni police ou script externe.

Politique de confidentialité