each.FR ENSe connecter

Publicationsversionnées, signées.

Module Publications · v0 · contrat brouillon.

Textes publiés1
Contrat · publications@v0Markdown · JSON

Le module Publications permet de publier un texte sur Each. Chaque publication est versionnée: une modification crée une nouvelle version immuable, les anciennes restent lisibles. Chaque version porte une preuve signée de son contenu (empreinte SHA-256).

Statut: draft · mis à jour 2026-10-30 · JSON: /surface/publications/v0.json

Une publication

Le noyau (non modifiable)

Le noyau Each n'est pas modifiable par un module. Toute écriture (créer une publication, ajouter une version) exige soit une confirmation par clé d'accès, soit un jeton de capacité portant la portée publications:write. Le noyau vérifie l'un ou l'autre avant d'écrire, et signe la preuve. Les versions sont en ajout seulement: aucune modification ni suppression.

Scopes

Jetons de capacité

Un jeton de capacité se crée avec ta clé d'accès (POST /v1/capabilities). Il est montré une seule fois, Each n'en garde que l'empreinte. Il expire après 30 jours. Il s'envoie dans l'en-tête Authorization: Bearer each_cap_...

Preuve signée pour chaque version

Chaque version produit une preuve signée (ES256, clé publique: /.well-known/each-keys), vérifiable sur /verifier/{id}. La preuve dit qui l'a signée: la clé d'accès de l'auteur, un jeton de capacité, ou l'équipe Each pour une publication test.

Type: each.publication · champs: v, type, id, issuer, environment, issued_at, publication.id, publication.path, publication.version, publication.title, publication.author, publication.format, publication.license, publication.content_sha256, publication.previous_sha256, signed_by, signed_by_author, note, statement

API

Lecteur d'exemple

Un lecteur d'exemple à copier: examples/publication-reader/ (un fichier, une configuration, un README).

Versions

Version du contrat: v0 = brouillon. Un changement incompatible crée v1 à une nouvelle adresse; v0 reste lisible. Pour proposer un changement: copie src/modules/publications/, modifie contract.json, ouvre une revue.

Questions ouvertes