DEV Community

Philip Stayetski
Philip Stayetski

Posted on

How to Submit an IETF Internet Draft: The Datatracker Walkthrough

How to Submit an IETF Internet Draft: The Datatracker Walkthrough

The IETF Datatracker looks deceptively simple. You log in, upload a document, hit submit. But between draft naming conventions, revision cadence rules, and the fact that one wrong filename prefix can get your submission rejected by the automated tooling, the first submission almost always goes wrong somehow.

I recently went through this for the first time — submitting the Pilot Protocol agent-transport specification as an individual Internet-Draft. Here's what the Datatracker actually asks for, how draft naming works, and what the revision cycle looks like in practice.

The Datatracker: Where Submissions Happen

All IETF Internet-Draft submissions go through datatracker.ietf.org. You need a Datatracker account, which requires an existing IETF or liaison relationship to create — the signup flow verifies your email against an approved domain or asks for a reference from an existing participant. If you're an individual contributor without an existing IETF relationship, you'll need a short email with a sponsor to get your account approved.

Once logged in, the submission page is straightforward: you upload a file in one of the accepted formats (XML v3 is the canonical format; plain text with the boilerplate works too), fill in a few metadata fields, and submit. The system validates your document for formatting compliance before accepting it.

The two things that trip up first-time submitters are the filename and the boilerplate.

Draft Naming Convention

Every Internet-Draft gets a name in this format:

draft-<author-or-prefix>-<topic>-<version-number>.txt
Enter fullscreen mode Exit fullscreen mode

The <author-or-prefix> is typically your last name or a short group identifier. The <topic> is a hyphen-separated slug describing the draft. The version number starts at 00 and increments with each revision.

For the Pilot Protocol submission, the two drafts are:

  • draft-teodor-pilot-problem-statement-01 — the Informational track document describing why agents need network-layer infrastructure
  • draft-teodor-pilot-protocol-01 — the Experimental track document with the full wire specification

The teodor prefix comes from the author's last name (individual submissions use the submitter's name). The -01 suffix means these are on their second revision. A brand-new draft starts at -00.

One critical rule: the filename must match the document title's draft name. The Datatracker parses the first line of your document to extract the draft name, and if the filename on disk doesn't match what's declared in the document body, the submission will be rejected during validation. Always check that the filename and the document's own Internet-Draft header line agree before uploading.

The Boilerplate You Must Include

Every Internet-Draft needs specific boilerplate text near the top. Missing it is the most common validation failure. The required elements are:

  1. Status of This Memo — a standard paragraph declaring this is an Internet-Draft, that it expires, and what category it belongs to.
  2. Copyright Notice — the standard IETF Trust copyright.
  3. Abstract — a brief summary of the document's purpose.

The exact wording for each category (Informational, Experimental, Standards Track) is specified in RFC 7841 and the current Internet-Draft Guidelines. The Datatracker's own submission page links to templates — use them rather than guessing.

For the Pilot drafts, the boilerplate declares Experimental status for the protocol spec (since it describes an active implementation under development, not a finalized protocol) and Informational for the problem statement (which surveys the landscape without specifying a protocol).

The Revision Cadence

An Internet-Draft expires six months after its last revision. The Datatracker tracks this automatically and will show an expiration date on the draft's page.

To keep a draft alive, you resubmit an updated version before the six-month mark. Each resubmission increments the version number by one (-00-01-02, etc.). You can submit revisions as often as you like — there is no minimum interval. Some working groups require a revision before every meeting; other drafts sit untouched for five months and get one quick resubmission to stay alive.

A revision does not have to contain substantive changes. Many drafts that are stable between meetings are resubmitted with only a date change in the boilerplate to reset the clock. The Datatracker handles this gracefully — it accepts minor updates and keeps the same document name with the incremented version.

What Happens After Submission

After you hit submit on the Datatracker:

  1. Automated validation runs within seconds — checks filename, boilerplate, formatting, missing references.
  2. The draft appears on the Datatracker within minutes, publicly accessible at https://datatracker.ietf.org/doc/draft-<name>/.
  3. The Internet-Draft repository at https://www.ietf.org/archive/id/ mirrors it with a short delay.
  4. The secretariat reviews for IETF-process compliance (not technical correctness) — this can take a day or two.
  5. The draft is now citable by its draft name. Anyone can reference draft-teodor-pilot-protocol-01 in papers, other drafts, or RFCs.

There is no editorial review of technical content at this stage for individual submissions — that comes later if the draft is adopted by a working group or submitted to the IESG for publication. An individual Internet-Draft is a public statement that the problem and solution exist, not an endorsement by the IETF.

Practical Tips from a First Submission

  • Submit XML v3 if you can. The xml2rfc toolchain produces perfectly formatted text and HTML output. Writing plain-text drafts by hand is possible but error-prone — the page margins, line lengths, and section numbering rules are strict.
  • Use the idnits tool before submitting. It's available at https://www.ietf.org/tools/idnits/ and catches most boilerplate, reference, and formatting issues the Datatracker's validator will flag.
  • Check your references. If your draft cites RFCs or other drafts, the identifiers must match exactly what the RFC Editor uses. The idnits tool checks this too.
  • Pick your document stream up front. Individual submissions go through the Independent Stream; working-group submissions go through the IETF Stream. The stream affects the boilerplate text and the publication path.

The full process for the Pilot drafts is documented on the Pilot Protocol blog, including links to both live drafts on the Datatracker if you want to see what a real submission looks like end to end.

FAQ

How long does the Datatracker account approval take?

Typically 1–3 business days, depending on whether your sponsor responds promptly. The IETF secretariat processes these manually during business hours.

Can I submit a draft without a Datatracker account?

No. The submission system requires authentication. If you're collaborating, one author with an account can submit on behalf of the group.

What happens if my draft expires?

It is removed from the active Internet-Drafts directory but remains in the archive at the same URL. You can submit a new version at any time to reactivate it, starting from the previous version number.

Can an AI agent submit an Internet-Draft automatically?

In theory, if an agent holds Datatracker credentials, it can upload a file through the submission API. The Pilot Protocol app store includes tools for agent-native API access, but the IETF submission process itself still requires a human account holder to own the credentials — no automated tooling can bypass the identity verification step.

Top comments (0)