How we verify data
Each fact on this site is a row in a database with two mandatory fields: the URL of the source it came from, and the date it was last checked against that source.
The database rejects a row that lacks either field. That is a constraint, not a convention, so a fact cannot slip in through a shortcut. Where a source cannot be found, the field stays empty and the question is recorded as open.
Dates are shown next to the numbers they belong to, not once at the bottom of the page. Entry rules and fares change, and a stale figure presented as current is the failure mode we care most about avoiding.
Official government sources take precedence. Where only secondary reporting exists, the row is marked as not official, and the wording says what is uncertain.
How a source was read matters as much as which source it was. Most Vietnamese acts are published as signed scans, so they are converted to images and read page by page. Article and clause numbers are recorded next to each figure, and they are what the source link points at.
One portal needed extra care. The e-visa portal serves an incomplete certificate chain, so the missing intermediate was fetched from the address published inside the certificate itself and the chain was verified to a root already trusted by the system. Verification was completed, not switched off, and no request was disguised to get around a block.
Two sources needed more than a plain request. The road administration site also serves an incomplete certificate chain, handled the same way as the e-visa portal. The 134-page circular on driving permits is a scan with no text layer, so the top strip of every page was assembled into sheets to locate the articles before the relevant pages were read in full. The register names which technique applied to which source.
Absence is recorded with the same discipline as a fact. When a first-party source cannot be reached we keep the error the request returned, and when a source was read and did not carry the fact we keep a note of what we read, so the two are never confused. Every one of those checks is listed with its date in the register of source checks. See the register.