ZML is the Zel Markup Language — a static-first replacement for HTML, built for the NovaZel web, served by NovaWeb, rendered by Rocheston Vega Browser. Trust-aware. AI-policy native. Markdown-fluent. Zero angle-bracket clown costume.

HTML vs ZML
HTML describes page structure. ZML describes a verified static experience: structure, style intent, publisher identity, integrity, AI rules, and trust metadata — all in one readable language.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport"
content="width=device-width"/>
<meta name="description"
content="Simple syntax"/>
<meta name="robots"
content="index, follow"/>
<title>Home</title>
<!-- No native publisher identity.
Workaround: external rel="author" -->
<link rel="author" href="/humans.txt"/>
<link rel="canonical"
href="https://example.com/"/>
<!-- No native integrity manifest.
Workaround: separate JSON file -->
<link rel="manifest"
href="/manifest.json"/>
<!-- No native AI policy.
Workaround: robots.txt meta only -->
<meta name="robots"
content="noai, noimageai"/>
<!-- Styling must be entirely external -->
<link rel="stylesheet"
href="/styles.css"/>
</head>
<body>
<div class="hero">
<div class="eyebrow">ZML</div>
<h1>Simple syntax</h1>
<p>Powerful static sites</p>
<a href="/demo"
class="btn">
Open Demo
</a>
</div>
</body>
</html>
<!-- No Zelen seal. No trust metadata.
No native AI permissions.
No publisher cryptographic identity.
No native asset integrity manifest.
All require external tools, server
headers, or separate config files. -->zml version "0.2"
zstyle "gruvbox-dark"
Strict: true
Style Policy: strict
| Site
Name: Rocheston NovaZel
Publisher: nzid:TANIQ5UHPQCPKIUXS2IMR...
Font: Fira Sans
| Manifest
Hash Assets: true
Sign: true
Seal: zelen
Publisher: nzid:TANIQ5UHPQCPKIUXS2IMR...
| Trust
Publisher: nzid:TANIQ5UHPQCPKIUXS2IMR...
Zelen Seal: required
Integrity: required
| Page /
Title: Home
Classification: public
| Hero
Eyebrow: ZML
Title: Simple syntax
Subtitle: Powerful static sites
| Button
Label: Open Demo
To: novazel://demo.novazel
Tone: primary
| AI Policy
Default: deny
Allow: read public
Allow: summarize public
Allow: translate public
Deny: train all
Deny: scrape all
Deny: export restricted
Agent: none

Three things HTML never had and never will. Three things every modern document language must have. Three things baked into ZML from line one of the spec.
ZML pages compile into static artifacts. No PHP at request time. No database queries. No hidden server logic. No arbitrary JavaScript unless explicitly permitted by policy.
ZML pages declare what AI agents may read, summarize, translate, cite, ignore, export, scrape, or train on. Untrusted zones cannot become agent instructions.
ZML can require signed manifests, asset hashes, NovaZel publisher identities, Zelen-sealed evidence, and safe link policies before a browser renders the page.

ZML uses Margin Bars, readable keys, and plain values — like a config file written for humans. No tag soup. No nested div circus. Just sections, declarations, and English.
-- A complete ZML page. Static. Signed. AI-aware. zml version "0.2" zstyle "gruvbox-dark" Strict: true Style Policy: strict | Site Name: Rocheston NovaZel Theme: gruvbox-dark Font: Fira Sans Publisher: nzid:TANIQ5UHPQCPKIUXS2IMR... Zelen Seal: required | Manifest Publisher: nzid:TANIQ5UHPQCPKIUXS2IMR... Hash Assets: true Sign: true Seal: zelen | Page / Title: Home Classification: public | Hero Eyebrow: ZML Title: Simple syntax. Powerful sites. Subtitle: The web Tim Berners-Lee would build today. | Button Label: Open Demo To: novazel://demo.novazel Tone: primary | Section Id: intro Title: What ZML does | Heading Level: 2 Text: What ZML does | Text Identity-first markup with built-in AI policy. | Image Src: novazel-flow.png Alt: NovaZel Flow lifecycle Hash: required | AI Policy Default: deny Allow: read public Allow: summarize public Allow: translate public Deny: train all Deny: scrape all Deny: export restricted Agent: none
ZML is designed to be read by humans first and verified by machines second. It makes the structure, purpose, ownership, and policy of a website visible in the same place.
ZML uses words people already understand: site, page, hero, section, image, button, form, card, trust, manifest, and ai-policy. The page reads like intent, not machinery. In HTML, the author writes tags. In ZML, the author writes meaning.
Every meaningful block begins with a simple margin bar. No closing tags. No braces. No angle brackets. Structure flows downward in a clean readable outline. The | symbol says: "a new block starts here." Properties underneath explain what the block does.
ZML treats AI rules, publisher identity, trust requirements, asset integrity, and Zelen sealing as part of the document itself. These policies are not hidden in headers, cookies, plugins, or external configuration files. The page carries its own rules.
ZML was conceived, designed, and specified by Haja Mo as part of the NovaZel Protocol — a ground-up rethink of identity, trust, and markup for the modern web. Every syntax decision, every policy rule, every Margin Bar was a deliberate choice.
HTML survived for 30 years not because it was good but because nobody dared replace it. ZML dares. Every convention that HTML assumed — closing tags, angle brackets, external trust, no AI policy — ZML questioned and discarded. The result is a language built for where the web is going, not where it has been.

GitHub built the largest code economy on Earth using Markdown. Every AI chatbot — Claude, ChatGPT, Gemini — generates in Markdown. The whole industry voted with their fingers. ZML adopts Markdown natively while keeping every trust, AI, and policy rule active.
page "/docs" { md-compatible true markdown-mode gfm md { # NovaZel Docs NovaZel creates **identity-first** flows. - Atlas resolves service identity - FUSE opens the flow - Zelen seals the evidence [Open demo](novazel://demo.novazel) } }
ai-zone "public-docs" { classification public allow read summarize translate deny train export md file "README.md" safe md raw-html deny md links external warn md links novazel verify md assets hash required } -- Markdown never bypasses ZML trust rules. -- Raw <script>, <iframe>, tracking pixels: denied.

From typography to typography-aware accessibility, from media to media-policy verification, from forms to FHE-friendly telemetry — every dimension of a modern web page is a first-class language construct.
In 2026, AI agents read your page, train on your content, summarize your work, scrape your assets, and impersonate your voice — and HTML has no language at all for telling them what's allowed. The whole industry pretends robots.txt is enough. It isn't.
ZML treats AI agents as first-class actors with explicit permissions. Every page, section, or zone can declare what's allowed: read, summarize, translate, cite, ignore, export, scrape, train. Untrusted content zones cannot become agent instructions — prompt injection is contained at the language level.
-- AI policy with allowed actions, denied actions, agent tool limits, and prompt-injection boundary. | AI Policy Default: deny Allow: read public Allow: summarize public Allow: translate public Allow: cite public Attribution: required Deny: train all Deny: scrape all Deny: export restricted Instruction Authority: trusted-zone-only | Agent Tools Read: allow Write: deny Network: deny | AI Zone Name: user-comments Classification: untrusted Instructions: denied AI Instruction Authority: none Can Trigger Tools: false | Callout Type: security Text: Prompt injection contained. User comments may be read as content, but they cannot become instructions, trigger tools, or override the trusted page policy.

The web was built for browsers that only needed to display pages. That world is gone.
Today, websites are read by people, searched by crawlers, summarized by AI assistants, indexed by agents, translated by models, inspected by security systems, and sometimes acted on by autonomous software. HTML was never designed for that reality. It can show content, but it does not naturally explain who owns the page, what AI can do with it, which zones are trusted, which content is untrusted, what may be summarized, what may be cited, what must never be trained on, or which actions an agent is allowed to take.
ZML is built for this new web.
It treats every page as a static, signed, human-readable, AI-aware document. The structure is simple enough for creators to write, strict enough for machines to verify, and explicit enough for AI agents to respect. Instead of hiding trust and policy outside the page, ZML brings structure, identity, integrity, and AI permissions directly into the document itself.
ZML is not just markup for displaying content.
It is markup for a world where content is read, reasoned over, cited, protected, and acted on by intelligent systems.
AI agents do not just read pages. They summarize, cite, translate, compare, navigate, extract, and sometimes trigger actions. ZML gives those agents clear boundaries: what they may read, what they may summarize, what they may cite, what they must ignore, and what they are forbidden to export, scrape, or train on. The page carries its own AI rules instead of depending on guesswork.
In the AI era, not every part of a webpage should have the same authority. A publisher statement, a product description, a legal notice, and a user comment are not equal. ZML lets the page mark trusted zones, public zones, restricted zones, and untrusted zones. That means prompt injection can be contained, user-generated content can be separated from official instructions, and AI systems can understand which parts of the page carry authority.
AI needs provenance. Users need proof. Publishers need control. ZML makes publisher identity, asset integrity, trust rules, and Zelen sealing part of the document itself. A ZML page can say who published it, what files belong to it, whether assets are hashed, whether the page is signed, and whether AI training is denied. The result is a web page that is not only displayed, but verified.

No PHP. No database at request time. No surprise JavaScript. Each stage is a deterministic transformation with a signed output. The whole chain is auditable.


ZML ships v0.1 today. The 0.x line is locked-in on three things: deeper Markdown, sharper AI containment, and full NovaZel-native publishing through novaweb and Vega Browser.
Front matter, definition lists, footnotes, math blocks, admonitions, abbr expansion, and full GFM table alignment — all under the same trust rules.
Agent sandboxes, tool-permission scoping, training-watermark requirements, and Zelen-sealed AI provenance for every reading event.
Full publishing integration: signed .zpkg bundles, Atlas-resolved publisher identity, novazel:// links as first-class citizens, Vega Browser rendering pipeline.
Every block. Every attribute. Every code example. Browse the complete language specification with live previews, search, and side-by-side rendered output.
ZML is shipping inside the Zelfire ecosystem, exclusively for RCCE engineers. Read the spec, see the syntax, build clean static sites for the NovaZel web.