Unseenet Working Group A. Lorensen
UN-RFC: 0024 October 2026
Category: Standards Track
Status: Draft
Updates: 0023
Usenet Gateways
Abstract¶
This document is the network profile (UN-RFC 0023 section 9) for
Usenet. It says how Usenet group names map to usenet.*, how
articles convert in both directions, which Usenet messages are never
imported, how articles from Unseenet are recognised on their way back,
and what Usenet expects of a gateway. Everything not said here follows
UN-RFC 0023.
1. Overview¶
Usenet is the network Unseenet is modelled on. Both carry articles in
named groups, with RFC 5322-style headers, over NNTP; the conversion is
therefore close, and the differences are in what Unseenet adds
(signatures, content-derived Message-IDs, postage) and leaves out
(Path, crossposting, binaries, unauthenticated cancels).
A Usenet gateway normally runs its own news server (for example INN) on
the gateway host. The news server peers with Usenet, keeps the history,
writes Path, and filters spam; the gateway reads new articles from it
as a newsreader would and posts exported articles to it.
2. Manifest Fields¶
For Usenet, the gateway field of UN-RFC 0023 section 3.2 means:
| Field | Value |
|---|---|
network |
usenet |
source |
The Usenet group name, exactly as on Usenet |
host |
The gateway's Usenet path identity (RFC 5536 section 3.1.5) |
abuse |
An e-mail address for complaints, as in Injection-Info |
3. Names¶
The gatewayed group for the Usenet group N is named usenet. followed
by N in lower case: dk.politik becomes usenet.dk.politik,
comp.lang.python becomes usenet.comp.lang.python.
If the result is not a valid group name (UN-RFC 0004 section 1: characters, or more than 128 octets), the Usenet group MUST NOT be gatewayed. Usenet groups that differ only in case map to the same name; a gateway MUST gateway at most one of them.
4. Import¶
4.1 What Is Never Imported¶
In addition to UN-RFC 0023 section 4.1, a Usenet gateway MUST NOT import:
- control messages: articles with a
Controlheader, or with aSubjectstarting withcmsg, includingnewgroup,rmgroup,checkgroupsandcancel; - articles whose Message-ID ends in
@unseenet>(section 5.2: these came from Unseenet and are already there); - articles containing yEnc or uuencoded data, or MIME parts other than
text/plainthat are not a signature or a short alternative such astext/html.
A gateway SHOULD filter spam at least as strictly as a well-run Usenet text server, for example with Cleanfeed on its news server.
4.2 Conversion¶
| Unseenet header | Value |
|---|---|
From |
The display name of the Usenet From, or its local part if there is none |
Subject |
The Usenet Subject, MIME-decoded |
Origin-Network |
usenet |
Origin-ID |
The Usenet Message-ID, unchanged |
Origin-Date |
The Usenet Date, unchanged |
Origin-From |
The Usenet From, unchanged |
Usenet-Newsgroups |
The Usenet Newsgroups, if it names more than one group |
Usenet-References |
The Usenet References, if any reference could not be mapped |
Usenet-Followup-To |
The Usenet Followup-To, if present |
The other headers are set as in UN-RFC 0023 section 4.2. All other Usenet
headers, including Path, Xref, NNTP-Posting-Host, Injection-Info
and Organization, are dropped.
The body is decoded from its transfer encoding and charset to UTF-8. Of
a MIME multipart article only the first text/plain part is kept.
4.3 References¶
For each Usenet References entry, the gateway puts the mapped Unseenet
Message-ID into References, in the same order. An entry of the form
<id@unseenet> maps to itself (section 5.2). Entries that cannot be
mapped are left out, and the original header is then kept in
Usenet-References.
4.4 Crossposts¶
Unseenet does not allow crossposting (UN-RFC 0002 section 2.1). A Usenet
article posted to several groups is imported once, into the
gatewayed group of the first group in its Newsgroups that this gateway
gateways, and the full list is kept in Usenet-Newsgroups.
4.5 Cancels, Supersedes and No-Archive¶
Usenet cancels are not authenticated. A gateway MAY act on a Usenet
cancel or Supersedes according to its stated policy, for example
only for cancels issued by the server named in the target's
Injection-Info. When it does, it posts an Unseenet cancel for the
imported article (UN-RFC 0023 section 4.5); for Supersedes it then
imports the new article.
X-No-Archive: yes and Archive: no are requests not to archive in the
sense of UN-RFC 0023 section 4.5.
5. Export¶
5.1 Conversion¶
The gateway builds a Usenet article (RFC 5536) from the Unseenet article:
| Usenet header | Value |
|---|---|
Path |
<host>!not-for-mail, where <host> is the manifest's host |
Message-ID |
The Unseenet Message-ID, unchanged: <id@unseenet> |
Newsgroups |
The manifest's source. Never more than one group. |
Date |
The Unseenet Date |
From |
"<From> (<fp4>)" <<fingerprint>@unseenet.invalid>, where <fp4> is the first 4 characters of the author's fingerprint |
Subject |
The Unseenet Subject |
References |
Each entry mapped back: an imported article's Origin-ID, otherwise the Unseenet Message-ID unchanged |
Injection-Info |
<host>; posting-account="<fingerprint>"; mail-complaints-to="<abuse>" (RFC 5536 section 3.2.8) |
Content-Type |
text/plain; charset=utf-8 |
Unseenet-Author-Key |
The author's Author-Key |
No other Unseenet header is exported. In particular Signature,
Proof-Of-Work, Approved-By and Approval are dropped: Usenet readers
cannot verify Unseenet signatures, and Unseenet-Author-Key is
informational only.
The other network has accepted the article (UN-RFC 0023 section 5.2 step
4) when the gateway's news server answers 240 or 235.
5.2 Message-IDs¶
Keeping the Unseenet Message-ID on Usenet means:
- replies on Usenet reference
<id@unseenet>, which import maps to the original without a table (section 4.3); - the copy that comes back through the Usenet feed is not imported (section 4.1 item 2), so there are no loops;
- two gateways that export the same submission produce the same Message-ID, and Usenet's own history drops the second.
5.3 Addresses¶
A .invalid address (RFC 2606) cannot receive mail. Replies by e-mail
are impossible; replies on Usenet reach the author through import.
5.4 Retractions¶
The gateway is the injecting server of every article it exports, and MAY cancel one on Usenet (UN-RFC 0023 section 6.2). A cancel in Unseenet is never turned into a Usenet cancel on its own.
6. The Other Side¶
For Usenet the other side (UN-RFC 0023 section 6.1) is the administrators of the servers the gateway's news server peers with. To Usenet the gateway is the injecting server for every exported article, and servers that inject spam or abuse lose their peers.
- Peering by agreement is RECOMMENDED. Reading a public server as an ordinary user and re-publishing its groups may itself be against its terms.
- Before exporting, the operator MUST tell the peers that the gateway
cannot identify or trace authors, only stop keys, and MUST have a
working
abuseaddress inInjection-Info. - The pseudonymous record of UN-RFC 0023 section 6.2 is what the gateway can offer where a Usenet server would keep a log of who posted what.
7. Timing Signals¶
Usenet has no presence, typing or read signals. The only timing
information is the time of injection, which UN-RFC 0023 section 5.2
blurs, and Date, which is the Unseenet Date rounded to 10 minutes.
8. Headers Defined Here¶
| Header | In | Defined in |
|---|---|---|
Usenet-Newsgroups |
Unseenet | section 4.2 |
Usenet-References |
Unseenet | section 4.2 |
Usenet-Followup-To |
Unseenet | section 4.2 |
Unseenet-Author-Key |
Usenet | section 5.1 |
9. Rationale¶
- Why
usenet.dk.politikand notdk.politik? Unseenet'sdk.*is free and already in use, and the Big 8 names are reserved for communities that want to revive them in Unseenet (UN-RFC 0018 section 9). See also UN-RFC 0023 section 12. - Why keep
<id@unseenet>as the Usenet Message-ID? It makes loop prevention and threading stateless, and lets several gateways export the same article without duplicates. - Why a local news server instead of speaking NNTP to peers directly?
INN and its peers already solve peering, history,
Path, filtering and backlog. The gateway only converts. - Why
.invalidaddresses? Unseenet identities have no mail address, and inventing a deliverable one would invite spam to a domain that cannot handle it. RFC 2606 reserves.invalidfor exactly this, and many Usenet servers already accept it.
10. Security Considerations¶
UN-RFC 0023 section 13 applies. In addition:
- Usenet servers keep text groups for years and many are archived in public. An exported article SHOULD be assumed permanent.
- Usenet cancels and
Supersedesare easily forged; section 4.5 leaves acting on them to the gateway's stated policy.
Copyright Notice¶
Copyright (c) 2026 the persons identified as the document authors.
This document is licensed under CC BY 4.0, see rfc/LICENSE.md.