OVELIYACapsuleRetour au site

Lisible sans nous

Le format des capsules OVELIYA

Version 2 · 26 septembre 2026. Elle ajoute la date verrouillée (section 8) et le profil IA (section 9) ; tout ce que décrivait la version 1 reste valable.

Une capsule doit pouvoir s’ouvrir dans vingt ans, même si ce site n’existe plus. Cette page décrit exactement comment elle est construite, pour que chacun puisse écrire son propre lecteur. Tout ce qu’elle affirme est vérifié par vingt capsules de contrôle et par un second lecteur, écrit sans rien reprendre du code du site. Le format est ouvert : l’implémenter ne demande l’accord de personne, et sa description, son code et ses capsules de contrôle sont sous licences libres (section 14).

En une phrase

Une capsule OVELIYA est un contenu chiffré sur l’appareil de son auteur en AES-256-GCM, avec une clé tirée d’un code (PBKDF2-SHA-256, 600 000 itérations) ou transmise avec elle. Elle voyage dans un lien, un fichier .html ou un fichier .oveliya, et son en-tête dit le jour où elle s’ouvre. Depuis la version 2, ce jour peut aussi être verrouillé : une seconde clé, scellée pour un tour de l’horloge publique drand, n’existe pour personne avant ce jour-là.

  1. Conventions
  2. Le code et la clé
  3. La capsule message
  4. La capsule média
  5. Les fichiers
  6. L’empreinte
  7. Le temps
  8. La date verrouillée
  9. Le profil IA
  10. Ce qu’un lecteur doit faire
  11. Les capsules de contrôle
  12. Le lecteur indépendant
  13. Les versions futures
  14. La licence

1. Conventions

2. Le code et la clé

Deux modes

Mode c : la clé est tirée d’un code que l’auteur transmet à part. Mode l : une clé aléatoire de 256 bits voyage avec la capsule, dans le lien ou le fichier ; qui a l’un a le contenu, une fois la date passée.

Normalisation du code

  1. Forme de normalisation Unicode NFC.
  2. Espaces retirées au début et à la fin.
  3. Toute suite d’espaces remplacée par une seule espace.
  4. Minuscules.

« Le Tambour  bleu » et « le tambour bleu » donnent donc la même clé. Les espaces sont celles de JavaScript : espace, tabulation, retour à la ligne, espaces insécables et fines, U+FEFF.

Dérivation

clé = PBKDF2-HMAC-SHA-256(code normalisé en UTF-8, sel de 16 octets, 600 000 itérations, 32 octets)

Le code proposé

Six mots distincts tirés au hasard dans une liste de 2 048, séparés par une espace : environ 66 bits. Un code choisi par l’auteur est refusé s’il paraît trop facile à deviner ; c’est une règle du site, pas du format. Un code envoyé en trois morceaux se recompose en les remettant dans l’ordre : séparés par une espace pour un code de mots, collés pour un code choisi.

3. La capsule message

Le message tient tout entier dans le lien, après le signe #, que les navigateurs n’envoient jamais au serveur :

https://oveliya.com/capsule/c/2020-01-01#c=4.c.k4v0fsw0.1.UG91ciB0ZXMgMTggYW5z.60.by6utxHzr5vAyLQYDNa6Bw.hTaI_aymwicp2-yn.c_BsWUuz7vwwWLjo8loDnd…

Le chemin /c/AAAA-MM-JJ ne porte que la date, pour l’aperçu du lien ; un lecteur l’ignore. Le jeton, après #c=, est une suite de champs séparés par des points :

ChampContenu
version4, 5 ou 6 (voir plus bas)
modec (code) ou l (clé dans le jeton)
ouverturedate d’ouverture, en base 36
compression1 : clair compressé en deflate brut (RFC 1951) ; 0 : non compressé
étiquettetexte visible choisi par l’auteur, en base64url, 60 caractères au plus, souvent vide
fuseaudécalage UTC de l’auteur à la date d’ouverture, en minutes (60 pour Paris en hiver), pour l’affichage
durée ou finversions 5 et 6 seulement, en base 36 : durée de lecture après la première ouverture (v5), ou date de fermeture (v6)
sel ou clémode c : sel de 16 octets ; mode l : clé AES de 32 octets ; en base64url
nonce12 octets, en base64url
chiffréAES-256-GCM du clair, en base64url

Donnée associée : les champs qui précèdent le sel ou la clé, joints par des points, en ASCII. Changer la date, l’étiquette ou le fuseau fait donc échouer le déchiffrement.

Clair : le JSON {"t":texte,"p":pour,"d":de}, compressé si le champ compression vaut 1. Les prénoms n’apparaissent qu’à l’ouverture.

Versions historiques 1, 2 et 3

Mêmes champs, à une différence près : à la place de l’étiquette et du fuseau, les prénoms « pour » et « de » voyagent en clair, en base64url, et le clair contient au moins t. Les liens envoyés avant septembre 2026 sont de ce type ; un lecteur doit toujours les ouvrir. Correspondance : 1 et 4 sans fermeture, 2 et 5 avec une durée de lecture, 3 et 6 avec une date de fermeture.

4. La capsule média

Photos, vidéos, sons et documents sont trop lourds pour un lien. Ils forment un flux chiffré par blocs, précédé d’un en-tête JSON lisible.

L’en-tête

CléContenu
ftoujours "oveliya-capsule-media"
v3 ; 4 avec une date verrouillée (section 8) ; 2 pour la version historique, avec pour et de au lieu de et
etétiquette visible, 60 caractères au plus
tzfuseau de l’auteur, en minutes (facultatif)
odate d’ouverture
mc ou l
cstaille d’un bloc de clair : 1 048 576 octets
nnombre de blocs : le plus grand de 1 et de ⌈taille ÷ cs⌉
tailletaille totale du clair, en octets
nppréfixe de nonce, 7 octets
it, selmode c : 600 000, et sel de 16 octets
kiv, kwmode c, et les deux modes en version 4 : nonce de 12 octets, et clé de contenu chiffrée (48 octets)
kmode l : clé de contenu, 32 octets ; en version 4, la moitié « lien » de la clé qui la chiffre (section 8)
tour, temps, secoursversion 4 seulement : tour drand, part du temps et part de la clé d’auteur (section 8)
vie, finfacultatifs, jamais en version 4 : durée de lecture après la première ouverture, ou date de fermeture
creedate de création, informative

La partie authentifiée

Un sous-ensemble de l’en-tête, sérialisé exactement ainsi, dans cet ordre ; tz, vie et fin n’y figurent que s’ils sont présents, et, en version 4, tour, temps et secours suivent sel :

{"f":"oveliya-capsule-media","v":3,"et":"Nos photos","tz":60,"o":1577865600000,"m":"c","cs":1048576,"n":1,"taille":544,"np":"fK4TDJmTSw","it":600000,"sel":"7hx0UjNT9WLCup7VOVD8Kg"}

Sa somme SHA-256, de 32 octets, sert de donnée associée à chaque chiffrement de la capsule. En mode l, it vaut 0 et sel est une chaîne vide. En version 2, et et tz sont remplacés par pour et de.

Les clés

Une clé de contenu aléatoire de 256 bits chiffre les blocs. En mode c, elle est elle-même chiffrée en AES-256-GCM avec la clé tirée du code (sel sel, nonce kiv, même donnée associée) : c’est kw. En mode l, elle figure en clair dans k. En version 4, elle est toujours chiffrée, par une clé qui attend aussi le jour dit (section 8).

Le flux

Le clair se compose de la longueur du manifeste (4 octets), du manifeste JSON {"t":texte,"p":pour,"d":de,"fichiers":[{"nom","type","taille"},…]}, puis des fichiers bout à bout, dans l’ordre du manifeste. Il est découpé en blocs de 1 048 576 octets, le dernier plus court. Le bloc i, compté à partir de 0, est chiffré en AES-256-GCM avec :

nonce = np (7 octets) ‖ i (4 octets, gros-boutiste) ‖ 01 pour le dernier bloc, 00 sinon

C’est la construction STREAM de Hoang, Reyhanitabar, Rogaway et Vizár : retirer, déplacer ou tronquer un bloc fait échouer le déchiffrement.

5. Les fichiers

Le fichier .oveliya

PartieTaille
OVELIYA-CAPSULE puis l’octet 0216 octets
longueur de l’en-tête4 octets
en-tête JSON completcette longueur
blocs chiffrés1 048 592 octets chacun, le dernier plus court

Taille totale : 20 + longueur de l’en-tête + taille + 16 × n.

Le fichier .html

Une page complète, qui s’ouvre dans un navigateur et porte son propre lecteur. La capsule y figure dans deux sortes de balises :

<script type="application/json" id="capsule-embarquee">{"type":"message","jeton":"4.c.…","origine":"https://oveliya.com/capsule"}</script>
<script type="application/octet-stream" class="bloc-capsule">…un bloc chiffré, en base64url…</script>

Pour une capsule média, "type":"media" et "entete" remplacent le jeton, et chaque bloc chiffré suit dans sa propre balise, dans l’ordre. Dans ce JSON, le caractère < s’écrit \u003c.

6. L’empreinte

Seize caractères qui désignent une capsule sans rien en révéler : la somme SHA-256 du jeton (message) ou de la partie authentifiée (média), dont on garde les 8 premiers octets, en hexadécimal majuscule, par groupes de quatre : BC65 38B2 3790 927D. Une copie .html et une copie .oveliya de la même capsule ont la même empreinte. Un lecteur l’affiche avant d’ouvrir, pour que le destinataire la compare à celle que l’auteur lui a donnée.

7. Le temps

Sans verrou, ces règles sont tenues par le lecteur, pas par la cryptographie. Qui détient déjà le code, ou le lien d’une capsule sans code, et écrit son propre programme peut lire avant la date. Avec la date verrouillée (section 8), l’ouverture est tenue aussi par la cryptographie : avant le jour dit, la clé n’existe pas. Ce que Capsule garantit, et ce qu’elle ne garantit pas.

8. La date verrouillée

Une option, proposée à la création d’un message, d’une capsule à fichiers ou d’une capsule IA, et désactivée par défaut. La clé de la capsule combine alors deux secrets : celui du code (ou du lien) et une clé du temps, scellée pour un tour de l’horloge publique drand. Avant la publication de ce tour, personne ne peut calculer la clé du temps : ni le destinataire, ni OVELIYA, ni l’auteur, sauf avec sa clé d’auteur.

L’horloge publique

drand publie à intervalles fixes une balise numérotée : une signature BLS à seuil, qui n’existe que lorsqu’un nombre suffisant de nœuds, tenus par les organisations indépendantes de la League of Entropy, l’ont signée ensemble. Une balise est publique et définitive : une fois publiée, chacun peut la garder, et elle reste valable pour toujours. Le format utilise le réseau quicknet, une balise toutes les trois secondes :

ParamètreValeur
chaîne52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971
genèse1692803367 (23 août 2023, 15:09:27 UTC)
période3 secondes
schémabls-unchained-g1-rfc9380 : signatures sur G1, clé publique sur G2, courbe BLS12-381

Clé publique du réseau :

83cf0f2896adee7eb8b5f01fcad3912212c437e0073e911fb90022d3e760183c8c4b450b6a0a6c3ac6a5776a2d1064510d1fec758c921cc22b0e17e63aaf4bcb5ed66304de9cf809bd274ca73bab4af5a6e9c76a4bc09e76eae8991ef5ece45a

Le tour

Le premier tour publié à la date d’ouverture ou juste après, au plus trois secondes plus tard :

tour  = max(1, ⌈(ouverture ÷ 1000 − genèse) ÷ 3⌉ + 1)
heure = (genèse + (tour − 1) × 3) × 1000

Le jeton 7

Douze champs séparés par des points :

ChampContenu
version7
modec ou l, comme en section 2
ouverturedate d’ouverture, en base 36
compressioncomme en section 3
étiquettecomme en section 3
fuseaucomme en section 3
tourtour drand visé, en base 36
tempsla part du temps : un fichier age, en base64url
secoursla part de la clé d’auteur : 76 octets en base64url, sel (16) ‖ nonce (12) ‖ chiffré (48)
sel ou clémode c : sel de 16 octets ; mode l : clé de 32 octets
nonce12 octets, en base64url
chiffréAES-256-GCM du clair, en base64url

Une capsule verrouillée n’a pas de fermeture programmée. Son clair, sa compression et son empreinte suivent les sections 3 et 6.

La part du temps

La clé du temps est faite de 32 octets aléatoires. Elle est chiffrée pour le tour avec tlock (Gailly, Melissaris et Romailler, 2023) : un chiffrement fondé sur l’identité de Boneh et Franklin, dont l’identité est la somme SHA-256 du numéro de tour sur 8 octets gros-boutistes, le message même que drand signera. La balise de ce tour est la clé qui déchiffre. Le résultat est un fichier age binaire, non armuré, dont l’en-tête porte la ligne :

-> tlock <tour> 52db9ba70e0cc0f6eaf7803dd07447a1f5477735fd3f661792ba94600c84e971

C’est exactement le format de l’outil officiel tle (github.com/drand/tlock). Nous l’avons vérifié dans les deux sens : une part du temps scellée par le module du site s’ouvre avec l’implémentation Go de drand, et un chiffré produit par cette implémentation s’ouvre avec le module du site.

La clé d’auteur

Six mots, tirés comme le code proposé, remis à l’auteur seul (champ secours du jeton ; on l’appelait d’abord « clé de secours »). Elle chiffre la clé du temps en AES-256-GCM, avec la clé tirée d’elle comme en section 2 (son propre sel de 16 octets), et pour donnée associée les huit premiers champs du jeton, de version à temps, joints par des points. Elle remplace la balise : qui la détient ouvre sans drand, y compris avant la date. Elle reste donc chez l’auteur et ne se transmet jamais avec le code.

La clé de la capsule

kCode  = PBKDF2(code normalisé, sel)    mode c (section 2)
       = clé du jeton                   mode l
kTemps = part du temps, ouverte par la balise du tour
       ou par la clé d’auteur
clé    = HKDF-SHA-256(kCode ‖ kTemps, sel = 32 octets nuls,
                      info = "OVELIYA Capsule v2", 32 octets)

Donnée associée du chiffré : les neuf premiers champs, de version à secours, joints par des points.

Ouvrir

  1. Attendre la date d’ouverture, comme pour toute capsule.
  2. Lire dans l’en-tête age le tour et la chaîne : ils doivent être ceux du champ tour et du réseau quicknet.
  3. Obtenir la balise du tour : https://api.drand.sh/<chaîne>/public/<tour>, ou tout autre relais de drand. Le site passe par ses relais, /capsule/drand/ puis /capsule/drand-cf/, et, s’ils ne répondent pas, interroge drand directement ; un fichier .html ouvert hors du site, comme l’agent Capsule, interroge api.drand.sh, puis drand.cloudflare.com. Aucune confiance n’est due au relais : une fausse balise ne déchiffre rien.
  4. Ouvrir la part du temps avec la balise, ou avec la clé d’auteur : on obtient kTemps.
  5. Tirer la clé de la capsule et déchiffrer.

Sans le site, avec le lecteur indépendant et l’outil de drand :

python3 lire_capsule.py "<lien>" --exporter-temps part.age
tle -d -o cle.bin part.age
python3 lire_capsule.py "<lien>" --code "…" --cle-temps cle.bin

L’en-tête média 4

Une capsule à fichiers verrouillée porte les mêmes pièces dans son en-tête (section 4), qui passe en version 4 : tour, un entier ; temps, la part du temps en base64url ; secours, la part de la clé d’auteur, 76 octets en base64url. Ni vie ni fin. Partie authentifiée de la capsule de contrôle ia-verrou :

{"f":"oveliya-capsule-media","v":4,"et":"Offres — clôture du 14 octobre","tz":120,"o":1728925200000,"m":"c","cs":1048576,"n":1,"taille":1526,"np":"nAYUFtG2KA","it":600000,"sel":"tHgxHVSNaCUg3gCw5nrhHA","tour":12040612,"temps":"YWdlLWVuY3J5cHRpb24…","secours":"JFVSNC2BGPJ6LBZ9…"}

Ce que le verrou demande. Une connexion le jour de l’ouverture, et une balise : celle de drand, d’un de ses relais, ou de quiconque l’aura gardée. Si l’horloge publique venait à disparaître, la clé d’auteur ouvrirait encore la capsule. Sur le site, le verrou s’applique aux messages et aux capsules IA ; les photos et les vidéos suivront, avec le même en-tête. Les capsules envoyées avant cette version n’en ont pas.

9. Le profil IA

Une capsule IA est une capsule média ordinaire (section 4) dont le manifeste porte un contrat : une tâche, un contexte, des consignes, des autorisations et la sortie attendue. Rien de nouveau n’est visible de l’extérieur : l’en-tête, l’empreinte et le chiffrement sont ceux de la section 4, ou de la section 8 si sa date est verrouillée. Un agent l’ouvre avec le code, ne remet rien à un modèle sans l’accord du propriétaire, et scelle la réponse avec le même code. La présentation complète, principes et limites compris : Remettre à une IA.

Le contrat

Dans le manifeste chiffré, sous la clé ia :

{"t":"Capsule IA · profil ia/1\n\nTâche :\n…","p":"","d":"","fichiers":[…],
 "ia":{"profil":"ia/1",
       "tache":"Analyse ce contrat et relève les obligations, les échéances et les pénalités.",
       "contexte":"Contrat de prestation pour 2026. Je suis le prestataire.",
       "consignes":["Ne pas inventer les données manquantes : les signaler."],
       "autorise":["lire","analyser","repondre"],
       "sortie":{"forme":"tableau","format":"csv","precision":"Une ligne par obligation."},
       "reponse":{"sceau":"code"},
       "demandes":[]}}
CléContenu
profil"ia/1" ; un agent refuse un profil qu’il ne connaît pas
tachece qui est demandé, écrit par le propriétaire ; jamais vide
contexte, consignesfacultatifs : un texte, une liste de textes
autoriseune liste fermée : lire, analyser, resumer, transformer, produire, repondre
sortiefacultative : forme (texte, tableau, document, fichier), format, precision
reponse{"sceau":"code"} : la réponse se scelle avec le code de la capsule
demandesréservée aux actions sur le monde ; toujours vide en ia/1

Un agent refuse une clé absente de ce tableau : une clé nouvelle passera par un profil nouveau. t reprend le contrat en clair, pour qu’un lecteur qui ignore le profil l’affiche quand même.

L’enveloppe

Une capsule IA a toujours un code (m vaut "c"). Par défaut, elle est immédiate : sa date d’ouverture o est l’instant du scellement. Son auteur peut aussi verrouiller une date d’ouverture : l’en-tête passe en version 4 (section 8), et le contrat ne change pas. La condition d’ouverture vit dans l’en-tête visible, jamais dans le contrat chiffré. Une capsule IA ne se referme pas.

Les autorisations

lire : les fichiers sont remis au modèle. produire : la réponse peut porter des fichiers. repondre : la réponse est scellée. Ces trois-là, l’agent les fait respecter. analyser, resumer et transformer sont remises au modèle comme des limites : il les respecte en règle générale, sans garantie. Ce qu’un agent fait réellement est l’intersection de ce que le propriétaire autorise, de ce que l’agent sait faire et de ce que son environnement permet.

Ce que fait un agent conforme

  1. Il ouvre la capsule avec le code, vérifie son intégrité et son enveloppe (date, fermeture) ; sinon, il ne montre rien. Date verrouillée : avant l’heure, il refuse ; le jour venu, il obtient lui-même la balise du tour (section 8).
  2. Il refuse un profil inconnu, une clé inconnue, une autorisation hors de la liste, une capsule sans code, et toute capsule dont demandes n’est pas vide.
  3. Il obtient l’accord du propriétaire en lui montrant la tâche, les autorisations, les fichiers et l’application qui va les recevoir. Quand l’application le permet (élicitation MCP), il le demande lui-même, sans passer par le modèle.
  4. Il remet deux blocs séparés : les instructions du propriétaire, puis les données, marquées non fiables et encadrées de repères imprévisibles.
  5. Il n’exécute aucun fichier, reconnaît le type réel de chacun à sa signature, et dit ce qu’il n’a pas remis, et pourquoi.
  6. Il scelle la réponse à côté de la capsule d’origine, sans jamais écraser un fichier.

La réponse

Une capsule média, scellée avec le même code, dont le manifeste porte ia_reponse : profil ("ia-reponse/1"), origine (l’empreinte de la capsule d’entrée), tache, statut (reussi, partiel, echec, refuse), agent, hote et modele (déclarés), non_lus et ecarts (écrits par l’agent), remarques. Le texte de la réponse est dans t, les fichiers produits dans fichiers. Une réponse n’a pas de contrat : un agent refuse de la traiter comme une tâche.

10. Ce qu’un lecteur doit faire

11. Les capsules de contrôle

Vingt capsules, avec leur code et ce qu’on doit y trouver. Quinze ont été créées par le site lui-même, et une réponse par l’agent Capsule ; la capsule de version 1, deux capsules verrouillées et une capsule IA non conforme ont été construites d’après cette page. Pour les capsules verrouillées, le fichier donne aussi la clé d’auteur, et, pour les tours 12040883 et 12040612, la balise publique et la clé du temps attendue : le chemin drand se vérifie sans réseau. Un lecteur est conforme s’il obtient exactement ces résultats, empreintes comprises : vecteurs.json.

CapsuleCe qu’elle vérifie, et le résultat attendu
message-codeCode proposé, prénoms chiffrés, étiquette, emoji. S’ouvre.
message-sans-codeClé dans le jeton. S’ouvre.
message-code-choisiNormalisation du code : majuscules et espaces en trop. S’ouvre.
message-v1-historiqueAncien jeton, prénoms en clair, sans compression. S’ouvre.
message-refermeeDate de fermeture passée. Refus.
message-pas-encoreOuverture le 31 décembre 2099. Refus.
media-codeDeux fichiers et un texte, mode code, en .html et en .oveliya. Fichiers identiques.
media-deux-blocs1,15 Mo en deux blocs, en .html et en .oveliya. Fichier identique.
message-temps-codeDate verrouillée (tour 8140612) et code. S’ouvre avec la balise du tour ou la clé d’auteur.
message-temps-sans-codeDate verrouillée, sans code : le lien seul ne suffit pas. S’ouvre avec la balise ou la clé d’auteur.
message-temps-balise-reelleTour 12040883, balise publique jointe. S’ouvre sans réseau.
message-temps-pas-encoreVerrouillée jusqu’au 31 décembre 2099. Refus, même avec la clé d’auteur.
ia-analyseProfil IA : tâche, contexte, consignes, deux fichiers ; lire, analyser, répondre. S’ouvre ; un agent l’accepte.
ia-produireProfil IA en .html : résumer et produire autorisés. S’ouvre ; un agent l’accepte.
ia-produire-reponseLa réponse scellée par l’agent, au bout d’un échange MCP : un texte et un fichier. S’ouvre avec le même code ; un agent la refuse comme tâche.
ia-demandesProfil IA dont la clé demandes n’est pas vide. S’ouvre ; tout agent ia/1 la refuse.
ia-verrouProfil IA à date verrouillée, en-tête 4, tour 12040612, balise publique jointe. S’ouvre avec la balise ou la clé d’auteur ; un agent l’ouvre seul, par drand.
ia-verrou-2099Profil IA verrouillé jusqu’au 1er janvier 2100, en .html. Refus ; un agent la refuse, même avec le code.

12. Le lecteur indépendant

Écrit en Python, sans rien reprendre du code du site, avec une seule dépendance : le module cryptography. Il lit les liens, les jetons, les fichiers .html et .oveliya, affiche l’empreinte, respecte la date et la fermeture, et enregistre les fichiers d’une capsule média sans les ouvrir.

pip install cryptography
python3 lire_capsule.py "https://oveliya.com/capsule/c/…#c=…"
python3 lire_capsule.py capsule.oveliya --code "six mots du code" --sortie contenu
python3 lire_capsule.py capsule.html --empreinte
python3 lire_capsule.py "<lien verrouillé>" --code "…" --cle-auteur "clé d’auteur"
python3 tester_lecteur.py

Pour une capsule verrouillée, il écrit la part du temps pour tle et reprend la clé qu’il en obtient (section 8) ; il n’a pas besoin de réseau lui-même. Il ne connaît aucun moyen d’ouvrir une capsule avant son jour.

À côté de lui, l’agent Capsule (agent_capsule.py) est l’agent de référence du profil IA : en ligne de commande pour n’importe quelle IA, et en serveur MCP pour les applications d’IA. Il s’appuie sur ce lecteur pour ouvrir, et sur rien d’autre que cryptography ; pypdf, facultatif, lui permet de lire les PDF, et py_ecc d’ouvrir lui-même, le jour venu, une capsule IA à date verrouillée : il demande alors la balise du tour à drand, seule requête qu’il fasse sur le réseau. tester_lecteur.py vérifie aussi son verdict sur les capsules IA. Mode d’emploi : Remettre à une IA.

python3 agent_capsule.py resume capsule.oveliya --code "…"
python3 agent_capsule.py mcp --dossier ~/Capsules

13. Les versions futures

Les numéros de jeton 8 et suivants, et les valeurs de v 5 et suivantes pour l’en-tête média, sont réservés. L’en-tête 4 sert aux capsules à fichiers à date verrouillée : capsules IA et, depuis le 10 octobre 2026, photos, vidéos et documents. Pour le profil IA viendront ia/2, une réponse scellée pour la clé publique du propriétaire, puis des profils d’action, qui exigeront une signature de l’auteur : d’ici là, demandes reste vide. Tout nouvel usage sera décrit ici avant d’exister dans l’application.

14. La licence

Implémenter le format est libre et gratuit : le lire, l’écrire, le convertir, dans n’importe quel logiciel, payant ou non, sans demander l’accord de personne. Ce qui est publié ici l’est sous trois licences libres, une par nature de fichier.

Ce qui est publiéSa licence
Cette page : la description du formatCC BY 4.0. La copier, la traduire, l’adapter, y compris pour un usage commercial, en créditant OVELIYA avec un lien vers la licence.
Le code : lire_capsule.py, tester_lecteur.py, agent_capsule.py, et leurs modes d’emploiApache 2.0. L’utiliser, le modifier, le redistribuer, y compris dans un logiciel fermé. Elle comprend une licence sur les brevets.
Les capsules de contrôle : vecteurs.json et le dossier capsulesCC0 1.0, domaine public. Les reprendre dans n’importe quelle suite de tests, sans mention.

Mention suggérée pour cette page : « Format des capsules OVELIYA, par OVELIYA, CC BY 4.0, oveliya.com/capsule/format.html ». Chaque fichier de code porte sa licence en tête, et les deux archives en contiennent le texte, dans le dossier LICENSES.

L’engagement d’OVELIYA

Pour tout ce qu’exige l’implémentation du format, OVELIYA ne fera valoir aucun droit, d’auteur ou de brevet, contre personne, sauf pour se défendre contre qui attaquerait lui-même une implémentation. Cet engagement est irrévocable ; il vaut pour toutes les versions décrites sur cette page, et suit ces droits s’ils changent de mains.

Ce que ces licences ne couvrent pas

La réserve de fouille de textes et de données qui vaut pour le reste d’oveliya.com ne s’applique ni à cette page ni aux fichiers du format : les licences le permettent, y compris pour entraîner des modèles d’IA.

Une remarque, une erreur, un lecteur écrit dans un autre langage ?
contact@oveliya.com, objet « Format ». Pour une faille : signaler une faille.

Créer une capsule Ce que Capsule garantit