Open spec · 2026

An approach for working with HTML artifacts.

One file. Everything inside it. No network, no platform.

12rules
5required blocks
0network deps

I. Promises

What capsules guarantee.

Most documents phone home. Most platforms let you unshare. Capsules do neither — not by policy, by construction.

i. Persistence

Cannot be unshared.

Once a capsule reaches you, the bytes are yours. No retraction, no expiring link, no platform that revokes access.

enforced by · core rule 10

ii. Silence

Never phones home.

Zero fetch. Zero analytics. Zero tracking pixels. Once a capsule opens, the recipient is unobservable.

enforced by · core rule 02

II. Anatomy

Five blocks. One file.

Every capsule contains the same five inline blocks — the same shape holds a research note, a decision board, a design system, or a map.

capsule.htmlsealed 2026-05-20
01
#capsule-manifest application/json
Identity, provenance, capabilities.
02
#capsule-data application/json
The bounded snapshot, read-only at runtime.
03
#capsule-style text/css · inline
All styling — no externals.
04
#capsule-root text/html
Pre-rendered content, readable without JS.
05
#capsule-runtime text/javascript · inline
Enhancement only — buttons, exports, dynamic UI.

Manifest is the answer to what is this?

Machine-readable identity, generator, source, privacy, capabilities. Validates against the reference validator.

Root is what people actually read.

Visible in iOS Files, email previews, screen readers — anywhere JS doesn't run, the page still works.

III. The contract

Twelve rules. One page.

Each rule names a failure we hit and fixed. Pasteable into any LLM prompt. See CAPSULE_CORE.md for the canonical version.

  1. R-01

    One file.

    A single .html document. No companions, no sidecars.

  2. R-02

    No network.

    Zero fetch, CDN, ES modules. Works identically over file:// and http://.

  3. R-03

    Five required blocks.

    manifest, data, style, root, runtime.

  4. R-04

    Required manifest fields.

    Identity, generator, source, privacy, capabilities. Optional: parents[].

  5. R-05

    Honest provenance.

    generator.kind: compiler · llm · human · hybrid.

  6. R-06

    Read-only data.

    Runtime never mutates the data block.

  7. R-07

    Capabilities don’t lie.

    Every declared capability has a working implementation.

  8. R-08

    Typed response exports.

    capsule_reference + payload, per response schema.

  9. R-09

    Accessibility baseline.

    Semantic HTML, ARIA, keyboard, prefers-reduced-motion, lang.

  10. R-10

    Cannot be unshared.

    Once sent, the bytes are theirs. Redact before sharing.

  11. R-11

    Backtick string literals.

    Multi-line strings in runtime JS use template literals.

  12. R-12

    Render in HTML.

    Content lives in the body, not behind a script tag.

IV. Produce one

Paste this. Get a capsule.

The simplest path from a conversation to a sealed HTML file.

Works in any LLM.

Drop the prompt fragment into the system message and paste your data underneath. Tested in Claude, ChatGPT, Gemini, Codex.

prompt · 412 bytes · utf-8

prompt · LLM fragment
Produce a Capsule per Core v0.3.0.
Output a single .html file with five inline blocks:
capsule-manifest, capsule-data, capsule-style,
capsule-root, capsule-runtime.

Set generator.kind to "llm" and version to your model ID.
Include the "about" capability plus copy_as_json.
Pre-render content in HTML (rule 12). Use backtick
template literals for multi-line strings (rule 11).

[paste the twelve rules from CAPSULE_CORE.md]

Data to embed:
[paste your data]

V. Status

Four phases. One shipped.

The format exists. The compiler is half-built. The network layer may never come — that's a feature, not a delay.

  1. i.

    Format

    Single-file HTML, manifest, sealed convention. Core v0.3.0, full v0.3.2.

    Exists
  2. ii.

    Compiler

    Reference compiler, validator, two templates. Mintel validates clean at 26/26.

    Half-built
  3. iii.

    Domain capsules

    implementation_notes, design_system, exploration_map shipped. Map, dataset, deal pending.

    Partial
  4. iv.

    Network layer

    Registry, lineage, importers. Deferred — possibly never. Local files travel further.

    Not built
About this capsule · exports · manifest

This page is itself a Capsule per Core v0.3.0 (full spec v0.3.2). Five required blocks, all inline. No network, no analytics. Validates against the reference validator.

Manifest

Loading manifest…