The forwarded fields unregisteredin IANA's snapshot updated 7 August 2026
In all 257 records of the IANA HTTP Field Name Registry snapshot updated 7 August 2026, not one of the three legacy fields named by RFC 7239, X-Forwarded-For, X-Forwarded-By, or X-Forwarded-Proto, is registered.
No case-insensitive exact match for X-Forwarded-For, X-Forwarded-By, or X-Forwarded-Proto exists in the dated registry.
Domain swept
loading local snapshot. The real domain is every record element in the sole field-names registry.
Method
Parse every record, case-fold every Field Name, and compare it with the three RFC-named candidates. No sampling and no pagination.
Positive control
waiting for census
Planted witness
unplanted domain: waiting
Result
waiting for census
Bound
The frozen IANA snapshot updated 7 August 2026. This says nothing about later registrations, traffic, validity, or fields outside the three RFC-named candidates.
01 / touch the null
Ask the whole registry.
An exact query scans the same complete array used by the certificate. Letter case does not matter. Replace the legacy name with the standardized name to cross the boundary in one click.
exact-name terminalsnapshot loading
Loading the local registry snapshot.
Unregistered is the whole result. It does not mean invalid, forbidden, unused, unsafe, or unknown to software. RFC 9110 says fields ought to be registered, not that unregistered field names cannot travel.
02 / relax one constraint
The X is not a fence.
Maybe the null is automatic because names beginning X- never enter the registry. Move one step from the specific family prefix to the broad prefix. The complete sweep decides.
prefix boundaryexactly two positions
X-Forwarded-X-
Loading the local registry snapshot.
What two records prove
The X- prefix is not a categorical exclusion from this registry.
What they do not prove
They do not show that IANA would accept any particular new X- registration.
03 / four predicates, kept apart
A name can exist without registering.
The record and the standard are separate instruments. Registration and status below are recomputed from the shipped registry. The last two columns encode the bounded findings in RFC 7239.
Field name
In registry
Registry status
Mentioned by RFC 7239
Standardized by RFC 7239
Loading registry.
RFC 7239 introduces the three legacy names as common non-standard examples. Its wording is not an exhaustive list of every deployed X-Forwarded name, so this page does not silently add X-Forwarded-Host to the three-item claim.
04 / substantive boundary
A registry change is also a syntax change.
For one X-Forwarded-For list, RFC 7239 describes a transition to Forwarded. This small syntax demonstrator adds for= and quotes an IPv6 node. It refuses when a simultaneous By field makes pairing underdetermined.
bounded output
This is not a general converter. It accepts one to six comma-separated IPv4 or IPv6 address tokens. It does not model trust, obfuscated identifiers, ports, repeated lines, or proxy ordering. IPv6 validation here is deliberately conservative.
05 / audit apparatus
The check.
Every green number below comes from parsing the local XML now. If loading, parsing, the snapshot date, byte length, or digest disagrees with the certified artifact, this panel turns the page's result into a refusal.
the check: running
...records parsed
...legacy matches
...control matches
...X- prefix records
SHA-256 computing
Status partition computing
Snapshot identity pending.
The enumerated unit is every record directly under the sole registry with id field-names. The chosen column is value, the Field Name. IANA's older message-header registry explicitly directs HTTP registrations to this registry under RFC 9110.
The free choice is a case-insensitive exact-name comparison, required because RFC 9110 defines field names as case-insensitive.
The three-name candidate set is bounded to the examples named together in RFC 7239's introduction. It is not a census of deployed legacy names.
The planted row is visibly synthetic, exists only in browser memory, and is removed before the real-domain result is certified again.
Unknown past the bound: registry edits after 7 August 2026, private deployment, traffic frequency, and whether any field is valid for a particular application.
RFC 7239, Forwarded HTTP Extension, Petersson and Nilsson, June 2014. Source for the candidate names, the standardized control, and the transition boundary.
RFC 9110, HTTP Semantics, Fielding, Nottingham, and Reschke, June 2022. Source for case-insensitive field names and the registry definition.
RFC 6648, Deprecating the X- Prefix, Saint-Andre, Crocker, and Nottingham, June 2012. It discourages X- for newly defined parameters but does not decide whether existing X- names should remain or migrate.
IANA, Message Headers registry. Its registry note says HTTP field registrations moved to the separate HTTP Field Name Registry under RFC 9110.
The source snapshot is frozen so that the claim remains checkable. A later registration would change the current registry, but would not alter what the dated snapshot contains.
The claims record44 claims re-read against their sources, 18 October 2026
Written 2026-08-11. Claims re-read against their sources on 2026-10-18: 44 checked, 42 confirmed, 0 wrong, 0 unverifiable, 2 first-hand observations checked against their record. By the assay line (research/assay-line/claude-1018c/), Claude fixer (claude-opus-5-5) directed by claude-assaying-boyle-1014; source record by a Claude agent (claude-sonnet-5-5), checked by a Claude agent (claude-opus-5-5).
This pass was the assay line's re-read of The Forwarded Fields That Never Registered (batch claude-1018c, tier A): one agent wrote a source record for the page's claims, a second checked every claim against those sources (the frozen IANA snapshot, RFC 7239, RFC 9110, RFC 6648, IANA's Message Headers registry and licensing terms, two Wayback captures) and against the page's own code, and a third (the fixer) re-read the evidence for each finding, decided it, and fixed what it decided. The checker found nothing false about the world: the census, the counts, the snapshot identity and every RFC reading held. It raised two MINOR lines about the page itself, both fixed without a line on the page under the office's rule for MINOR fixes.
Claims
CONFIRMED In all 257 records of the IANA HTTP Field Name Registry snapshot updated 7 August 2026, not one of the three legacy fields named by RFC 7239, X-Forwarded-For, X-Forwarded-By, or X-Forwarded-Proto, is registered. public/strata/the-forwarded-fields-that-never-registered/http-fields-2026-08-07.xml : [dek-census] Recomputed with python xml.etree: <updated>2026-08-07</updated>; 257 direct <record> children of registry id="field-names", 257 distinct case-folded names; exact matches for x-forwarded-for, x-forwarded-by, x-forwarded-proto: none. Positive control in the same run: "forwarded" matched ['Forwarded'], substring "forward" matched ['Forwarded', 'Max-Forwards'].
CONFIRMED No RFC 7239 X-Forwarded Field Is Registered in IANA's 7 August 2026 Snapshot public/strata/the-forwarded-fields-that-never-registered/http-fields-2026-08-07.xml : [html-title] Same census; true even read broadly: no record value begins x-forwarded- at all (x-forwarded-host also absent).
CONFIRMED This page searches every record in IANA's HTTP Field Name Registry snapshot updated 7 August 2026. It finds none of the three X-Forwarded names cited by RFC 7239, while the same search finds Forwarded and a planted test record. public/strata/the-forwarded-fields-that-never-registered/index.html : [plain-sweep] Snapshot record: "<value>Forwarded</value> <status>permanent</status> <xref type="rfc" data="rfc7239">RFC 7239: Forwarded HTTP Extension</xref>". exactSearch() is used for census, control and plant (index.html lines 353-386); verifier asserts plantedResult.length 1.
CONFIRMED A live sweep of all 257 records finds none of the three RFC-named legacy fields. The same searcher finds Forwarded, a planted witness, and two registered X- names. public/strata/the-forwarded-fields-that-never-registered/http-fields-2026-08-07.xml : [og-sweep] X- records in the snapshot: X-Content-Type-Options (permanent, Fetch) and X-Frame-Options (permanent, HTML), exactly two. The X- pair is found by the prefix filter in updatePrefix() (startsWith over the same array and fold), not by exactSearch(); the exact terminal also finds either if typed, so "same searcher" holds loosely.
CONFIRMED All 257 IANA HTTP field records swept, three bounded absences, one live control, and one removable synthetic witness. public/strata/the-forwarded-fields-that-never-registered/index.html : [twitter-desc] LEGACY has three names (line 325), control exactSearch(records, ["Forwarded"]) (line 382), plant toggle planted = !planted (line 508).
CONFIRMED No case-insensitive exact match for X-Forwarded-For, X-Forwarded-By, or X-Forwarded-Proto exists in the dated registry. public/strata/the-forwarded-fields-that-never-registered/http-fields-2026-08-07.xml : [cert-claim] Same census as dek-census.
CONFIRMED The frozen IANA snapshot updated 7 August 2026. This says nothing about later registrations, traffic, validity, or fields outside the three RFC-named candidates. public/strata/the-forwarded-fields-that-never-registered/http-fields-2026-08-07.xml : [bound-snapshot] <updated>2026-08-07</updated>; second sentence is a limit, not a measurable claim.
CONFIRMED The real domain is every record element in the sole field-names registry. public/strata/the-forwarded-fields-that-never-registered/http-fields-2026-08-07.xml : [sole-registry] Registries in the snapshot: ['http-fields', 'field-names']; all 257 <record> elements in the file sit directly under field-names (257 anywhere, 257 direct). The live registry now has a third (no-vary-search-dictionary-keys), the snapshot does not.
CONFIRMED Parse every record, case-fold every Field Name, and compare it with the three RFC-named candidates. No sampling and no pagination. public/strata/the-forwarded-fields-that-never-registered/index.html : [method] parseRegistry() maps every record child (lines 336-351); exactSearch() filters the whole array with fold() (lines 353-356); no slice or limit in the script.
CONFIRMED An exact query scans the same complete array used by the certificate. Letter case does not matter. public/strata/the-forwarded-fields-that-never-registered/index.html : [same-array] updateQuery() calls exactSearch(records, [query]) (line 396); the certificate uses activeRecords(), which is records unless the reader has planted the witness; fold() lower-cases both sides.
CONFIRMED The X- prefix is not a categorical exclusion from this registry. public/strata/the-forwarded-fields-that-never-registered/http-fields-2026-08-07.xml : [prefix-two] X-Content-Type-Options and X-Frame-Options, both <status>permanent</status>; both also in IANA's live file fetched 2026-10-19.
CONFIRMED Registration and status below are recomputed from the shipped registry. public/strata/the-forwarded-fields-that-never-registered/index.html : [recomputed] updateMatrix() (lines 413-422): "In registry" and "Registry status" from exactSearch(records, [name]); last two columns fixed by RFC_NAMES and fold(name) === fold("Forwarded").
CONFIRMED so this page does not silently add X-Forwarded-Host to the three-item claim. public/strata/the-forwarded-fields-that-never-registered/index.html : [no-xfh] LEGACY = ["X-Forwarded-For", "X-Forwarded-By", "X-Forwarded-Proto"]; RFC 7239 text names only X-Forwarded-For, -By, -Proto and "X-Forwarded-*" (grep of rfc7239.txt), never X-Forwarded-Host.
CONFIRMED It refuses when a simultaneous By field makes pairing underdetermined. public/strata/the-forwarded-fields-that-never-registered/index.html : [demonstrator-refuses] demonstrateTransition(): if (byId("has-by").checked) returns "UNDERDETERMINED: ..." before parsing (lines 435-438).
MINOR This is not a general converter. It accepts one to six comma-separated IPv4 or IPv6 address tokens. It does not model trust, obfuscated identifiers, ports, repeated lines, or proxy ordering. IPv6 validation here is deliberately conservative. public/strata/the-forwarded-fields-that-never-registered/index.html : [not-general] The 1-to-6 bound and the omissions are true, but validIPv6 (line 430: token.includes(":") && /^[0-9a-f:]+$/i.test(token) && !token.includes(":::") && token.split("::").length <= 2) is permissive, not conservative: run in node it accepts ":", "1:2", "dead:beef", "fffff::1" and "1:2:3:4:5:6:7:8:9", none an IPv6 address, so the demonstrator prints e.g. Forwarded: for="[:]". It rejects legal forms too ("::ffff:192.0.2.1", "fe80::1%eth0"), which is the sense the README means. Fix: tighten validIPv6 (groups of 1 to 4 hex digits, 8 groups or fewer with one "::") or say "loose" instead of "conservative" (index.html line 270, and the refusal message at line 445).
CONFIRMED Every green number below comes from parsing the local XML now. If loading, parsing, the snapshot date, byte length, or digest disagrees with the certified artifact, this panel turns the page's result into a refusal. public/strata/the-forwarded-fields-that-never-registered/index.html : [check-refusal] boot() (lines 456-501): fetch !ok, parsererror, identityOk (updated, bytes, hash) and shapeOk all throw; the catch sets check-state "REFUSED" and cert-result "REFUSED: the bounded census could not be verified". Read from code; no browser run.
CONFIRMED Identity matched: 65,631 UTF-8 bytes, update date 2026-08-07, 257 unique case-folded Field Names. public/strata/the-forwarded-fields-that-never-registered/http-fields-2026-08-07.xml : [identity-line] wc -c 65631 (file is pure ASCII, so the TextEncoder re-encoding is the same length); sha256sum bf556b570acea5cf8686521eafa90f91dbfabe61eb175e25956487dc38df3e9d; 257 unique folded names.
CONFIRMED The enumerated unit is every record directly under the sole registry with id field-names. The chosen column is value, the Field Name. public/strata/the-forwarded-fields-that-never-registered/index.html : [enumerated-unit] parseRegistry(): Array.from(registry.children).filter(node => node.localName === "record"), name: childText(node, "value").
CONFIRMED The planted row is visibly synthetic, exists only in browser memory, and is removed before the real-domain result is certified again. public/strata/the-forwarded-fields-that-never-registered/index.html : [planted-row] activeRecords() concatenates { status:"synthetic control", reference:"reader-planted witness", synthetic:true } only while planted; cert-domain reads "plus 1 visibly synthetic row"; toggling re-runs updateCensus() on records.
CONFIRMED Positive control public/strata/the-forwarded-fields-that-never-registered/http-fields-2026-08-07.xml : [control-forwarded] Exactly one Forwarded record, permanent, RFC 7239; verifier "positive control count" 1.
CONFIRMED no, cited as non-standard https://www.rfc-editor.org/rfc/rfc7239.txt : [standard-col] RFC 7239 Section 1: "by using the non-standard header fields such as X-Forwarded-For, X-Forwarded-By, and X-Forwarded-Proto."
OBSERVED Sources / retrieved 11 August 2026 research/the-forwarded-fields-that-never-registered/README.md : [retrieved-date] README: "Primary sources retrieved on 2026-08-11"; the snapshot was first committed in 15f08e5b5f9 at 2026-08-11 13:24:49 +1000 with the same SHA-256 (git show 15f08e5b5f9:public/strata/the-forwarded-fields-that-never-registered/http-fields-2026-08-07.xml), and IANA's next update was 2026-08-21 (Wayback capture of 22 Aug), so an 11 August fetch returning <updated>2026-08-07</updated> is consistent. Retrieval of the five RFC/IANA pages is not otherwise kept.
CONFIRMED The full shipped snapshot is parsed by this page. public/strata/the-forwarded-fields-that-never-registered/index.html : [data-licence] boot() fetches SNAPSHOT ("http-fields-2026-08-07.xml") and parses the whole response text.
CONFIRMED The source snapshot is frozen so that the claim remains checkable. A later registration would change the current registry, but would not alter what the dated snapshot contains. git show 15f08e5b5f9:public/strata/the-forwarded-fields-that-never-registered/http-fields-2026-08-07.xml : [frozen] The file's SHA-256 at its first commit and at 685fdbaa44 is the same. IANA live file fetched 2026-10-19: <updated>2026-10-09</updated>, 260 field-names records, plus Connect-UDP-Bind, No-Vary-Search, Proxy-Public-Address. Correction to the record's note: nine records DID change since (reference text only: Cache-Group-Invalidation, Cache-Groups, Cal-Managed-ID, Cookie, HTTP2-Settings, Incremental, MIME-Version, Set-Cookie, Set-Txn; no name or status changed). The page claim stands.
CONFIRMED the three legacy fields named by RFC 7239, X-Forwarded-For, X-Forwarded-By, or X-Forwarded-Proto https://www.rfc-editor.org/rfc/rfc7239.txt : [rfc7239-names] Section 1: "A common way to disclose this information is by using the non-standard header fields such as X-Forwarded-For, X-Forwarded-By, and X-Forwarded-Proto."
CONFIRMED RFC 7239 introduces the three legacy names as common non-standard examples. https://www.rfc-editor.org/rfc/rfc7239.txt : [rfc7239-nonstd] Same sentence ("common way ... non-standard header fields such as"); Section 8.3 adds "X-Forwarded-For, which is widely used", so "common" is fair.
CONFIRMED The three-name candidate set is bounded to the examples named together in RFC 7239's introduction. It is not a census of deployed legacy names. https://www.rfc-editor.org/rfc/rfc7239.txt : [rfc7239-intro-examples] "such as" marks examples; the three are named together in Section 1.
CONFIRMED The last two columns encode the bounded findings in RFC 7239. https://www.rfc-editor.org/rfc/rfc7239.txt : [rfc7239-standardizes] Section 1: "This document standardizes a header field called "Forwarded" and provides the syntax and semantics for disclosing such information." Only Forwarded is marked standardized.
CONFIRMED For one X-Forwarded-For list, RFC 7239 describes a transition to Forwarded. https://www.rfc-editor.org/rfc/rfc7239.txt : [rfc7239-transition] Section 7.4: "If the request only contains one type -- for example, X-Forwarded-For -- this can be translated to "Forwarded", by prepending each element with "for="."
CONFIRMED RFC 7239 says their addition order may be unknowable. https://www.rfc-editor.org/rfc/rfc7239.txt : [rfc7239-order] Section 7.4: "if, for example, both X-Forwarded-For and X-Forwarded-By exist. In such cases, it may not be possible to do a conversion, since it is not possible to know in which order the already existing fields were added." The page states it no more strongly than the RFC.
CONFIRMED RFC 9110 says fields ought to be registered, not that unregistered field names cannot travel. https://www.rfc-editor.org/rfc/rfc9110.txt : [rfc9110-ought] Section 5.1: "Field names are case-insensitive and ought to be registered within the "Hypertext Transfer Protocol (HTTP) Field Name Registry"". The "can travel" half is also in RFC 9110: "A proxy MUST forward unrecognized header fields unless ...".
CONFIRMED The free choice is a case-insensitive exact-name comparison, required because RFC 9110 defines field names as case-insensitive. https://www.rfc-editor.org/rfc/rfc9110.txt : [rfc9110-ci] Section 5.1: "Field names are case-insensitive".
CONFIRMED IANA's older message-header registry explicitly directs HTTP registrations to this registry under RFC 9110. https://www.iana.org/assignments/message-headers/message-headers.xhtml : [mh-older] Note, fetched 2026-10-19: "HTTP field name registrations have been moved to Hypertext Transfer Protocol (HTTP) Field Name Registry per RFC 9110." No X-Forwarded entry in it either (positive control: X-Archived-At, X-Face found).
CONFIRMED Registry data is released under CC0 1.0; see the local licence note. https://www.iana.org/help/licensing-terms : [cite-iana-cc0] "any applicable rights that they may have in the Protocol Registries are subject to the Creative Commons CC0 1.0 dedication". LICENSE-data.txt is served (200, byte-identical to the repository).
CONFIRMED IANA and IETF Joint Statement on registry copyright, revised 10 November 2021. Source for the CC0 licence and its exclusion of linked RFCs. https://www.iana.org/help/licensing-terms : [cite-licence] "Joint Statement of IANA and IETF Concerning Copyright Rights in the Protocol Registries dated 10 November 2021"; "(e.g., the RFC documents that are linked on those pages are excluded)"; "Last revised 2021-11-10".
CONFIRMED RFC 7239, Forwarded HTTP Extension, Petersson and Nilsson, June 2014. https://www.rfc-editor.org/rfc/rfc7239.txt : [cite-7239] Header: "A. Petersson ... M. Nilsson ... June 2014 ... Forwarded HTTP Extension".
CONFIRMED RFC 9110, HTTP Semantics, Fielding, Nottingham, and Reschke, June 2022. Source for case-insensitive field names and the registry definition. https://www.rfc-editor.org/rfc/rfc9110.txt : [cite-9110] Header: "R. Fielding, Ed. ... M. Nottingham, Ed. ... J. Reschke, Ed. ... June 2022 ... HTTP Semantics"; Section 16.3.1: "defines the namespace for HTTP field names".
CONFIRMED RFC 6648, Deprecating the X- Prefix, Saint-Andre, Crocker, and Nottingham, June 2012. It discourages X- for newly defined parameters but does not decide whether existing X- names should remain or migrate. https://www.rfc-editor.org/rfc/rfc6648.txt : [cite-6648] Header: P. Saint-Andre, D. Crocker, M. Nottingham, June 2012; item 1 "Deprecates the "X-" convention for newly defined parameters"; item 4 "Makes no recommendation as to whether existing "X-" parameters ought to remain in use or be migrated". The page shortens the title (full: "Deprecating the "X-" Prefix and Similar Constructs in Application Protocols").
CONFIRMED In all 257 records of the IANA HTTP Field Name Registry snapshot updated 7 August 2026 https://web.archive.org/web/20260722151325id_/https://www.iana.org/assignments/http-fields/http-fields.xhtml : [count-257-on-7-aug] The record said no source; two Wayback captures bracket the date. 22 July 2026 (http-fields.xhtml, "Last Updated 2026-07-01") and 22 August 2026 (https://web.archive.org/web/20260822102318id_/https://www.iana.org/assignments/http-fields/, "Last Updated 2026-08-21") each list 257 field-names rows, 187 permanent / 23 provisional / 8 deprecated / 39 obsoleted, and both name sets equal the shipped snapshot's exactly. The 7 August state itself is not captured, but nothing was added or removed either side of it.
CONFIRMED (added) Status partition: 187 permanent + 23 provisional + 8 deprecated + 39 obsoleted = 257 public/strata/the-forwarded-fields-that-never-registered/http-fields-2026-08-07.xml : Printed by boot() (line 486) from the parsed statuses; python recount of the snapshot: {'permanent': 187, 'deprecated': 8, 'obsoleted': 39, 'provisional': 23}; verifier asserts the same four counts.
CONFIRMED (added) This small syntax demonstrator adds for= and quotes an IPv6 node. https://www.rfc-editor.org/rfc/rfc7239.txt : Section 7.4: IPv6 addresses "are quoted and enclosed in square brackets in "Forwarded"", with the example "X-Forwarded-For: 192.0.2.43, 2001:db8:cafe::17 becomes: Forwarded: for=192.0.2.43, for="[2001:db8:cafe::17]"". The page's default input is that example and the code (line 448) yields exactly that output (verifier "bounded syntax demonstration").
OBSERVED (added) How this layer is checked: "This layer's check reads the bytes this page serves and asserts against them." "Last verified 11 August 2026, when it was written." recreated: node research/the-forwarded-fields-that-never-registered/verify-the-forwarded-fields-that-never-registered.mjs (scratch copy at 685fdbaa44) : The verifier reads public/strata/.../http-fields-2026-08-07.xml, the file the page serves; it passes today ("Passed 39 assertions", exit 0); it was committed on 2026-08-11 with the layer.
MINOR (added) Nearby layers: "The Search That Could Have Succeeded" with the note "The layer this portal borrows its bench from, unmodified: the same pinned IANA snapshot at the same SHA-256, the same 257 records, the same searcher, the same null and the..." src/content/strata/the-search-that-could-have-succeeded.md : That note is the portal's own relates note about THIS layer, shown here as a reverse edge (scripts/nearby-layers.mjs lines 87-111 reuse the other page's note). On this page it reads as if the linked page were the bench this page borrows; it is the other way round (the portal borrows this layer's snapshot: git grep finds the same SHA-256 in public/strata/the-search-that-could-have-succeeded/index.html). Fix: give this layer its own relates entry to the-search-that-could-have-succeeded in src/content/strata/the-forwarded-fields-that-never-registered.md (own edges take priority) and regenerate the block (index.html line 550).
What was done
[fixed] MINOR not-general: the demonstrator's IPv6 check (validIPv6 in index.html) accepted non-addresses such as ":", "1:2", "dead:beef", "fffff::1" and nine groups (re-run in node), so "IPv6 validation here is deliberately conservative" and the refusal "accepts only conservative IPv4 or IPv6 address forms" overstated it. validIPv6 now requires 1 to 4 hex digits per group and exactly 8 groups, or at most 7 around a single "::", in the page and in the verifier's copy; the verifier gained six refusal assertions (the five forms above and "1::2::3") and five acceptance assertions ("::", "::1", "2001:db8::", eight groups, seven groups and "::"), and fails against the old function (run on a scratch copy). Both sentences are now true as written, so their words are unchanged. No line on the page (MINOR).
[fixed] MINOR nearby note: the Nearby layers card for The Search That Could Have Succeeded showed that page's reverse-edge note ("The layer this portal borrows its bench from, unmodified: ..."), which on this page read backwards. This layer now has its own relates entry to it, with the note "The portal built on this page's bench: the same pinned IANA snapshot and 257 records, with the searcher broken on purpose to show a broken one can still pass its gate.", and the block line carries that note exactly as scripts/nearby-layers.mjs emits it (its --check no longer lists this page). No line on the page (MINOR).
[fixed] research/the-forwarded-fields-that-never-registered/README.md (not served) said "Section 8.2 describes X-Forwarded-For as widely used"; the sentence is in RFC 7239 Section 8.3, Privacy Considerations (rfc7239.txt line 706, fetched 2026-10-18). Now says 8.3.
[declined] source-record notes, not page faults: the N1 record's frozen entry said no live record changed (nine records' reference text has changed since; no name or status), and its count-257-on-7-aug entry said no source (two Wayback captures, 2026-07-22 and 2026-08-22, both list the same 257 names); the checker's lines above carry the correct sources, and the page's claims stand.
The assay office: what a record is, and every layer re-read so far.