Proof · Identity · Trust
Ce qui rend la preuve opposable
La question qui compte n'est pas « Kankele est-il sérieux ? », mais « que reste-t-il si Kankele disparaît ? ». Une preuve dont la vérification exige d'interroger le service qui l'a produite ne vaut que la survie de ce service. Nous avons donc construit la preuve pour qu'elle se vérifie sans nous.
Chaque action — ouverture du lien, envoi du code, vérification d'identité, consentement, signature, approbation, refus, expiration — devient un événement horodaté par le serveur. Chaque événement porte l'empreinte SHA-256 du précédent, ce qui forme une chaîne : retirer, insérer ou modifier un événement casse toutes les empreintes suivantes, et cela se voit au recalcul.
La table est protégée par un déclencheur PostgreSQL qui refuse toute modification et toute suppression. Ce n'est pas une convention interne : la base elle-même rejette l'opération, y compris de notre part. C'est ce qui nous a conduits, pendant les tests, à ne pas jouer de parcours de signature en production — les événements produits n'auraient pas pu être effacés.
À la complétion, l'enveloppe est scellée dans un manifeste : un document JSON canonique décrivant les empreintes du fichier avant et après signature, les parties, leurs horodatages, la version de la mention de consentement acceptée, et la tête de la chaîne d'audit. Canonique signifie déterministe — clés triées, aucun espace superflu — sans quoi deux écritures du même contenu produiraient deux empreintes différentes et la signature ne vaudrait rien.
Ce manifeste est signé en RS256 sous forme de signature détachée : la signature vit dans un fichier séparé, et le manifeste reste un JSON lisible que vous pouvez archiver, relire et comparer. Notre clé publique est publiée à une adresse stable. Avec ces trois fichiers — manifeste, signature, clé publique — n'importe quelle bibliothèque cryptographique confirme que le document vient bien de Kankele et n'a pas bougé.
Conservez les trois fichiers avec votre PDF signé. Ils suffisent à établir l'authenticité du document dans dix ans, même si nous ne sommes plus là pour répondre.
Un document signé porte, en pied de chaque page, son identifiant d'enveloppe et l'adresse de vérification. Vous pouvez aussi partir du fichier lui-même : son empreinte SHA-256 est calculée dans votre navigateur, et seule l'empreinte nous est transmise. Demander de téléverser un contrat pour prouver qu'il n'a pas été modifié serait un contresens.
Le signataire reçoit un lien personnel, à usage limité dans le temps, puis prouve qu'il contrôle l'adresse — ou le numéro, à partir de l'offre Pro — par un code à usage unique. Le nombre de tentatives est borné, et un lien épuisé doit être réémis par l'expéditeur. L'adresse IP et le navigateur sont consignés dans le journal d'audit ; dans le manifeste destiné à circuler, seule l'empreinte de l'IP figure, ce qui permet de corroborer un journal sans divulguer l'adresse.
Chaque table porte l'espace de travail propriétaire et la base applique un cloisonnement au niveau des lignes : le rôle utilisé par l'application ne peut lire que les lignes de l'espace courant, quel que soit le code exécuté au-dessus. Les clés étrangères sont composites, si bien qu'un document d'un autre espace ne peut pas être rattaché à une enveloppe, même par une requête malformée. Le rôle applicatif n'a pas le droit de modifier l'offre souscrite ni de lever une suspension : ces colonnes lui sont interdites en écriture.
Par défaut, vos documents et vos preuves sont conservés sans limite de durée. Une preuve qui s'effacerait d'elle-même ne servirait à rien le jour où elle est contestée, et c'est précisément ce jour-là qu'on la cherche. Vous pouvez néanmoins fixer une durée, à partir de trente jours, depuis les réglages de votre espace.
À l'échéance, la purge détruit les fichiers — le document d'origine, la version signée, les images de signature. Elle ne détruit pas la preuve : les empreintes SHA-256, les horodatages, l'identité des parties, la chaîne d'audit et le manifeste signé subsistent. Vous restez donc en mesure de démontrer qu'un document précis a bien été signé, par qui et quand, sans conserver le document. La purge elle-même est inscrite au journal d'audit, à la date où elle a eu lieu.
Vous pouvez à tout moment récupérer une archive complète de votre espace — données, chaînes d'audit, manifestes et signatures détachées, documents signés — sans nous écrire. Fermer votre espace prend effet après quatorze jours, le temps de vous raviser et d'exporter ; l'annulation est possible pendant tout ce délai.
Kankele délivre une signature électronique simple à preuve renforcée. Ce n'est pas une signature qualifiée eIDAS, ni un horodatage qualifié RFC 3161, ni un cachet d'entreprise. Nous ne prétendons pas le contraire — ni sur cette page, ni dans l'application, ni sur le certificat de preuve, où la mention figure explicitement. Si votre usage exige une signature qualifiée, dites-le nous : mieux vaut une orientation honnête qu'un contrat mal fondé.
Écrivez à [email protected] en décrivant le problème et la façon de le reproduire. Nous répondons, nous corrigeons, et nous le disons dans nos rapports de déploiement — y compris quand le défaut venait de nous.