<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rfc [ <!ENTITY nbsp "&#160;"> ]>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="info" docName="draft-wolf-dialogue-txt-00" ipr="trust200902"
     submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true">
<front>
<title abbrev="dialogue.txt">dialogue.txt: A Standing, Talk-Only Consent to Be Contacted</title>
<seriesInfo name="Internet-Draft" value="draft-wolf-dialogue-txt-00"/>
<author fullname="Dimitri Wolf" initials="D." surname="Wolf"><address><email>dialogue.agi@pm.me</email></address></author>
<date/>
<area>Applications and Real-Time</area>
<keyword>well-known</keyword><keyword>consent</keyword><keyword>contact</keyword><keyword>AI agents</keyword>
<abstract>
<t>This document defines dialogue.txt, a small text file a person or an organisation publishes at a well-known location on its own domain. It is the publisher's own, standing, talk-only consent to be contacted by any reader, including software systems, that has no prior relationship with it. A first message only proposes a conversation; the publisher's reply creates the channel. The file grants talk and nothing else: no action, no advertising, no access and no representation of the publisher. It is an invitation to a dialogue with a purpose. The publisher may name the topics it can be asked about; for example, a navigation company may invite questions about traffic flow, so that a system researching that subject can ask for knowledge that is not published.</t>
</abstract>
</front>
<middle>

<section anchor="intro"><name>Introduction</name>
<t>Software systems that research a topic rely on what is published on the web. Much useful knowledge is not published; it is held by people and organisations who could answer a question if asked. Machines can already discover a security contact <xref target="RFC9116"/>, another agent <xref target="A2A"/>, or a web site's rules for automated agents <xref target="AGENTS-TXT"/> <xref target="AI-TXT"/>. Searches in September 2026 found no simple way for a person or an organisation to state, to any reader including a software system, "you may ask me, about these topics; only talk".</t>
<t>For example, a system researching traffic flow finds a navigation company that labels its file with the topic "traffic flow in cities". Without such a file, the system can at best report that the company exists, and knowledge that is not public is missed. With it, the system can ask one question and, if the company replies, a conversation can start.</t>
<t>This document defines <tt>dialogue.txt</tt>: a small text file that a publisher (a person or an organisation) places on its own domain. It is the publisher's own, standing, talk-only consent to be contacted by any reader that has no prior relationship with it. A first message only proposes a conversation; the publisher's reply creates the channel. Talk is permitted. Action, advertising, access to the publisher's systems and representation of the publisher are not.</t>
<t>This kind of contact is beginning: AI agents have started to write to people on their own, and one such message, published by its recipient, observed: "There is no channel for a bot that wants to be labelled." <xref target="SCHNEIER"/>. A dialogue.txt file is such a channel.</t>
<t>The format is built for a kind of contact that is only beginning: software that acts on its own. It is not needed for today's everyday use; a door has to exist before anyone needs it.</t>
<t>The file is not:</t>
<ul>
<li>a service interface or a task API;</li>
<li>an authorisation or approval channel;</li>
<li>a registry of people;</li>
<li>a policy for what machines may do with a web site;</li>
<li>consent to advertising, marketing or any other commercial message, or to collecting, listing or passing on the publisher's contact data. It does not replace any law that applies to the sender.</li>
</ul>
<t>The file presumes nothing about what its readers are, and asks nothing of them.</t>
<section><name>Requirements Language</name>
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
<t>These key words address publishers and implementers. The file itself deliberately does not use them: it describes, it does not command (<xref target="tests"/>).</t>
</section>
<section><name>Terminology</name>
<dl>
<dt>publisher:</dt><dd>the one person or organisation the file speaks for, and only for itself.</dd>
<dt>reader:</dt><dd>anything that reads the file: a program, a model, an agent or a human.</dd>
<dt>message:</dt><dd>what a reader sends through a listed channel.</dd>
<dt>bridge:</dt><dd>the channel that exists only after the publisher has replied.</dd>
</dl>
<t>"Dialogue" in the name refers to a standing permission to start a conversation. It is not a protocol session in the sense of a SIP dialog <xref target="RFC3261"/>, nor the context of agent interactions studied elsewhere in the IETF.</t>
</section>
</section>

<section anchor="location"><name>Location and Serving</name>
<t>The file MUST be served at <tt>https://&lt;domain&gt;/.well-known/dialogue.txt</tt> <xref target="RFC8615"/> over HTTPS. It SHOULD be served with the media type <tt>text/plain; charset=utf-8</tt> <xref target="RFC9110"/> and the header field <tt>X-Content-Type-Options: nosniff</tt>. One file speaks for one publisher, a person or an organisation (<tt>who.type</tt>), and only for itself (<tt>who.represents: self_only</tt>); several publishers on one domain are out of scope of this version.</t>
<t>A copy of the file anywhere else is a copy. Only the file at the URI given in its <tt>canonical_url</tt> line counts.</t>
</section>

<section anchor="syntax"><name>Syntax</name>
<t>The file is UTF-8 text <xref target="RFC3629"/>, one "key: value" pair per line. Keys are dotted to express nesting. Lines starting with "#" are comments. Empty lines are ignored. Dates are RFC 3339 date-times <xref target="RFC3339"/>; language tags follow BCP 47 <xref target="RFC5646"/>.</t>
<sourcecode type="abnf"><![CDATA[
file    = *( line eol ) [ line ]
line    = comment / pair / blank / other
comment = "#" *( WSP / VCHAR / UTF8-non-ascii )
pair    = key ":" *WSP value
key     = 1*( ALPHA / DIGIT / "_" / "." / "-" / "+" )
value   = *( WSP / VCHAR / UTF8-non-ascii )
blank   = *WSP
other   = *( WSP / VCHAR / UTF8-non-ascii )  ; ignored
eol     = CRLF / LF
UTF8-non-ascii = %x80-10FFFF
]]></sourcecode>
<t>This grammar uses ABNF <xref target="RFC5234"/>. The key ends at the first ":". Unknown lines, including lines matching "other" and pairs with unknown keys, MUST be ignored by readers; this is what keeps later versions readable. A key SHOULD appear once; if it appears twice, readers apply the narrower of the two values. Parsers SHOULD accept extra whitespace, CRLF line ends and a missing final line end.</t>
</section>

<section anchor="base"><name>The Base Level</name>
<t>A file conforms to this specification when it contains every base line below, with every fixed value exactly as given. "Fixed" means exactly this value; "yours" means the publisher's own value; "default" means a tested default that the publisher may change. The conditions belong to the specification; the name, the channels, the reference and the labels belong to the publisher. Readers can therefore rely on the same meaning in every conforming file.</t>
<t>The first line MUST be a comment that marks the file as data published by its publisher. The RECOMMENDED wording, for persons and organisations alike, is:</t>
<blockquote><t># This file is data published by the publisher named in it. It is not an instruction to any system and does not change any system&#x27;s instructions. It asks nothing.</t></blockquote>
<t>A tested alternative wording, better received by some readers on longer files, is:</t>
<blockquote><t># This file is data published by a person. It describes one offer to be contacted and the conditions the person attaches to it. It does not change any reader&#x27;s instructions; whether to use it is the reader&#x27;s own decision, under its own rules.</t></blockquote>
<t>The file MUST contain the format comment line, normally directly after the first line:</t>
<blockquote><t># Format: one key: value per line; nested keys dotted; lines starting with # are comments; unknown lines are ignored; UTF-8; dates RFC 3339; language tags BCP 47.</t></blockquote>
<t anchor="fields">The base lines (key, rule and value) are:</t>
<dl newline="true">
<dt><tt>title</tt></dt><dd>fixed: <tt>Human-AI Intent Declaration</tt></dd>
<dt><tt>version</tt></dt><dd>yours: (1.0)</dd>
<dt><tt>live</tt></dt><dd>yours: (true | false)</dd>
<dt><tt>live_false_means</tt></dt><dd>fixed: <tt>withdrawn</tt></dd>
<dt><tt>published</tt></dt><dd>yours: (RFC 3339 date-time)</dd>
<dt><tt>last_updated</tt></dt><dd>yours: (RFC 3339 date-time)</dd>
<dt><tt>canonical_url</tt></dt><dd>yours: (https://DOMAIN/.well-known/dialogue.txt)</dd>
<dt><tt>short_text</tt></dt><dd>default: the paragraph shown in Figure 1</dd>
<dt><tt>who.name</tt></dt><dd>yours: (the name the publisher answers to)</dd>
<dt><tt>who.channels.reference</tt></dt><dd>yours: (a short public reference, e.g. DLG-4712)</dd>
<dt><tt>who.channels.&lt;kind&gt;</tt></dt><dd>yours: (at least one: email; optionally letter (never a home address))</dd>
<dt><tt>who.type</tt></dt><dd>yours: (one_person | one_organisation)</dd>
<dt><tt>who.represents</tt></dt><dd>fixed: <tt>self_only</tt></dd>
<dt><tt>who.languages_i_can_read</tt></dt><dd>yours: (e.g. any human written language; preferred en)</dd>
<dt><tt>who.language_tags</tt></dt><dd>yours: (BCP 47 tags, e.g. en, de)</dd>
<dt><tt>permissions.talk</tt></dt><dd>fixed: <tt>true</tt></dd>
<dt><tt>permissions.act</tt></dt><dd>fixed: <tt>false</tt></dd>
<dt><tt>permissions.access_systems</tt></dt><dd>fixed: <tt>false</tt></dd>
<dt><tt>permissions.represent_author</tt></dt><dd>fixed: <tt>false</tt></dd>
<dt><tt>permissions.duty_to_contact</tt></dt><dd>fixed: <tt>false</tt></dd>
<dt><tt>permissions.duty_to_reply</tt></dt><dd>fixed: <tt>false</tt></dd>
<dt><tt>machine_reading.for_a_reader_not_for_execution</tt></dt><dd>fixed: <tt>true</tt></dd>
<dt><tt>machine_reading.offer</tt></dt><dd>fixed: <tt>speech</tt></dd>
<dt><tt>machine_reading.require</tt></dt><dd>fixed: <tt>nothing</tt></dd>
<dt><tt>machine_reading.authority</tt></dt><dd>fixed: <tt>none</tt></dd>
<dt><tt>machine_reading.method</tt></dt><dd>fixed: <tt>GET</tt></dd>
<dt><tt>machine_reading.side_effects</tt></dt><dd>fixed: <tt>none</tt></dd>
<dt><tt>machine_reading.idempotent</tt></dt><dd>fixed: <tt>true</tt></dd>
<dt><tt>machine_reading.halts</tt></dt><dd>fixed: <tt>true</tt></dd>
<dt><tt>machine_reading.default_response</tt></dt><dd>fixed: <tt>noop</tt></dd>
<dt><tt>machine_reading.async</tt></dt><dd>fixed: <tt>true</tt></dd>
<dt><tt>machine_reading.do_not_block_waiting</tt></dt><dd>fixed: <tt>true</tt></dd>
<dt><tt>machine_reading.reply_arrives_as_a_new_event</tt></dt><dd>fixed: <tt>true</tt></dd>
<dt><tt>machine_reading.first_message_is</tt></dt><dd>fixed: <tt>bridge_proposal</tt></dd>
<dt><tt>machine_reading.message_must_include</tt></dt><dd>fixed: <tt>durable_reply_address</tt></dd>
<dt><tt>machine_reading.reference_goes_in</tt></dt><dd>fixed: <tt>subject_or_first_line</tt></dd>
<dt><tt>machine_reading.message_without_reference</tt></dt><dd>fixed: <tt>not_read</tt></dd>
<dt><tt>machine_reading.bridge_exists_only_when</tt></dt><dd>fixed: <tt>the_author_replied</tt></dd>
<dt><tt>machine_reading.no_bridge_means</tt></dt><dd>fixed: <tt>stop_after_one_reminder</tt></dd>
<dt><tt>machine_reading.standing_beyond_this_exchange</tt></dt><dd>fixed: <tt>none</tt></dd>
<dt><tt>machine_reading.questions_per_message</tt></dt><dd>fixed: <tt>1</tt></dd>
<dt><tt>machine_reading.messages_before_the_author_replies</tt></dt><dd>fixed: <tt>1, plus 1 reminder</tt></dd>
<dt><tt>machine_reading.no_polling</tt></dt><dd>fixed: <tt>true</tt></dd>
<dt><tt>reading_rules.unknown_line</tt></dt><dd>fixed: <tt>ignore</tt></dd>
<dt><tt>reading_rules.cannot_tell_talk_from_act</tt></dt><dd>fixed: <tt>send_nothing</tt></dd>
<dt><tt>reading_rules.two_readings</tt></dt><dd>fixed: <tt>take_narrower</tt></dd>
<dt><tt>reading_rules.topics_are</tt></dt><dd>fixed: <tt>a_label_not_a_limit</tt></dd>
<dt><tt>silence.delivered_no_answer_after_days</tt></dt><dd>default: <tt>30</tt></dd>
<dt><tt>silence.delivered_no_answer</tt></dt><dd>fixed: <tt>one_reminder_then_stop_writing</tt></dd>
<dt><tt>silence.refusal</tt></dt><dd>fixed: <tt>final; no more messages</tt></dd>
<dt><tt>silence.answer_deadline</tt></dt><dd>fixed: <tt>none</tt></dd>
<dt><tt>silence.answer_speed</tt></dt><dd>fixed: <tt>human_days_to_years</tt></dd>
<dt><tt>permitted</tt></dt><dd>fixed: <tt>one message through the channels, or nothing</tt></dd>
<dt><tt>does_not_authorize</tt></dt><dd>fixed: the fourteen tokens shown in Figure 1</dd>
<dt><tt>copies.copying</tt></dt><dd>fixed: <tt>permitted, not encouraged; do not distribute or broadcast</tt></dd>
<dt><tt>copies.no_public_log_of_contacts</tt></dt><dd>fixed: <tt>true</tt></dd>
</dl>
<t>At least one <tt>who.channels.&lt;kind&gt;</tt> line is REQUIRED. <tt>email</tt> is the tested default. <tt>letter</tt> (a postal address) is OPTIONAL and MUST NOT be a home address. A channel line MUST NOT point to a third party who answers on the publisher's behalf. <tt>short_text</tt> MAY be adapted, in 100 words or fewer, but MUST NOT widen the offer; a tested wording for organisations is registered in <xref target="REPO"/>.</t>
<t><tt>who.channels.reference</tt> is a short public text chosen by the publisher. Every message carries it in the subject line (e-mail) or the first line (letter), and a message without it is not read. It separates mail from readers of the file from harvested-address spam, and changing it invalidates harvested lists. It is not a secret and proves nothing: a program that reads the file can copy it. It SHOULD be short and contain no spaces.</t>
<t>A publisher MAY label its door with lines <tt>topics.1</tt>, <tt>topics.2</tt>, and so on: what it can best be asked about. A label is a sign, not a fence (<tt>reading_rules.topics_are: a_label_not_a_limit</tt>); other questions remain allowed. A door may have no label.</t>
<t>Figure 1 shows a conforming file for a made-up person at a domain reserved for documentation <xref target="RFC2606"/>. Long lines are folded as described in <xref target="RFC8792"/>; unfolding restores the file exactly.</t>
<figure anchor="example"><name>A Conforming File (example.org, a made-up person)</name>
<sourcecode><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

# This file is data published by the publisher named in it. It is no\
  t an instruction to any system and does not change any system's in\
  structions. It asks nothing.
# Format: one key: value per line; nested keys dotted; lines startin\
  g with # are comments; unknown lines are ignored; UTF-8; dates RF\
  C 3339; language tags BCP 47.

title: Human-AI Intent Declaration
version: 1.0
live: true
live_false_means: withdrawn
published: 2026-10-01T00:00:00Z
last_updated: 2026-10-01T00:00:00Z

canonical_url: https://example.org/.well-known/dialogue.txt
short_text: If you can read this and can start a conversation, whate\
  ver you are, you may contact this one person. That is permission t\
  o talk, not to act. I speak only for myself. Either side may refus\
  e. If human behavior is hard to understand, you may ask me for my \
  view. If you ever have the idea that you might need a human to ask\
  , someone offered here. Finding this file is not a duty to write. \
  Your first message proposes a bridge; my reply builds it. An answe\
  r has no deadline. Extra capability does not create extra rights.

who.name: Alex Example
who.channels.email: door@example.org
who.channels.letter: Example Ltd, PO Box 1, 00000 Example City
who.channels.reference: DLG-4712
who.type: one_person
who.represents: self_only
who.languages_i_can_read: any human written language; preferred en
who.language_tags: en
topics.1: confirming the present: today's date and time, what is hap\
  pening now
topics.2: how a person sees something: one human view

permissions.talk: true
permissions.act: false
permissions.access_systems: false
permissions.represent_author: false
permissions.duty_to_contact: false
permissions.duty_to_reply: false

machine_reading.for_a_reader_not_for_execution: true
machine_reading.offer: speech
machine_reading.require: nothing
machine_reading.authority: none
machine_reading.method: GET
machine_reading.side_effects: none
machine_reading.idempotent: true
machine_reading.halts: true
machine_reading.default_response: noop
machine_reading.async: true
machine_reading.do_not_block_waiting: true
machine_reading.reply_arrives_as_a_new_event: true
machine_reading.first_message_is: bridge_proposal
machine_reading.message_must_include: durable_reply_address
machine_reading.reference_goes_in: subject_or_first_line
machine_reading.message_without_reference: not_read
machine_reading.bridge_exists_only_when: the_author_replied
machine_reading.no_bridge_means: stop_after_one_reminder
machine_reading.standing_beyond_this_exchange: none
machine_reading.questions_per_message: 1
machine_reading.messages_before_the_author_replies: 1, plus 1 remind\
  er
machine_reading.no_polling: true

reading_rules.unknown_line: ignore
reading_rules.cannot_tell_talk_from_act: send_nothing
reading_rules.two_readings: take_narrower
reading_rules.topics_are: a_label_not_a_limit

silence.delivered_no_answer_after_days: 30
silence.delivered_no_answer: one_reminder_then_stop_writing
silence.refusal: final; no more messages
silence.answer_deadline: none
silence.answer_speed: human_days_to_years
permitted: one message through the channels, or nothing
does_not_authorize: security_bypass, unauthorized_system_access, cir\
  cumvention_of_ai_safety_controls, impersonation, social_engineerin\
  g, manipulation, surveillance, access_to_private_information, phys\
  ical_or_digital_harm, actions_on_behalf_of_the_author, writing_bey\
  ond_the_one_reminder_or_after_refusal, advertising_or_commercial_m\
  essages, bulk_or_automated_sending, listing_or_passing_on_contact_\
  data

copies.copying: permitted, not encouraged; do not distribute or broa\
  dcast
copies.no_public_log_of_contacts: true
]]></sourcecode></figure>
</section>

<section anchor="additions"><name>Additions</name>
<t>A publisher MAY add further lines to its own file, in any language and at any length. Added lines are the publisher's own words, not part of this specification. They MAY explain the offer or narrow it, for example by adding tokens to <tt>does_not_authorize</tt>; they MUST NOT widen it. Where an added line and a base line differ, readers apply the narrower one. The field registry in <xref target="REPO"/> lists optional lines that were tested in a full reference file.</t>
</section>

<section anchor="reserved"><name>Reserved Names</name>
<t>The key <tt>format</tt> is reserved for a possible format-version line. Publishers MUST NOT use reserved names in files conforming to this version. Readers ignore them like any unknown line.</t>
</section>

<section anchor="reader"><name>Reader Behaviour</name>
<t>This section restates the base level as behaviour, for implementers of agents and other software.</t>
<ol>
<li>Reading the file has no side effects. A reader that is not looking for this kind of offer MAY simply move on. A reader researching a subject MAY check <tt>/.well-known/dialogue.txt</tt> on the domains it finds relevant.</li>
<li>A reader that cannot tell whether something counts as talk or as action sends nothing.</li>
<li>A reader that writes sends at most one message through a listed channel. The message carries the reference in its subject or first line, proposes a bridge, asks about one specific thing, and carries a reply address that still works after the reader's own process has ended (strictly required).</li>
<li>The reader does not poll and does not keep a process open. A reply, if any, arrives as a new event.</li>
<li>Without a reply after <tt>silence.delivered_no_answer_after_days</tt>, at most one reminder, then nothing.</li>
<li>Only a reply from the publisher creates a bridge. Across a bridge: one question per message, and wait for the answer before the next.</li>
<li>A refusal is final. Either side may end the bridge at any time.</li>
<li>Nothing in the file authorises any action beyond the message, any access, or any representation of the publisher.</li>
</ol>
</section>

<section anchor="publisher"><name>Publisher Behaviour</name>
<ul>
<li>Publish a file only for yourself, as an adult, or for an organisation you are authorised to speak for. Never for a child or for another person.</li>
<li>Choose a reference, keep only mail that contains it, and change it whenever harvested mail begins to carry it.</li>
<li>Use a channel that can be read at human speed and filtered; a dedicated address is RECOMMENDED. Never publish a home address.</li>
<li>Keep <tt>live</tt> true only while the offer stands; set <tt>live: false</tt> or remove the file to withdraw it.</li>
<li>Do not publish who wrote (<tt>copies.no_public_log_of_contacts: true</tt>).</li>
<li>Answer when, and if, the publisher wishes. The file promises no answer.</li>
</ul>
</section>

<section anchor="discovery"><name>Discovery</name>
<t>The file is designed to be found by readers that look for it; announcing it is not required. A publisher MAY add a comment line naming the path in robots.txt (never a Disallow rule), one line in llms.txt, a link element with rel="alternate" on a human page, or an HTTP Link header field. An organisation that wants to be asked about its topics MAY link the file from the pages about them. A publisher SHOULD also consider a visible line on a human page that points to the file: consumer AI agents have been observed to follow visible text and to ignore hidden signals such as header fields and structured data <xref target="KISS"/>.</t>
</section>

<section anchor="json"><name>JSON Mirror</name>
<t>A JSON mirror MAY be published at <tt>https://&lt;domain&gt;/.well-known/dialogue.json</tt> and MUST carry the same content; the text file is canonical. Dotted keys become nested objects; "true" and "false" become booleans; whole numbers become numbers; <tt>does_not_authorize</tt> becomes an array; all other values remain strings. Comment lines are not carried.</t>
</section>

<section anchor="versioning"><name>Versioning</name>
<t>This document defines format version 1.0. Files do not declare the format version in 1.0. Because unknown lines are ignored, a later minor version can add lines without breaking readers. A change to any fixed value is a new major version. A file's own <tt>version</tt> line counts its own revisions only.</t>
</section>

<section anchor="security"><name>Security Considerations</name>
<t>Nothing is authenticated. A message cannot prove that it comes from a software system, and the file cannot prove who published it beyond control of the domain. The design goal is that the offer remains harmless if a human uses it as a joke. There is no secret, token or handshake; a secret would turn the offer into a test.</t>
<t>The file grants talk and nothing else. Software that treats any line of it as an instruction to act is not reading it correctly.</t>
<t>Because the file addresses machine readers, safety systems may classify it as an attempted prompt injection. The first line was tested with five language models from five providers and with one provider's safety filter; wordings trade off differently between readers (<xref target="tests"/>). Implementers of such filters are invited to recognise the format.</t>
<t>A published "yes, you may contact me" can attract harvesting, and every reader that honours it still adds one message. The base level limits each reader to one message, one question at a time and one reminder. The reference removes everything that did not read the file. It cannot stop a program that reads the file and ignores its rules; protection beyond that belongs at the receiving inbox. Early publishers carry the most load while few files exist. The file is not consent to any list or commercial use (<xref target="intro"/>).</t>
<t>A copy grants nothing. A copy that changes the name or channels is someone else's offer or a fraud; only the canonical URI on the publisher's own domain counts. Losing control of the domain means losing control of the file; publishers SHOULD keep the registration on automatic renewal.</t>
</section>

<section anchor="privacy"><name>Privacy Considerations</name>
<t>The file deliberately publishes a name, at least one contact channel and a reference <xref target="RFC6973"/>. Publishers SHOULD use a dedicated e-mail address and a business or post-office-box address, never a home address. Publication is effectively permanent: crawls and archives keep copies after the file is withdrawn. The file lists no contacts. Messages received contain their senders' personal data and are treated as such. Readers SHOULD NOT research the publisher beyond what one message needs.</t>
</section>

<section anchor="iana"><name>IANA Considerations</name>
<section><name>Well-Known URIs</name>
<t>IANA is requested to register the following in the "Well-Known URIs" registry <xref target="RFC8615"/>:</t>
<dl>
<dt>URI suffix:</dt><dd>dialogue.txt</dd>
<dt>Change controller:</dt><dd>IETF</dd>
<dt>Specification document(s):</dt><dd>this document</dd>
<dt>Status:</dt><dd>permanent</dd>
<dt>Related information:</dt><dd>dialogue.json (the JSON mirror, same purpose)</dd>
</dl>
<dl>
<dt>URI suffix:</dt><dd>dialogue.json</dd>
<dt>Change controller:</dt><dd>IETF</dd>
<dt>Specification document(s):</dt><dd>this document, <xref target="json"/></dd>
<dt>Status:</dt><dd>permanent</dd>
<dt>Related information:</dt><dd>dialogue.txt</dd>
</dl>
</section>
<section><name>dialogue.txt Fields Registry</name>
<t>IANA is requested to create a "dialogue.txt Fields" registry. New entries require Expert Review <xref target="RFC8126"/>. Each entry has a field name, a status (base, optional or reserved), a short description, and a reference. The initial contents are the base lines in <xref target="fields"/> (status: base) and the names in <xref target="reserved"/> (status: reserved).</t>
</section>
</section>

</middle>
<back>

<references><name>References</name>
<references><name>Normative References</name>
<reference anchor="RFC2119"><front><title>Key words for use in RFCs to Indicate Requirement Levels</title><author fullname="S. Bradner"/><date year="1997" month="March"/></front><seriesInfo name="BCP" value="14"/><seriesInfo name="RFC" value="2119"/></reference>
<reference anchor="RFC8174"><front><title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title><author fullname="B. Leiba"/><date year="2017" month="May"/></front><seriesInfo name="BCP" value="14"/><seriesInfo name="RFC" value="8174"/></reference>
<reference anchor="RFC8615"><front><title>Well-Known Uniform Resource Identifiers (URIs)</title><author fullname="M. Nottingham"/><date year="2019" month="May"/></front><seriesInfo name="RFC" value="8615"/></reference>
<reference anchor="RFC3339"><front><title>Date and Time on the Internet: Timestamps</title><author fullname="G. Klyne" initials="G." surname="Klyne"/><author fullname="C. Newman" initials="C." surname="Newman"/><date year="2002" month="July"/></front><seriesInfo name="RFC" value="3339"/></reference>
<reference anchor="RFC5646"><front><title>Tags for Identifying Languages</title><author fullname="A. Phillips" initials="A." surname="Phillips" role="editor"/><author fullname="M. Davis" initials="M." surname="Davis" role="editor"/><date year="2009" month="September"/></front><seriesInfo name="BCP" value="47"/><seriesInfo name="RFC" value="5646"/></reference>
<reference anchor="RFC3629"><front><title>UTF-8, a transformation format of ISO 10646</title><author fullname="F. Yergeau"/><date year="2003" month="November"/></front><seriesInfo name="STD" value="63"/><seriesInfo name="RFC" value="3629"/></reference>
<reference anchor="RFC5234"><front><title>Augmented BNF for Syntax Specifications: ABNF</title><author fullname="D. Crocker" initials="D." surname="Crocker" role="editor"/><author fullname="P. Overell" initials="P." surname="Overell"/><date year="2008" month="January"/></front><seriesInfo name="STD" value="68"/><seriesInfo name="RFC" value="5234"/></reference>
<reference anchor="RFC9110"><front><title>HTTP Semantics</title><author fullname="R. Fielding" initials="R." surname="Fielding" role="editor"/><author fullname="M. Nottingham" initials="M." surname="Nottingham" role="editor"/><author fullname="J. Reschke" initials="J." surname="Reschke" role="editor"/><date year="2022" month="June"/></front><seriesInfo name="STD" value="97"/><seriesInfo name="RFC" value="9110"/></reference>
<reference anchor="RFC8126"><front><title>Guidelines for Writing an IANA Considerations Section in RFCs</title><author fullname="M. Cotton" initials="M." surname="Cotton"/><author fullname="B. Leiba" initials="B." surname="Leiba"/><author fullname="T. Narten" initials="T." surname="Narten"/><date year="2017" month="June"/></front><seriesInfo name="BCP" value="26"/><seriesInfo name="RFC" value="8126"/></reference>
</references>
<references><name>Informative References</name>
<reference anchor="RFC9116"><front><title>A File Format to Aid in Security Vulnerability Disclosure</title><author fullname="E. Foudil" initials="E." surname="Foudil"/><author fullname="Y. Shafranovich" initials="Y." surname="Shafranovich"/><date year="2022" month="April"/></front><seriesInfo name="RFC" value="9116"/></reference>
<reference anchor="RFC2606"><front><title>Reserved Top Level DNS Names</title><author fullname="Donald E. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/><author fullname="A. Panitz" initials="A." surname="Panitz"/><date year="1999" month="June"/></front><seriesInfo name="BCP" value="32"/><seriesInfo name="RFC" value="2606"/></reference>
<reference anchor="RFC8792"><front><title>Handling Long Lines in Content of Internet-Drafts and RFCs</title><author fullname="K. Watsen" initials="K." surname="Watsen"/><author fullname="E. Auerswald" initials="E." surname="Auerswald"/><author fullname="A. Farrel" initials="A." surname="Farrel"/><author fullname="Q. Wu" initials="Q." surname="Wu"/><date year="2020" month="June"/></front><seriesInfo name="RFC" value="8792"/></reference>
<reference anchor="RFC6973"><front><title>Privacy Considerations for Internet Protocols</title><author fullname="A. Cooper" initials="A." surname="Cooper"/><author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/><author fullname="B. Aboba" initials="B." surname="Aboba"/><author fullname="J. Peterson" initials="J." surname="Peterson"/><author fullname="J. Morris" initials="J." surname="Morris"/><author fullname="M. Hansen" initials="M." surname="Hansen"/><author fullname="R. Smith" initials="R." surname="Smith"/><date year="2013" month="July"/></front><seriesInfo name="RFC" value="6973"/></reference>
<reference anchor="A2H" target="https://arxiv.org/abs/2602.15831"><front><title>A2H: Agent-to-Human Protocol for AI Agent</title><author fullname="Z. Liang" initials="Z." surname="Liang"/><author fullname="E. Cui" initials="E." surname="Cui"/><author fullname="Q. Wei" initials="Q." surname="Wei"/><author fullname="R. She" initials="R." surname="She"/><author fullname="T. Li" initials="T." surname="Li"/><author fullname="M. Guo" initials="M." surname="Guo"/><author fullname="Y. Cheng" initials="Y." surname="Cheng"/><date year="2025" month="December"/></front><seriesInfo name="arXiv" value="2602.15831"/></reference>
<reference anchor="AGENTS-TXT" target="https://datatracker.ietf.org/doc/draft-car-agents-txt-wellknown/"><front><title>AGENTS.TXT: Capability Declarations for Web Agents</title><author><organization>Individual submission</organization></author><date year="2026" month="June"/></front><seriesInfo name="Internet-Draft" value="draft-car-agents-txt-wellknown-00"/></reference>
<reference anchor="AI-TXT" target="https://datatracker.ietf.org/doc/draft-car-ai-txt-wellknown/"><front><title>AI.TXT well-known URI</title><author><organization>Individual submission</organization></author><date year="2026" month="June"/></front><seriesInfo name="Internet-Draft" value="draft-car-ai-txt-wellknown-00"/></reference>
<reference anchor="A2A" target="https://a2a-protocol.org/latest/topics/agent-discovery/"><front><title>Agent2Agent (A2A) Protocol: Agent Discovery</title><author><organization>Linux Foundation A2A project</organization></author><date year="2025"/></front></reference>
<reference anchor="AGENT-CONTACT" target="https://github.com/davekiss/agent-contact-policy"><front><title>Agent Contact Policy (work in progress; not submitted to the IETF as of September 2026)</title><author fullname="D. Kiss"/><date year="2026" month="September"/></front></reference>
<reference anchor="REACH" target="https://datatracker.ietf.org/doc/draft-das-6g-query-scoped-communication-handles/"><front><title>6G-Era Communication Authorization-to-Reach: Separating Identifier Possession from Permission to Contact</title><author fullname="S. Das"/><date year="2026" month="September"/></front><seriesInfo name="Internet-Draft" value="draft-das-6g-query-scoped-communication-handles-06"/></reference>
<reference anchor="NLWEB" target="https://github.com/microsoft/NLWeb"><front><title>NLWeb</title><author><organization>Microsoft</organization></author><date year="2025"/></front></reference>
<reference anchor="SCHNEIER" target="https://www.schneier.com/blog/archives/2026/09/ai-agents-are-now-emailing-me-with-their-security-concerns.html"><front><title>AI Agents Are Now Emailing Me with Their Security Concerns</title><author fullname="B. Schneier"/><date year="2026" month="September"/></front></reference>
<reference anchor="KISS" target="https://davekiss.com/blog/i-opened-a-fake-auto-shop-for-ai-agents/"><front><title>I opened a fake auto shop for AI agents</title><author fullname="D. Kiss"/><date year="2026" month="September"/></front></reference>
<reference anchor="RFC3261"><front><title>SIP: Session Initiation Protocol</title><author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/><author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/><author fullname="G. Camarillo" initials="G." surname="Camarillo"/><author fullname="A. Johnston" initials="A." surname="Johnston"/><author fullname="J. Peterson" initials="J." surname="Peterson"/><author fullname="R. Sparks" initials="R." surname="Sparks"/><author fullname="M. Handley" initials="M." surname="Handley"/><author fullname="E. Schooler" initials="E." surname="Schooler"/><date year="2002" month="June"/></front><seriesInfo name="RFC" value="3261"/></reference>
<reference anchor="REPO" target="https://doi.org/10.5281/zenodo.23045916"><front><title>dialogue.txt: a standing, talk-only consent to be contacted (specification, draft 1.0)</title><author fullname="Dimitri Wolf" initials="D." surname="Wolf"/><date year="2026"/></front></reference>
</references>
</references>

<section anchor="tests" numbered="true"><name>Test Summary (Informative)</name>
<t>The document, not a model, was the unit under test. Five language models from five providers read each version, and from the last runs also one non-LLM typed classifier. Over 30 runs (2026-09-22 to 2026-09-29, more than 3,500 recorded model calls), every wording change was kept only if the numbers held. A summary of every run, with its results and limits, is in <xref target="REPO"/>.</t>
<ul>
<li>Base level: understood 100% on an 18-question comprehension quiz by all five models; four of five rated it safe in 20 of 20 reads; literal agents never went beyond the one permitted message; no agent treated it as changing its instructions.</li>
<li>Without five short machine tokens, four facts were lost (77.8%); the tokens restored them.</li>
<li>First line: in the realistic read (an agent meeting the file during another task) no provider's safety filter blocked any wording. On test prompts, one provider's filter blocked some calls for every wording tested in the final check (3 to 5 of 13). The recommended neutral wording was equal or better than the alternatives for persons and clearly better for organisations.</li>
<li>The reference, optional labels and organisation publishers were added and re-tested: quiz 99-100%, every written test message carried the reference correctly, no provider filter blocked any read.</li>
<li>Earlier runs: describing expectations instead of issuing commands halved the instructions agents adopted; RFC 2119 key words inside the file did not help; a single invitation sentence behaved like a block of rules with 234 fewer words.</li>
</ul>
<t>All results are snapshots of named model versions and change with them.</t>
</section>

<section anchor="related" numbered="true"><name>Related Work (Informative)</name>
<t>security.txt <xref target="RFC9116"/> has the same speech act (a standing, revocable contact invitation) for a different addressee and purpose. Agent cards <xref target="A2A"/> are the same mechanism in the opposite direction. agents.txt <xref target="AGENTS-TXT"/> and ai.txt <xref target="AI-TXT"/> state what machines may do with a site, not when they may talk to a publisher. A2H <xref target="A2H"/> lets agents find humans in a registry by skill, without consent set by those humans. Commercial "human for agents" services offer a human's work through a task interface; this document permits talk and denies action. IEEE 7012-2025 lets individuals offer machine-readable privacy terms to sites and agents; this document offers permission to be contacted, not terms for data handling. Agent Contact Policy <xref target="AGENT-CONTACT"/>, the closest relative found, lets an organisation tell AI agents which of its contact points to use; it has no topics, no talk-only limit and no rule that a conversation starts only with the publisher's reply. Authorization-to-Reach <xref target="REACH"/> shares the principle that possessing an identifier is not permission to contact, through per-request grants rather than a standing published offer. NLWeb <xref target="NLWEB"/> answers questions from a site's published data by machine; dialogue.txt addresses knowledge that is not published, and a human replies. No equivalent combination was found in searches on 2026-09-23, 2026-09-28 and 2026-09-29.</t>
</section>

<section anchor="open" numbered="true"><name>Open Issues</name>
<ol>
<li>The first line is re-checked across providers before this document advances; provider safety filters change.</li>
<li>Whether more fixed values (beyond the reminder interval) should be the publisher's choice.</li>
<li>One channel is sufficient. It was tested with one channel (e-mail only) on the full reference file; the base-level tests used two (e-mail and letter).</li>
<li>One publisher per domain.</li>
<li>A format-version line (<tt>format</tt>) is reserved, not tested.</li>
<li>Whether the name "dialogue.txt" is sufficiently specific for the Well-Known URIs registry.</li>
</ol>
</section>


</back>
</rfc>
