Positioning

Related standards, and when to use them instead

Based on KNOBE Protocol v1.0 2026-07-01 For standards-literate readers

KNOBE occupies a deliberately small corner: a single plain-text file that carries its own context and integrity seal, requires no infrastructure or identity system to read or verify, and degrades gracefully to ordinary markdown when no tooling is present. Most neighboring standards are better than KNOBE at something specific. The comparisons below say what, and when to use them instead.

Git

Git is version control inside a repository: it answers "what changed here, when, by whom" with great precision, as long as the file stays home. The moment a file is emailed, uploaded to an LMS, pasted into a chat, or ingested by a RAG pipeline, its Git history stays behind. KNOBE is built for that exit moment: the context rides inside the file itself. Git answers "what changed here"; KNOBE answers "what is this, where did it come from, what may you do with it" wherever the file lands.

They composeSeal a KNOBE, commit it. Use Git for development history; use KNOBE for what the object must carry when it leaves.

C2PA (Content Credentials)

C2PA is the closest neighbor and, for media, the more mature one. It binds provenance manifests to a range of asset formats, from images, video, and audio to PDF documents, fonts, and packaged formats such as EPUB and Office files, with real cryptographic signing backed by a certificate infrastructure. Where it differs: C2PA manifests are embedded provenance structures that assume signing infrastructure, strongest and most mature in media and document authenticity workflows; KNOBE targets plain-text knowledge work, stays human-readable with no tooling at all, and requires no identity system. In v1, attribution is declared, not signed, by design.

If you need signed identity today, C2PA (for media and documents) or Verifiable Credentials (for claims) offer what KNOBE v1 deliberately does not. KNOBE serves the no-PKI, plain-text, degradation-tolerant corner C2PA does not; a future signed KNOBE profile is designed to compose with certificate- or credential-based identity rather than reinvent it.

Defer to C2PAFor signed provenance of media and supported document formats, especially where identity-backed content credentials are required.

W3C Verifiable Credentials

VCs prove claims made by identified issuers (for example, "University X states that person Y completed Z"), and presume issuer infrastructure: DIDs, key management, revocation. KNOBE carries context without requiring identity: its floor is intentionally lower, so a student, archivist, or script can produce a valid object with nothing but a text editor and a hash. Where identity-backed claims matter, a VC can travel inside or alongside a KNOBE. They are complementary layers, not rivals.

Defer to VCsWhen the question is "who asserts this, and can they prove it?" Use KNOBE when the question is "what is this object, and what must travel with it?"

W3C PROV

PROV is the standards-grade vocabulary for provenance (entities, activities, agents), designed for provenance databases and queryable graphs. It defines how to describe lineage richly; it does not define a self-contained, sealed, human-readable file that survives being emailed. KNOBE's parents and transformation_history fields are a deliberately small subset of what PROV can express. A KNOBE profile mapping its fields onto PROV terms is a natural future bridge.

Defer to PROVWhen you need deep, queryable provenance graphs across many systems.

RO-Crate

RO-Crate packages research data (datasets, code, and their metadata) as a directory with a JSON-LD manifest, aimed at repositories and machine actionability. It is the right answer for datasets. KNOBE is one file, human-first, aimed at documents and knowledge artifacts rather than data packages, and it defines sealing and verification semantics RO-Crate does not.

Defer to RO-CrateFor research-data packaging and repository deposit. If your object is a dataset, use RO-Crate; if it is a memo, transcript, adaptation, summary, or piece of student work, KNOBE fits.

BagIt

BagIt is a preservation and transfer format from the Library of Congress and the California Digital Library, standardized as IETF RFC 8493. A bag is a directory: a data/ payload beside plain-text manifests (manifest-sha256.txt and kin) that checksum every file, so a repository can confirm nothing was lost or altered in storage or transit. It is the right answer for moving collections of files with fixity, and of the neighbors here its plain-text, checksum-based, no-server design sits closest to KNOBE's. Two differences mark the corner KNOBE keeps: a bag is a multi-file directory, where a KNOBE is one self-contained file that still reads as ordinary markdown with no tooling; and BagIt secures fixity plus conventional descriptive metadata (the free-form key-value pairs of bag-info.txt), where KNOBE seals a structured context record with defined semantics, attribution, transformation history, fidelity limits, and use conditions, under a canonical hash. BagIt asks "are these the same bytes I packaged?"; KNOBE asks "what is this, and what may travel with it?" The two compose: seal knowledge objects as KNOBEs, then bag the collection for archival transfer.

Defer to BagItFor fixity-checked storage and transfer of file collections in a repository or archive.

Dublin Core (and metadata standards generally)

Dublin Core gives shared names for descriptive fields: creator, date, rights. KNOBE's problem is not naming but survival and accountability: ordinary metadata is exactly what pipelines strip, and nothing in Dublin Core detects that the description was altered or separated from its object. KNOBE adds the envelope: sealed payload, integrity hash, verification states, transformation history, fidelity limits, use conditions. Where sensible, KNOBE vocabulary stays mappable to Dublin Core terms rather than competing with them.

Knowledge graphs

A knowledge graph is a representation queried in place, powerful for linking and inference inside the boundary you control, whether the store is centralized or federated. KNOBE is what a node carries when it leaves the graph. The two are complementary by construction: a graph can ingest KNOBEs (their payloads are structured JSON) and can emit KNOBEs when knowledge exits its boundary. If your knowledge never leaves your platform, you may not need KNOBE. Much of it does.

JSON-LD and the semantic web

The semantic web, in Tim Berners-Lee's original "Web 3.0" sense, is a vision of machine-readable meaning: RDF triples, shared ontologies, data that link across systems without a central index. JSON-LD is its practical serialization, plain JSON with an added @context that maps keys to shared vocabulary terms so a graph database or reasoner can treat the file as linked data rather than opaque JSON. RO-Crate, above, builds on exactly this: a JSON-LD manifest aimed at repositories and machine actionability.

KNOBE's payload is plain JSON, not JSON-LD, and the gap is deliberate. The canonical hash rule (spec §5) is already a bespoke departure from the general-purpose JSON canonicalization standard, RFC 8785 (JCS): keys sorted at every nesting depth, Unicode NFC normalization of keys and string values, and every numeric payload value written as a JSON string so that json.dumps(1.0) in Python and JSON.stringify(1.0) in JavaScript can never diverge. JCS does not perform NFC normalization and does not resolve that numeric-formatting gap; KNOBE needed both, so it wrote its own rule instead of adopting JCS wholesale. JSON-LD's own canonicalization, RDF Dataset Canonicalization (formerly URDNA2015, now RDFC-1.0), is heavier again: blank-node labeling, N-Quads serialization, graph isomorphism. Adopting it would trade away three things the spec treats as load-bearing: a reference verifier that stays inside Python's standard library with no external dependency, a hash rule simple enough for a single implementer to build a conforming verifier from the spec text alone (the Go implementation is the case in point), and no implicit network dependency, since JSON-LD contexts are commonly external URLs unless embedded, cached, or bundled, and a verifier that has to resolve them takes on the kind of network dependency that cuts against verifying a file with nothing but a text editor and a hash function.

None of that closes the door on linked data; the spec leaves an explicit hallway open. Unrecognized payload fields must be preserved and must not fail verification (spec §4.3), so a namespaced extension block, semantic:context, semantic:type, semantic:sameAs, can carry JSON-LD-shaped terms inside a KNOBE payload today. KNOBE's own canonicalization treats those keys like any other JSON keys: sorted, NFC-normalized, hashed, with no RDF-specific handling required. A separate JSON-LD processor can pick that block up downstream for its own graph work; KNOBE's seal does not need to understand RDF for the extension to travel intact and verifiably. The same hallway is how identity_status: "signed", a forward placeholder in the current spec, and ledger anchoring reach toward the other sense of "Web3", decentralized identity and timestamp anchoring, without requiring a blockchain or a DID resolver to use KNOBE at all. Both are optional composition points, not dependencies.

Defer to JSON-LD / RDFWhen you need standards-based linked data, queryable across many systems. Carry that data inside a KNOBE's namespaced extension fields if the object also needs to travel intact and verifiable outside the graph.

Metadata and front-matter

Front-matter metadata is the content of the solution; KNOBE's contribution is the transport guarantee. YAML front-matter alone is silently editable, routinely stripped, and carries no tamper evidence. KNOBE keeps that metadata attached and verifiable: self-contained, hash-sealed, with defined verification semantics, published test vectors, and graceful degradation to readable text. If plain front-matter meets your needs, use it; KNOBE's YAML layer is deliberately compatible with that practice, so the upgrade path is short.

XMP (Extensible Metadata Platform)

XMP, created by Adobe and standardized as ISO 16684-1, is the widely deployed way to embed metadata inside a file. It serializes properties as a subset of RDF/XML and tucks them into a defined slot in the host format, PDF, JPEG, TIFF, PNG, and many others, or into a sidecar .xmp file where the format has no native slot. Of the neighbors here it sits closest to KNOBE on one axis: metadata that rides inside the object rather than beside it. Two things separate them. XMP lives in a binary host format and needs a format-aware parser to read, where a KNOBE is plain text readable in any editor with no tooling; and XMP standardizes how to attach descriptive properties, where KNOBE seals a structured context record, attribution, transformation history, fidelity limits, use conditions, under an integrity hash that makes later tampering detectable. XMP asks "what metadata does this file carry?"; KNOBE asks "what is this, and can I tell it was not altered?" The two can coexist: a PDF can hold XMP for its host tooling while a KNOBE travels as the plain-text record of how its content was made.

Defer to XMPFor embedding descriptive metadata inside images, PDFs, and other rich media, in the format's own standard slot.

llms.txt

llms.txt is a site-level convention proposed by Jeremy Howard (Answer.AI) in September 2024: a plain-text index at a site's root, /llms.txt, pointing a model at the pages worth reading and offering markdown versions of them so it does not have to parse HTML. It answers a real, narrow question: context windows are too small for a whole site, so a curated reading list helps a model find the right pages before it reads anything. It carries no hash, no integrity check, and makes no claim about what happens after those pages are fetched. KNOBE sits downstream of that moment rather than upstream of it: it does not index a site, it travels with one document wherever that document is copied, pasted, summarized, or ingested, and it can be checked for tampering after the fact. llms.txt is a reading list; KNOBE is a seal. The two compose rather than compete: a site's llms.txt could point at sealed KNOBE files instead of plain markdown, so a model finds the right document and that document still carries its own verifiable terms once found. Both are plain text, both avoid a server to read, and both bet that a small convention beats a platform; llms.txt already has real adoption, through the fast.ai and Answer.AI network and a growing directory of sites, worth studying for how a lightweight text convention spreads by attaching itself to an existing community rather than building one from zero.

Defer to llms.txtFor helping a model find the right pages on a site before it reads any of them.

Summary

Related standards and how KNOBE differs from each
StandardBest atKNOBE's differenceWhen to defer to it
GitIn-repo version historyContext that travels with the file after it leavesDevelopment history
C2PASigned media and document provenancePlain text, no PKI, human-readable degradationMedia and documents
Verifiable CredentialsIdentity-backed claimsContext without requiring identity"Who asserts this?"
W3C PROVRich provenance vocabularySealed single-file transportQueryable provenance graphs
RO-CrateResearch data packagingOne human-first document, sealing semanticsDatasets, repository deposit
BagItChecksummed file packagingSealed structured context, not just file fixityArchival storage and transfer
Dublin CoreShared field namesTamper evidence, obligations, survivalDescriptive naming (map to it)
XMPEmbedded metadata in rich mediaPlain text, integrity seal, structured contextMetadata inside images, PDFs, media
Knowledge graphsLinked knowledge in placeThe node's passport when it exitsInside one platform
llms.txtHelping a model find the right pagesTravels with one document, verifiable after the factSite-level discovery, before reading
JSON-LD / RDFStandards-based linked dataBespoke, dependency-free, network-free canonical hashCross-system linked-data queries

Knowledge increasingly moves as files and fragments through systems that strip context, and the lowest-infrastructure unit of repair is the object itself. Where a neighboring standard solves your problem, use it. Where knowledge has to leave the systems those standards live in, seal what it must carry.