§ Vérification de receipt
Vérifier un receipt Tessaliq
Collez un JWT de receipt ci-dessous, ou déposez un fichier. La vérification s'effectue entièrement dans votre navigateur — seul le endpoint JWKS public est appelé, le contenu du receipt ne quitte pas votre machine.
Voir la spécification receipt v1
pour le format complet. La logique de vérification utilisée ici reprend celle de
@tessaliq/receipt-verifier (MIT).
Vérification contre api.tessaliq.com
Déposez un fichier receipt ici ou collez le JWT ci-dessous
Accepte un fichier .jwt ou .txt contenant une seule chaîne JWT.
Re-vérifier ce receipt vous-même, dans votre terminal
La vérification côté navigateur sur cette page reprend la logique de la lib
@tessaliq/receipt-verifier
(MIT). Sauvegardez le JWT dans un fichier puis vérifiez avec :
# Option A — npx (quand la lib sera publiée sur npm)
echo "<votre-jwt>" | npx @tessaliq/receipt-verifier
# Option B — cloner le repo open-core
git clone https://github.com/Tessaliq/tessaliq-open.git
cd tessaliq-open
pnpm install && pnpm -F @tessaliq/receipt-verifier build
echo "<votre-jwt>" | node packages/receipt-verifier/dist/cli.js
Pour une vérification entièrement air-gapped, récupérez le
JWKS public
une fois et passez-le à verifyReceipt(jwt, { jwks }) depuis la lib.
Le dépôt embarque un receipt réel + le snapshot JWKS associé sous
examples/real-receipt.json
comme référence reproductible.
Ce que la vérification prouve
Intégrité cryptographique
Le JWT a été signé par la clé privée dont la contrepartie publique
est publiée au endpoint JWKS (kid: tessaliq-receipt-v1),
et les claims n'ont pas été modifiés depuis la signature.
Ce que Tessaliq atteste
Le receipt enregistre la policy appliquée, le résultat, les timestamps et, le cas échéant, l'empreinte de preuve ZK. Ces déclarations sont signées par Tessaliq — non répudiables sous réserve que la clé privée n'ait pas été compromise.
Ce que cette page ne peut pas prouver
Que la session existe en base Tessaliq (pas de lookup public en v1), que la logique interne du verifier a bien appliqué la policy déclarée (voir les plans OIDF publics pour cela), ou l'identité du wallet user (par design — double anonymat).