Machine Page Format (MPF)
Eén pagina voor mensen. Eén voor machines. Beide gedeclareerd.
Machine Page Format (MPF) is een open formaat om naast een HTML-pagina een machineleesbare companion te publiceren. De companion bevat YAML-frontmatter met declaraties van de uitgever over de resource, gevolgd door een schone Markdown-body. Hij wordt tijdens de build gegenereerd uit dezelfde HTML die mensen lezen.
MPF beantwoordt een smalle vraag: wat moet een uitgever blootleggen zodat een machine een publieke pagina kan identificeren, ontdekken en interpreteren zonder feiten te hoeven raden die de uitgever rechtstreeks had kunnen declareren?
- Scope: een machine publishing contract — identiteit, representatie, declaraties van de uitgever en discovery, met processing scope als één onderdeel.
- Bijdrage: de gedeclareerde relatie tussen een menselijke pagina en haar machinerepresentatie.
De menselijke pagina blijft het canonieke adres. Het MPF-bestand is haar gedeclareerde parallel.
Status
| Huidige versie | 0.7 — Specificatie 0.7 |
| Vorige versie | 0.6 — Specificatie 0.6 |
| Referentie-implementatie | mpf-build — git.esfi.eu/esfi/mpf |
| Geverifieerde emitters | Implementatieregister |
| Versiebeleid | Versiebeheer |
De specificatie beschrijft wat de referentie-implementatie werkelijk produceert. Een veldnaam geeft MPF geen capaciteit die de implementatie niet heeft.
Hoe u deze sectie leest
Pagina’s in deze sectie markeren elke regel met zijn status:
| Marker | Betekenis |
|---|---|
| Specificatie 0.7 | Gedefinieerd in de gepubliceerde specificatie. Conforme producenten en afnemers kunnen erop vertrouwen. |
| Referentie-implementatie | Gedrag van mpf-build dat de specificatietekst nog niet beschrijft. Stabiel in de praktijk, nog niet normatief. |
| ESFI-praktijk | Een deploymentconventie die op ESFI-sites wordt gebruikt, buiten de builder en buiten de specificatie. Gedocumenteerd zodat anderen haar kunnen reproduceren, niet vereist voor conformiteit. |
Een mechanisme verhuist alleen via een nieuwe specificatieversie van praktijk naar de specificatie.
Anatomie van een MPF-bestand
index.html → index.mpf
about/index.html → about/index.mpf
---
mpf: '0.7'
title: Example page
url: https://example.org/about/
mpf-url: https://example.org/about/index.mpf
organization: Example Publisher
domain: example.org
lang: en
updated: 2026-09-21
author: Example Publisher
provenance: human
source-hash: 3f1c…
toc:
- level: 1
text: About
id: about
spec-origin: example.org
content-origin: example.org
content-id: example:page:about
content-parity:
html: true
human-visible-source: true
hidden-sections: false
index: true
companion-scope:
cite: true
summarize: true
train: false
index: true
relay: false
mpf-id: 9a0b…
---
# About {#about}
Clean Markdown body of the page…
Example Publisher — https://example.org
De frontmatter wordt in stabiele volgorde geserialiseerd. mpf-id is een SHA-256-hash van het volledige document voordat mpf-id zelf wordt ingevoegd; source-hash is een SHA-256-hash van de ruwe bron-HTML. Details: Specificatie 0.7.
Wat de declaraties omvatten
| Groep | Velden | Wat een lezer leert |
|---|---|---|
| Identiteit | url, mpf-url, content-id, lang, language-variants |
Welke logische resource dit is, waar beide representaties zich bevinden en welke bestanden equivalente taalversies zijn |
| Uitgever | organization, domain, author, spec-origin, content-origin |
Wie achter de declaraties staat |
| Provenance | provenance, confidence, c2pa-manifest |
Hoe de uitgever de oorsprong en status van de content beschrijft |
| Integriteit | source-hash, mpf-id, signature |
Of het paar is afgedreven, of dit bestand is veranderd en of de gedeclareerde uitgever het heeft ondertekend |
| Pariteit | content-parity |
Hoe de machinebody zich verhoudt tot wat een persoon ziet |
| Processing scope | companion-scope |
Wat de uitgever wil dat een machine met de content doet |
| Levenscyclus | updated, valid-until, review-after, supersedes, superseded-by |
Of de resource actueel is en wat zij vervangt |
| Structuur | toc, section, parent, related, summary, content-type |
Hoe de pagina is georganiseerd en zich tot andere pagina’s verhoudt |
| Uitgever naar lezer | companion-instruction, companion-footer, companion-contact, preferred-representation |
Het bericht van de uitgever aan de machinelezer, de signatuurregel en het contact |
| Indexering | index |
Of de pagina in de machine-indexen van de site verschijnt |
Verplichte velden, optionele velden en generatieregels: Specificatie 0.7. Configuratie en overrides per pagina: Implementatie.
Discovery in één alinea
Een machine moet de MPF-representatie vinden voordat ze HTML begint te interpreteren. De builder schrijft llms.txt met een MPF-sectie (versie, specificatieverwijzing, indexpad) en llms.mpf, een MPF-index van alle geïndexeerde pagina’s; elke pagina heeft haar companion op hetzelfde pad met .mpf in plaats van .html (Specificatie 0.7). ESFI-sites publiceren daarnaast een DNS TXT-record en een /.well-known/mpf-declaratie (ESFI-praktijk). Volledige referentie: Publicatie en discovery.
Declaraties, geen oordelen
Elk MPF-veld wordt ofwel uit de bron gegenereerd of door de uitgever gedeclareerd. Geen ervan is onafhankelijke verificatie.
provenance: humanvermeldt hoe de uitgever de oorsprong beschrijft. Het bewijst die niet.confidencevermeldt de beoordeling van de uitgever. Het is geen validatie.companion-scopevermeldt de bedoelde verwerking. Het is geen technisch slot en vervangt het toepasselijke recht niet.source-hashlaat zien of het paar is afgedreven. Het stelt niet vast dat de content waar is.- Een handtekening laat zien dat een bepaalde sleutel een bepaald bestand heeft ondertekend. Ze laat niet zien dat de claims erin correct zijn.
Een consumerend systeem moet deze onderscheidingen in zijn eigen datamodel behouden en elk signaal beoordelen op wat het werkelijk vaststelt.
Relatie tot andere standaarden
MPF werkt naast andere initiatieven in dezelfde ruimte. Het vervangt ze niet.
| Standaard | Wat die behandelt |
|---|---|
| robots.txt | Voorkeuren voor crawlertoegang |
| llms.txt | Een lichtgewicht entry point voor taalmodellen; MPF breidt llms.txt van de site uit met een MPF-sectie |
| TDMRep | Een W3C Community Group-protocol voor het uitdrukken van het EU-voorbehoud voor text- en datamining |
| RSL | Licentievoorwaarden van uitgevers voor AI-gebruik |
| AIPREF (IETF) | Een woordenschat voor voorkeuren voor AI-gebruik; werk in uitvoering bij de IETF |
| C2PA | Cryptografische contentprovenance en credentials; een MPF-bestand kan met c2pa-manifest naar een C2PA-manifest wijzen |
Wat MPF niet claimt
- Geen waarheidssysteem. Declaraties zijn declaraties; verificatie vereist onafhankelijk bewijs.
- Geen juridisch instrument.
train: falselegt een verklaarde positie vast, geen contract en geen slot. Het juridische effect hangt af van toepasselijk recht. - Geen handhavingsmechanisme. Geen enkel veld wordt door het formaat afgedwongen.
- Geen vervanging voor HTML. De menselijke pagina blijft canoniek.
- Geen gatekeeper. MPF publiceren en lezen vereist geen ESFI-service, registratie of toestemming.
Verder
- Waarom MPF bestaat, en de brief waarmee het werk begon: companion.esfi.eu
- ESFI’s positie over het onderliggende probleem: AI-readiness
- Wat Companion op ESFI-sites betekent: Glossarium