SOP-05 — Matching method and person-level rows

Owner: Owner-operator (Document Owner and Records Owner for every SOP; no delegate exists). Version 2026-10-08 · effective 2026-10-04 · reviewed every 90 days · last reviewed 2026-10-08 · next review due 2027-01-06.

Purpose

State on every line how the match was made, and keep the platform entity-focused.

Scope

All checks; public, partner and prebuilt receipts.

Procedure

  1. Official keys (UEI, NPI, EIN, CCN, CIK, LEI, CAGE) are exact matches and are labelled as such.
  2. A bare name matches only the exact printed name or alias as the file prints it (case/whitespace-normalised). Such rows are labelled candidates; the receipt says the identity question is the reader's.
  3. No fuzzy, phonetic or probabilistic matching is presented as a match. Where a source offers a 'like' search, its results are listed as candidates with that label.
  4. Person-level rows: no person search, index or profile exists. Agency-printed individual rows appear only under the exact queried name and are shown as same-printed-name rows, not as the subject. The UN list's individuals section is shown, not counted; NRC's individuals collection is not read.
  5. Parent-as-registered rows use only the hierarchy the registrant itself filed in SAM; they are labelled self-reported and are not a FOCI, affiliation or control finding.
  6. Similar printed names: after the exact-key and exact-printed-name reads, held-list entity rows whose name equals the queried name under the published normalisation (/api/public-record/similar-names/method) are listed as 'shown, not counted'. The normalisation is fixed and deterministic; no probability, similarity score or token overlap is computed or printed; individuals are never indexed; no row is counted, matched or merged on this account.

Records this procedure produces — and who keeps them current

RecordWhereUpdated byUpdate triggerRetentionPublic
Match method per linereceipt body (each check's match_method)systemevery receiptindefiniteTrue

Evidence

/trust · /api/spec/receipt/v1

Change log

DateChange
2026-10-06Written as SOP.
2026-10-07Evidence link corrected: /api/receipts/spec (404) → /api/spec/receipt/v1.
2026-10-08Owner reviewed an entity-resolution memo (Fellegi–Sunter, Splink). Probabilistic linkage declined: a match probability printed beside a name is a score. Adopted the deterministic alternative: 'rows under a similar printed name — shown, not counted' (backend/namewiden.py; /api/public-record/similar-names, /method publishes the full normalisation). A row is similar only when its name equals the queried name after a fixed normalisation (upper-case, &→AND, punctuation dropped, standard abbreviations expanded, trailing corporate suffixes removed, leading THE dropped). Entities only; individuals never indexed. Nothing is counted, matched or merged on its account; the block sits in the receipt's identity section and on the print page.

Quality Manual · All SOPs · Records Register