<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: untitled</title>
    <description>The latest articles on DEV Community by untitled (@untitlednow).</description>
    <link>https://dev.to/untitlednow</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3954185%2F0f11fbac-f83f-4a82-8fae-c657497042b6.png</url>
      <title>DEV Community: untitled</title>
      <link>https://dev.to/untitlednow</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/untitlednow"/>
    <language>en</language>
    <item>
      <title>Untitled Protocol – machine-readable intent for web pages</title>
      <dc:creator>untitled</dc:creator>
      <pubDate>Fri, 29 May 2026 21:59:44 +0000</pubDate>
      <link>https://dev.to/untitlednow/untitled-protocol-machine-readable-intent-for-web-pages-42gi</link>
      <guid>https://dev.to/untitlednow/untitled-protocol-machine-readable-intent-for-web-pages-42gi</guid>
      <description>&lt;p&gt;I built a small open protocol for declaring the intent of a web page in a machine-readable way.&lt;/p&gt;

&lt;p&gt;The problem it solves: crawlers, search engines, and AI pipelines treat all content as equally permanent and citable. A forum post you wrote at 2am, a draft article, an ephemeral tweet-length thought, a user-generated comment — they all get indexed, trained on, and cited the same way. There's no signal for "this was never meant to be permanent" or "this is a work in progress."&lt;/p&gt;

&lt;p&gt;The protocol adds one tag to your HTML:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;meta name="untitled" content="draft"&amp;gt;&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
or one HTTP header:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;X-Untitled: ephemeral&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
Six states are defined in the spec:&lt;br&gt;
  now        — canonical, stable, citable&lt;br&gt;
  draft      — work in progress, not final&lt;br&gt;
  ephemeral  — short-lived, not meant to be archived&lt;br&gt;
  anonymous  — author requests identity de-coupling from content&lt;br&gt;
  collective — community/multi-author content (forums, wikis)&lt;br&gt;
  generative — AI-generated or AI-assisted content&lt;/p&gt;

&lt;p&gt;States can be combined: content="draft,anonymous"&lt;/p&gt;

&lt;p&gt;What's live: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spec at &lt;a href="https://untitled.now/spec/" rel="noopener noreferrer"&gt;https://untitled.now/spec/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Validator: paste any URL, see what it declares &lt;a href="https://untitled.now/validate/" rel="noopener noreferrer"&gt;https://untitled.now/validate/&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Suggest tool: AI reads the page and recommends a state &lt;a href="https://untitled.now/suggest/" rel="noopener noreferrer"&gt;https://untitled.now/suggest/&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;1kb JS drop-in: &lt;a href="https://untitled.now/js/untitled.js" rel="noopener noreferrer"&gt;https://untitled.now/js/untitled.js&lt;/a&gt; — reads the tag and exposes it for client-side use - npm package: untitled-meta (for React/Vue/Next.js/Astro) &lt;/li&gt;
&lt;li&gt;WordPress plugin (GitHub, not yet on wp.org) &lt;/li&gt;
&lt;li&gt;SVG badges: &lt;a href="https://untitled.now/badge/now.svg" rel="noopener noreferrer"&gt;https://untitled.now/badge/now.svg&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/untitled-now/protocol" rel="noopener noreferrer"&gt;https://github.com/untitled-now/protocol&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The spec is MIT-licensed. I'm not trying to own this — the goal is to get it adopted broadly enough that it becomes a standard. Happy to answer questions about the design decisions.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>html</category>
      <category>showdev</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
