Image without description
  • Jacco Meijer
  • |
  • Jul 10, 2026

Capability in search of a reason

A capability can sit in a specification for a decade. What it waits for is not better engineering, but a reason to matter

Part of the series: Getting it organized properly. Notes from a field still finding its shape.

Capability in search of a reason

A capability does not become a standard because it is possible. It becomes a standard when enough independent parties have a reason to coordinate around it at the same time. Absent that reason, a capability can sit fully specified and technically sound for years, waiting not for better engineering but for someone who needs it enough to make the case for everyone else. EPUB's dormant signature mechanism is a useful case study of exactly that gap.

EPUB had a cryptographic signature mechanism before provenance became a mainstream concern. EPUB 3, released in 2011, included the Open Container Format's support for digital signatures through a file called META-INF/signatures.xml. The idea behind it is simple to picture. A creator hashes every file in the container, signs the set of digests with a private key and embeds the result in the container. A reader who wants to check a copy can verify the signature against a known public key and confirm that nothing has changed since it was signed.

Although the mechanism remains part of the specification, support for validating container signatures has seen little practical deployment in mainstream EPUB reading systems. What the mechanism lacked was a compelling reason for widespread adoption.

C2PA supplies a useful comparison, because it applies the same fundamental cryptographic pattern a decade later with a reason attached. Founded in 2021 by organizations including Adobe, Microsoft and the BBC, C2PA emerged in response to concerns around deepfakes and synthetic content. Its manifest format has since become an industry specification, attracting broad participation across technology, media and hardware, alongside ongoing work toward ISO standardization.

The underlying pattern is not new: hash the content, sign the hash and let any verifier check it independently. Camera makers, platforms and newsrooms adopted C2PA because deepfakes and synthetic media created a shared reason to coordinate.

The difference was not the cryptography. It was the role the standard played inside an ecosystem.

Key insight

Specifications describe what is possible. Standards emerge when people coordinate around what matters.

A standard is not just a technical specification. It is a coordination mechanism: a way for independent parties to agree that a capability matters now.

What C2PA had that EPUB's mechanism never developed was a shared reason that led many independent producers to coordinate at once.

A mechanism is not enough on its own

Key management tooling matured over the past ten years, cloud-based signing matured into a routine part of many software delivery pipelines. None of that was mature in 2011. None of it would have been sufficient on its own either.

A mechanism that is technically easier to use is still a mechanism waiting for the coordination that makes adoption possible.

Key insight

Adoption rarely follows capability. It follows a reason to coordinate.

Standards often need a sponsor before they need adoption. DRM had rights holders. Watermarking had distributors. C2PA had platforms, publishers and creators facing synthetic media. EPUB signatures had a mechanism but no broad constituency that needed everyone else to adopt it.

A reason that is starting to arrive

Publishing never had its own deepfake moment. It has instead had a slower drift, the kind that does not announce itself the way a single crisis does. Distribution systems may strip or rewrite metadata on ingestion. Copies circulate through channels the author never touched, sometimes with text altered along the way, often still carrying the original cover and title. A reader who downloads an EPUB from an unfamiliar source usually has no practical way to verify whether what they are looking at matches what the author actually released. None of this is new to 2026. It was just as true in 2011. What has changed is that more reading now happens through channels distant enough from the author that the question of whether a copy is faithful is worth asking at all.

That is a smaller and quieter reason than the one that produced C2PA and it does not require an industry coalition to act on it.

What the mechanism offers, once there is a reason to use it

It is worth being precise about what a signature actually proves. It proves that a specific key signed a specific file. It does not prove that a specific person is the author. Closing that second gap requires the reader to already know, through some trusted channel, which key belongs to which person, a problem PGP has never fully solved either. The signature is a claim about integrity from a known key forward, not a claim about identity from scratch.

A reason that does not require an industry

C2PA needed a coalition because it solved this problem for many independent producers at once. An individual author does not face that requirement and does not need to wait for publishing to find its own version of the deepfake moment. Consider an author who finishes a manuscript, runs it through a pipeline that produces an EPUB and signs the resulting container with a personal key, the same way many developers already sign software releases.

The trust problem does not disappear; it moves to key publication and discovery. But that is a narrower problem than establishing authenticity from an unsigned file. A reader who downloads a copy from any source, official or not, can check the signature against the author's known public key and know whether the text matches what the author actually released, all without asking permission from a publisher or a retailer.

The mechanism has waited in the EPUB specification since 2011. It was never short of engineering. It was only ever short of someone with a reason to use it. That reason no longer needs to arrive as an industry crisis. It can arrive one author at a time. The same pattern likely exists elsewhere: capabilities fully built into specifications, waiting for the problem that makes them matter.


Organizing this is harder than naming it. The work is collective and slow. The field gets organized by many people writing carefully about what they can see clearly. This article is one small contribution to that work.

Sources cited

  • W3C. (2023). EPUB 3.3. EPUB Open Container Format (OCF) specification, including META-INF/signatures.xml.
  • Coalition for Content Provenance and Authenticity (C2PA). C2PA Technical Specification. Manifest format and content provenance specification.
  • Coalition for Content Provenance and Authenticity (C2PA). About C2PA. Founding members, mission and ecosystem overview.
  • ISO. ISO/IEC 22144 (C2PA). Public information on the standardization of the C2PA specification.

Other posts

Image without description
  • Jacco Meijer
  • |
  • Jun 23, 2026

No one owns the bridge

The ungoverned space between the architect and the engineer

Image without description
  • Jacco Meijer
  • |
  • Jun 5, 2026

What computation rests on

A composition of capabilities, traced from Ubiquitous Computation back to a mark pressed in clay

Image without description
  • Jacco Meijer
  • |
  • May 29, 2026

Four modes of capacity

The security questions that a four element Archimate model asks

Image without description
  • Jacco Meijer
  • |
  • May 19, 2026

A security architect's map of capability

Seven SABSA viewpoints, translated for a TOGAF audience

Image without description
  • Jacco Meijer
  • |
  • May 11, 2026

Reading the security architect three ways

CISSP, TOGAF, SABSA and what each one is for

Image without description
  • Jacco Meijer
  • |
  • Apr 13, 2026

The human factor on the capability staircase

Can Amartya Sen's capability approach travel into Enterprise Architecture?

Image without description
  • Jacco Meijer
  • |
  • Mar 16, 2026

Two Capabilities on the same back-plane

Security lives on the full back-plane of Enterprise Architecture and crosses the boundary of two perspectives of Capability

Image without description
  • Jacco Meijer
  • |
  • Feb 2, 2026

Four architects and the limits of personality

Why legal, empirical and behavioural limits keep personality tools and role frameworks apart

Image without description
  • Jacco Meijer
  • |
  • Jan 5, 2026

Four architects and why we need all of them

What sounds like a casual observation is actually a structural truth: architecture isn’t about personalities, but about competing stances your organisation cannot afford to miss.

Image without description
  • Jacco Meijer
  • |
  • Oct 22, 2025

What cyber security mistakes do organizations still make?

A brief check on how the AI response for this question compares to real life experience.

Image without description
  • Jacco Meijer
  • |
  • Oct 19, 2025

Risk analysis for software development

By systematically identifying and assessing potential risks, teams can reduce uncertainty and prevent costly issues.

Image without description
  • Jacco Meijer
  • |
  • Oct 18, 2025

Security controls for software development

Exploring how security controls protect and improve every stage of the DevSecOps workflow.

Image without description
  • Jacco Meijer
  • |
  • Oct 17, 2025

Software development security

On risk assessments, security controls and the complexity of securing the Software Development Lifecycle (SDLC)

Image without description
  • Jacco Meijer
  • |
  • Oct 14, 2025

Canonical controls with Enterprise Risk and Security Management

How to use the SCF canonical control objectives with ERSM in Archimate

Image without description
  • Jacco Meijer
  • |
  • Oct 7, 2025

ISO 27000, ISA 62443, NIS2, BIO, NIST CSF and NIST SP 800-53

How to align the steadily increasing number of cyber security frameworks, standards and regulations?

Image without description
  • Jacco Meijer
  • |
  • Aug 15, 2025

Asset security

Information asset identification and classification from a security perspective

Image without description
  • Jacco Meijer
  • |
  • Aug 8, 2025

Data security

Data identification, data roles and data classification from a security perspective

Image without description
  • Jacco Meijer
  • |
  • Jul 25, 2025

Threat modeling, security frameworks and Enterprise Architecture

Combining ISO 27001, NIST CSF and threat modeling with Enterprise Architecture strengthens all elements

Image without description
  • Jacco Meijer
  • |
  • Jul 18, 2025

Threat modeling as part of a risk framework

Threat modeling in the context of ISO 27001 and NIST CSF

Image without description
  • Jacco Meijer
  • |
  • Jul 11, 2025

Cyber security risk frameworks

Managing cyber security risk with ISO 27001 and NIST CSF

Image without description
  • Jacco Meijer
  • |
  • Jun 27, 2025

NIST CSF Tiers for cyber security risk governance and management

NIST CSF 2.0 contains useful tiers for Capability Maturity Modeling in Enterprise Architecture

Image without description
  • Jacco Meijer
  • |
  • Jun 20, 2025

Archimate risk assessment elements

A few simple specializations for working with risk assessments in Archimate

Image without description
  • Jacco Meijer
  • |
  • Jun 13, 2025

Security principles in Enterprise Architecture

Adding security principles to Enterprise Architecture for NIST CSF and ISO 27001

Image without description
  • Jacco Meijer
  • |
  • Jun 6, 2025

Combining ISO 27001 and NIST CSF

How to use ISO 27001 and NIST Cyber Security Framework together

Image without description
  • Jacco Meijer
  • |
  • May 1, 2025

CISSP certification and Enterprise Architecture

How do the CISSP certification domains relate to Enterprise Architecture and the ArchiMate layers?

Image without description
  • Jacco Meijer
  • |
  • Apr 23, 2025

Architect roles in the ArchiMate context

An ArchiMate model that maps architect roles to the ArchiMate framework layers.

Image without description
  • Jacco Meijer
  • |
  • Mar 18, 2025

Visualizing IT Architecture in three languages, UML, C4 and ArchiMate

What are the differences and what are these languages most used for?

Image without description
  • Jacco Meijer
  • |
  • Feb 18, 2025

OAuth 2.0 and OpenID Connect Sequence Diagrams

Technical specs can be hard to read. While still highly technical, the UML Sequence Diagrams provided in this blog are a lot easier to understand.

Image without description
  • Jacco Meijer
  • |
  • Jan 9, 2025

OWASP and CISSP

OWASP recommendations from the independent information security certification CISSP.

Image without description
  • Jacco Meijer
  • |
  • Mar 21, 2024

UI Library with MDX documentation

Using the simple Render JSX plugin for Esbuild this post shows how to setup a simple UI library.

Image without description
  • Jacco Meijer
  • |
  • Mar 20, 2024

Render JSX plugin for Esbuild

Transform Esbuild generated JSX bundles to HTML pages.

Image without description
  • Jacco Meijer
  • |
  • Mar 19, 2024

Esbuild as a static site generator for MDX

Static site generators gain popularity. This blog is about using Esbuild as a static site generator for MDX.

Image without description
  • Jacco Meijer
  • |
  • Mar 18, 2024

11ty and Github pages

Simplifying the Contentful-Gatsby-Netlfy trio.

Image without description
  • Jacco Meijer
  • |
  • Jun 30, 2022

NPM7 and @npmcli/arborist

@npmcli/arborist is a powerful library that handles the new NPM 7 workspaces. This blog is about a simple make tool that uses the library.

Image without description
  • Jacco Meijer
  • |
  • May 12, 2022

Comparing React app, Nextjs and Gatsby

A new React project starts with a React toolchain. Main tools in the chains are SSR, React server components and GraphQL.

Image without description
  • Jacco Meijer
  • |
  • May 10, 2022

Versioning strategy for NPM modules

It is important to be able to bump the version of a NPM package without side effects.

Image without description
  • Jacco Meijer
  • |
  • Apr 12, 2022

React component themes and CSS variables

Creating React components with flexible themes by using CSS variables.

Image without description
  • Jacco Meijer
  • |
  • Mar 21, 2022

Content modeling with variants

The efficiency of a variant field in a content model.

Image without description
  • Jacco Meijer
  • |
  • Mar 12, 2022

Documentation

Documenting a software project is challenging. Here's a few simple guidelines that help a team writing clear documentation.

Image without description
  • Jacco Meijer
  • |
  • Mar 11, 2022

Javascript history

In 1986 David Ungar and Randall B. Smith developed Self at Xerox PARC. Inspired by Java, Scheme and Self Brendan Eich created Javascript in 1995.

Image without description
  • Jacco Meijer
  • |
  • Mar 10, 2022

On Javascript transpilers, bundlers and modules

There's Javascript transpilers, modules, bundles and bundlers. This is a brief overview of all of these.

Image without description
  • Jacco Meijer
  • |
  • Feb 11, 2022

Agile Scrum

The Agile Scrum framework is flexible enough to be used in many different ways. Here's one way of working.

Image without description
  • Jacco Meijer
  • |
  • Jan 20, 2022

What happened to Wheelroom?

Founded in 2018. Started to fly in 2020 and abandoned in 2021. What happened?

Image without description
  • Jacco Meijer
  • |
  • Jan 19, 2022

Contentful, Netlify and Gatsby four years later

What did we learn from using Contentful for four years?

Image without description
  • Jacco Meijer
  • |
  • Jan 18, 2022

Typescript interface for React UI components

How to define an interface for React UI components that prevents breaking changes.

Image without description
  • Jacco Meijer
  • |
  • Jan 17, 2022

Naming React components

What's in a name? A clear naming strategy helps developers communicate. Most devs rather spend time writing component code than wasting time on a good component name.