Methodology: how every page is built

This page explains how Label Ledger turns agency records into pages, which records get a page of their own, how identifiers are extracted, what is quoted exactly, and what an AI model does and does not do. When something on a page is missing, it is because the agency record does not state it, never because it was removed.

Records and cases

A record is one row in an agency database: one recall notice, one product, one lot. Acase is the group of records a person experiences as one event: one recall and its expansions, one product line recalled more than once, one multi-company outbreak. Agencies publish records; Label Ledger publishes cases. A single event that produced forty records appears as one page with a forty-row identifier table, not forty pages.

Records are grouped by rules applied in order:

  1. Agency event. Records the agency itself links (for example, an FSIS recall number and its expansions) form one case.
  2. Supplier cascade. Recalls by two or more companies within 30 days that cite the same ingredient and the same pathogen or allergen, or the same supplier, are linked under one cascade page.
  3. Product line. Separate recalls by the same company of the same product family are linked under one product-line page.
  4. Brand, category, hazard and week. Every record is also listed on its company's page, its category and hazard pages, and the weekly page for the week it was announced. These pages list and link; they do not repeat the full case.

Company names are matched with a reviewed alias table. Different spellings of a company's name are merged only after a person confirms the merge: an unmerged duplicate can understate a company, but a wrong merge would attribute one company's recalls to another, which is worse.

Which cases get their own page

A case gets its own indexable page only when the data makes it worth one. The test uses identifiers and facts, not word count. A case qualifies when any of the following holds:

A record that does not qualify still appears in full as a section of its company's page, and as a row on its category, hazard and weekly pages. If it later gains a related record, it is promoted to its own page.

Identifiers

Identifiers (UPCs, lot codes, best-by dates, model numbers, USDA establishment numbers) are taken from the agency record in three ways: from structured agency fields (for example the UPC list in a CPSC record); from agency text that labels them ("model number TL1302Z"); and, for UPCs only, from 12- or 13-digit numbers in agency text whose check digit is valid. USDA establishment numbers are read from the "EST." mark. Every identifier shown appears word for word in the agency record, and every row in an identifier table links to the agency record it came from.

What is quoted exactly

The agency's remedy text, hazard statement, incident text and all health information are reproduced exactly as the agency issued them, and are marked as quotations with the notice and date they come from. They are never paraphrased, shortened or added to. Where an agency notice does not include a remedy statement, the page says so and links to the notice.

Label Ledger passes on information; it has no opinion of its own. Pages state nothing about a product, firm, hazard or remedy beyond what the agency record states, and give no advice. Label Ledger's own text is limited to headings and field labels, the timeline and change log, cross-references (brand, product line, week), and links to the agency.

Some things are deliberately not inferred from free text. For example, numbers of injuries and deaths are shown only as the agency states them, in its own words, rather than as counts derived by software.

What software does and does not do

Software sorts agency records into cases, reads identifiers from agency text, and checks that every quotation is identical to the agency's. It writes no text about a recall: there are no generated summaries, plain-language rewrites or answers to questions. Every page is read by a person before it is published.

Updates and corrections

Sources are pulled daily. When an agency expands, updates or closes a recall, the affected sections are rebuilt and the change is noted in the page's change log with its date. Each page states when its data was last pulled. Material corrections to Label Ledger's own text are listed on the corrections page. Report an error to corrections@labelledger.org; reports are acted on within48 hours.

Known limits

Agency records are sometimes incomplete or inconsistent, and some agency datasets are not updated after a recall is classified. FSIS publishes only the year a recall closed, not the date. Identifier extraction can miss a value. For all of these reasons, every page links to the agency record, and absence from Label Ledger is never evidence that a product has not been recalled. See thesources page for every feed and its last pull.