How this is kept
GxPlex is a dated, independently checkable record of what selected regulatory and standards sources published.
The test a document meets to be tracked is the inclusion rule below; the check against a publisher that needs nothing from this site is under checking a line, also below.
This page answers two questions without sending you anywhere else: can this record be trusted, and how would you check it yourself.
Evidence and interpretation are separate layers; this record publishes the first, and keeps the second on the reader’s side.
The record publishes what official sources published, when, how it relates, and what is forming — and never what should be done about it.
What is tracked
132 regulations, guidance documents and standards from 31 publishers across 10 jurisdictions. Each one is collected on a daily schedule, and not every day yields a reading: its observations page lists each record of it with its day, and with a digest where one was recorded. The series begins 2026-07-28 and has run for 98 days.
For each document this record holds what the publisher's own page said, the day it was read, the address it answered at, and — where the text is public — a digest of that text so a later change can be proved rather than asserted.
8 of the 132 tracked entries declare an address on eur-lex.europa.eu. Their documents were digest-bearing on 30% of the calendar days expected: 225 of 757, summed over the 8, each counted from its own first document day to 2026-11-02. The publisher serves an automated-reader challenge (read 2026-09-28 at the declared address of one of them: HTTP 202, 2,035 bytes, a response header whose value is “challenge”), which this record does not run. The nightly re-read of that host’s robots file and of the terms page its filing classified measured both on 3 of 30 days from 2026-10-04 to 2026-11-02, most recently 2026-10-18, and no read differed from the one before it; on 27 others both were unmeasured (robots address: HTTP 202). Retrieval limit on the entry whose address was read.
What is not tracked, and what is not yet determined
“not yet determined” is a published value here, not a gap. The schema requires a status and this record writes it deliberately rather than guessing. These entries reach it six different ways, and they are not the same claim:
- 0 machine located — none today
- A tool located a passage on the publisher’s surface and proposed no value — the words that locate it are publisher vocabulary this enum does not receive without a reading.
- 2 surface states none machine
- A tool read the surface and it states no status term this publisher’s family declares. The read is recorded with its event; no person has checked it.
- 1 surface states none person
- A person enumerated the publisher’s surfaces and found no status stated. Bounded to the surfaces named.
- 6 withdrawn attestation
- This archive published a value here and took it back, because nothing attested it. The withdrawn value is kept on the entry with its date.
- 40 unmeasured with cause
- The entry’s record carries a written account of why it is unresolved, and the entry meets none of the four classes listed before this one. The account is this record’s own words, not the publisher’s.
- 25 not yet read
- The words this class was published with until 2026-10-10 are withheld: they said no one had looked and no extraction had run, and each member’s own page now states what the status-term rule found for it.
— 74 entries, which is what these six decompose.
Some documents cannot be read in full, and the reason is recorded on each one.
- 23 are published under a licence that does not permit taking the text. The publisher's own catalogue entry is followed instead, so a stage change is still visible; the words are not reproduced.
- 9 exist only as an entry in a list, with no document behind them yet.
- 6 have no public document at all.
- 3 come from sites that refuse automated requests. That refusal is honoured.
- 3 are registers, which record entries rather than carry a status of their own.
A further 44 are not re-checked, and the reason each one records is: 23 paywalled — progression tracked; 9 listing only; 6 not a document; 3 blocks automated requests; 3 register states no status. Ordered by count, then alphabetically.
A document that cannot be read is still listed, with the reason, rather than quietly dropped. An absence you can see is worth more than a tidy list.
Why a status is not yet determined
74 of 132 entries carry no determined status. That is this record’s largest single fact about itself, and every one of them records why:
Why these 74 are not yet determined. Ordered by whose share each names: this record’s own first, then the publisher’s, then the rows whose records name no share at all.
- 0 — this record has not reached them
- 26 — this record promises no person-verification for them
- 48 — the publisher does not say, or will not permit access
- 0 — nothing held names a reason. This is an absence of a reason, not a kind of one
What these reasons are recorded against
Four of the reasons below are recorded against what a publisher
has issued and what it permits, rather than against how far this
record has read: published only within a listing, no public document, the site
refuses automated requests, and a register that carries no status. As recorded,
21 of the
74 entries shown here carry one of the
four in their own recorded reason field; a further
0 of the archive’s
132 entries carry one and are not shown
here.
1 of the 21 also
carries checked_by: human with a check date, and still
reads unknown.
Counted by the classes listed below rather than by the field, the
figure is 18. Three of those
classes take every member from the field. The fourth value shares
a class with a filing label: that class holds
26 entries, 3 carrying
a register reason and
23 carrying record_tier: register and no frozen reason at all. The two populations are
disjoint, and no count here separates them.
The frozen reason paywalled_stage_tracked is in
neither figure: 23 entries carry it, and
10 of those hold a status other
than unknown.
Both figures are read from fields, and each moves when its field moves — after a publisher publishes a document this record has recorded as unpublished, issues one outside the listing that currently carries it, or changes what it serves to an identified client, and whenever the reason itself is re-derived from a later reading.
Every reason below is read from a row’s own recorded field or from an outcome its retrieval ladder recorded — never from this archive’s own prose about the row. No status is inferred: a row with nothing recorded is counted as having no recorded reason.
- not yet requested — 0
- the ladder made no request — this run's budget or a robots policy
- register entry — no confirmation promised — 26
- record_tier: register, or frozen_reason: register_no_status
- text behind a paywall — 13
- frozen_reason: paywalled_stage_tracked
- published only within a listing — 9
- frozen_reason: listing_only
- no public document — 6
- frozen_reason: no_public_document
- access blocked to an identified client — 3
- frozen_reason: access_blocked
- read, and it states no status — 17
- a rung at a publisher-published address fetched the document; no status passage was found
- the address returns not-found — 0
- a rung at a publisher-published address received HTTP 404 or 410
- the request was refused — 0
- a rung at a publisher-published address received HTTP 401, 402 or 403
- no reason recorded — 0
- nothing held names a reason — this is an absence of a reason, not a kind
What the verification marks mean
The board carries a verification column. Each mark is defined here — and it is defined SOMEWHERE, on purpose: the same labels are drawn onto the social cards, which are images and cannot carry a correction. A label that appears only on an uncorrectable image is a claim with no place to be fixed.
These count what this record has done about each entry, not what the document says about itself. The document's own status — draft, final, in force, withdrawn or unknown — is a different axis over the same entries, published per row and in the API.
How the two axes overlap
| verification \ status | unknown | final | in-force | draft | withdrawn | superseded | all |
|---|---|---|---|---|---|---|---|
| verified | 0 | 39 | 11 | 3 | 2 | 0 | 55 |
| frozen | 34 | 0 | 0 | 0 | 0 | 0 | 34 |
| register | 23 | 0 | 2 | 0 | 0 | 0 | 25 |
| unresolved | 16 | 0 | 0 | 0 | 0 | 0 | 16 |
| tool | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| absence | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
| all | 74 | 39 | 13 | 3 | 2 | 1 | 132 |
No cell is marked good, bad or notable. The grid states how the two counts overlap and nothing about whether any cell should be larger or smaller.
What these states mean
- verified (person-ratified)
- checked against the primary source by a person
- tool-read
- read from the source by tooling
- checked — no status stated
- a person checked the publisher's own surfaces and none states a status
- unresolved
- no status recorded, on a row that is re-checked and records no person's search of the source; each row states what its status-term rule found
- not re-checked
- no status recorded; each row states its reason
- a register
- observed daily; no person-verification is promised
Every verification state, including those with no entries today
- verified (person-ratified)
- tool-read
- unresolved
- checked — no status stated
- check unrecorded
- not re-checked
- a register
Nothing here is interpreted
This record reports what a document says and when it changed. It does not say what a document requires of you, whether it applies to your product, or what action it calls for. There is no advice here, no assessment, and no ranking.
That is a deliberate limit, not an unfinished feature. A reported status is checkable against the publisher's own page; an interpretation is not, and a record that published both would make the checkable half harder to trust.
Beneath that limit sits a narrower list: readings available from what this record already holds, and not taken. What this record refuses to infer names each one with the gate that stops a build where it appears and the dated correction filed when this record drew it.
Who keeps it
One person, working alone, with the collection automated and every confirmation stating the act that made it. No organisation stands behind it and no employer is involved.
What survives that does not depend on them: the underlying record is plain text, one object per line, with the digests and the dates in the open. It can be read, checked and rebuilt without this site and without its code.
How the record is produced — who does the work, under what orders, what no model writes, and what only a person does — is set out on How this record is made.
The rules by which the record reads the texts it retains — how a clause is anchored, which defining forms and listed verbs are read, and each threshold — are set out with every version and its first day on Derivation methods.
What this site stores on a device. A value is saved in
the browser’s local storage, under a key beginning
gxplex-, only when one of these controls is used
— the compact-rows control on the board (gxplex-density), the orientation’s dismiss control on the board (gxplex-orientation), the keep control on Developers (gxplex-kept, with the day it was used), and the control that keeps the figures on Developers (gxplex-figures, with the day it was used) — and nothing is stored on a visit that uses none of them; there
are no cookies and no accounts, nothing saved is ever sent anywhere or read
by this site’s servers — every visitor is served identical
bytes — and Forget this device on the
board clears all of it in one tap.
When something here is wrong
The corrections policy. A published claim about a document — its status, a date, a quoted span, a recorded value — is never silently edited: the correction is added with its date and the wording it replaced, and it stays on corrections permanently; corrections to this record’s own machinery, such as a counting rule or a page template, are kept in the repository history instead, because they change nothing this site has said about any document. The exception is a page whose published figures changed what they count, which corrections lists in a table of its own.
Factual claims are never edited silently. A correction is added, dated, and
kept beside what it corrects — 301 correction(s)
recorded so far, counted over every changelog entry whose note opens with
the word “correction”.
Document claims: 143,
each a correction to a claim about a tracked document or about an axis
over all of them, every one listed on corrections.
Site machinery: 158,
every correction not listed as a document claim; of those, 87 are scoped to a
surface this record publishes and are listed on corrections in their own
table, and 71 are
kept in the repository history, 26 of
them scoped to a row this record no longer tracks, whose subject is a
document, and the rest scoped to a collection.
Figures: 7 of
the 113 corrections that state a
class name the class figure, a published number that was
wrong or that named a population other than its label; the other 188 state no class, so
whether they repair a figure is not recorded. This subset crosses the
other two. A record whose past statements can change without trace cannot
be cited, because a reader who quoted it last month has no way to know whether
the quotation still stands.
What gets corrected: any published factual claim — a status, a date, a digest, a count, or a sentence that overstated what the record establishes. How: the original stays, the correction is added beside it with its date and what it changed. Where: corrections lists the document claims and the surface-scoped table; the whole log is kept in the repository history, and Developers prints the command that reads it.
An error can be sent to corrections@gxplex.com. There is no mechanism that would record whether a correction originated outside this record, so no count of that kind is published.
Standing statements
Their changelog entry is dated . The order behind them names a third, on removal and correction, which this page does not carry. As in the lists on Independence, each closes by saying whether code holds it or no gate measures it.
Independence
No financer, sponsor, investor or partner stands behind this record, and no employer is involved in it. The individual who keeps it, described under Who keeps it, is not named on this site.
Policy — no gate measures it.
What silence means
A signed release is one closed month of the record, cut into a directory of its own and signed with the record’s key. No signed release is in this build, and the build serves no readable signing key.
The order this record is kept under, Program 14 item 4.1 of 2026-10-29,
which is not published on this site, names 90 days
without a new signed release as the point at which the last signed
release stands as the frozen record, with its final root and count
published.
No .py file under scripts/ or ops/ counts those days, outside the plants and the regression corpus.
The code that acts on silence is the dead-man in
scripts/succession.py. It counts as a completed night any
run in the record’s daily log, attended or not, that reached its
end with its deploy reported and no hard stop. Invoked once
14 whole record
days have passed with none, it takes the newest signed release that verifies
against the record’s published key and writes a separate mark
over it, signed with the record’s key and reading
“final unless resumed”;
the release itself is not changed, and a silence that continues gets
no second mark. With no such release it writes no
mark, and where the log cannot be read or holds no completed night to
count from, it does not act. A later completed night resumes the
record, and the mark is kept. The mark is
kept in the record’s own state, and no route on this site
serves it.
The nightly does not invoke it.
The verification kit the same order names for every release, a VERIFY.md holding each command and its expected output, is not built. Verify states that no signing key exists yet.
Held in part. The dead-man threshold in scripts/succession.py
holds its 14 days; whether the nightly invokes
it and whether the release cutter names the kit are read from
scripts/daily.py, the Makefile and
scripts/record_release.py when this page is built; the
releases and the key are read as Verify reads them. The order’s
interval is the order’s own;
scripts/plants/b/test_standing_statements.py refuses
this page on the day a .py file under scripts/
or ops/, outside the plants and the regression corpus,
counts it in a form its census reads while the sentence above still
says none does, or names a module its census did not find.
What gets included, in full
Without a stated test a corpus grows by association until the intersection stops being an intersection. This is the test.
A document is tracked if it governs, in a GxP context, one or more of:
- computerised systems — validation, qualification, lifecycle, retirement;
- data integrity, or electronic records and signatures;
- artificial intelligence or machine learning;
- the security of systems holding GxP records.
A document is not tracked merely because it is cited in that context. ICH Q7, Q8, Q10 and Q11 are quality-management documents. Tracked documents reference them constantly; they do not themselves govern computerised systems, and being frequently cited is not the test.
Applying the rule is a judgement, and this record does not claim to be complete against it. The daily run observes the entries it already holds; it does not search for documents it does not have. An entry is added when a person applies the test above and records the reason. So a document that satisfies one of the four limbs may be absent from this record for either of two reasons, and they are not the same: it was considered and excluded, in which case the exclusion is stated, or it has not been considered. An absence here is not evidence that a document does not exist, is not in force, or does not govern.
The most recently added entry began being observed on . That date moves when an entry is added and not otherwise, so a corpus size that has not changed is a record of decisions not taken rather than of a process that stopped.
ICH Q9(R1), Q12, Q13 and Q14 are tracked, because quality risk management, lifecycle change management, continuous manufacturing and analytical procedure lifecycle each bear directly on computerised control and on the data that control produces.
Documents and watch entries
The rule tests documents. The record also carries watch entries — a committee, a work programme, a guidance agenda, a register of authorised devices. These do not govern anything and are not measured against the rule; they are tracked because the documents they will produce fall inside it. Every one is frozen with a stated reason, so the two are never counted as one.
Software as a medical device
In scope. Software as a medical device is governed by the same computerised-system and lifecycle questions as manufacturing software, and in several jurisdictions by the same authority. EU MDR, EU IVDR, the IMDRF SaMD documents and the FDA device guidances are tracked on that basis, and the device-side standards are tracked with them.
Admissions are drawn from EU, US, UK and international publishers. Where a document from another jurisdiction is held, it predates that boundary and is kept rather than removed — dropping it would be a silent edit to what this record has already published.
The licence boundary
The text of a paywalled standard is not taken. Not a sentence, not a normalised digest of the body, not a diff. What is followed instead is the publisher's own catalogue entry, which is public and which states the stage.
This costs the record something real: for those 23 documents a change in the text itself cannot be detected, only a change in what the publisher says about it. That cost is stated rather than worked around.
The five positions this record holds
- The text of a paywalled standard is not taken. The licence is a boundary, not an obstacle to work around.
- A digest records that text changed, not that meaning changed. A typo and a substantive rewrite produce the same signal, and this record does not tell them apart.
- Search matches the words this record published, and nothing else. There is no synonym expansion, and nothing maps one body's vocabulary onto another's.
- Every confirmation states the act that made it. Collection is automated, and a confirmation is shown with the word for the act that made it: derived, model-read or person-ratified. A status read from the source by tooling before those three words were defined is shown as tool-read, and counted under none of them. A later word, publisher-stated, marks a revision candidate confirmed by a change note the publisher itself dated inside the candidate's window, or an entry's status where the publisher's own status field prints a word that spells it; either is read from the publisher's own field.
- It is kept by one person, and what survives that does not depend on them. The format is open and the record outlives its keeper.
Checking a line yourself
Every regulation page carries the address the document was read at and the day it was read. Open the publisher's page and compare it with what is quoted here. That is the whole check, and it needs nothing from this site.
Where the text is public, a digest of it is recorded for each day, taken over the text left after this record's own normalisation rules. Two days whose digests were taken under the same rules and agree saw the same normalised text; two such days whose digests differ did not. A digest also moves when those rules or the thing hashed move, with no publisher acting. A reading taken across a move of the thing hashed has carried a mark saying so since 8 September 2026. A reading taken across a move of the rules carries one only from the first nightly that records the rules beside each reading; earlier readings taken across such a move carry no mark, and some of them were recorded as changes. The digests, dates and addresses are all available as data — see Developers.
What happens to this record if it stops being kept
Stated as intent, not as a guarantee. The record is plain text in an open format, and it is intended to remain readable and rebuildable by anyone who has a copy, without this site and without its code. Nothing about that is contractual, and no arrangement is in place that would compel it.
The board · What changed · Developers
Last updated: