Skip to content
/ Methodology

How resolution works.

59.6M+ entities from 27 sources become one cited graph through four stages — ingest, resolve, score, publish. Here's the pipeline, the life of a single record, and the hard rules we hold to.

An armillary sphere of ownership ringsMany records, one identity
/01The pipelineINGEST · RESOLVE · SCORE · PUBLISH
FIG. 01

Ingest registries

Every source is loaded as-is — company registers, beneficial-ownership filings, leaks and sanctions lists — with its licence recorded alongside it.

  • Rows become typed entities and edges, nothing invented.
  • Each record keeps a pointer back to the source filing.
  • Commercial-safe sources served openly; restricted ones gated.
FIG. 02

Resolve to one entity

The same real-world party, seen across sources, is collapsed into a single cross-source cluster — precision-ordered, never fuzzy-by-default.

  • 1 · Strong-identifier join (LEI, company no., UEN, SEC CIK, sanctions id).
  • 2 · Name + jurisdiction block, only where it spans ≥2 registries.
  • 3 · Sanctions bridge for null-jurisdiction sanctioned parties.
FIG. 03

Score & flag

A heuristic risk level is derived from the graph — an investigative lead, never a legal determination. What isn't scored is shown as Unscored.

  • Graph connectivity (degree) + secrecy-jurisdiction presence.
  • Sanctions and PEP signals surfaced as an Exposure snapshot.
  • No silent default-to-low; absence is stated, not hidden.
FIG. 04

Publish cited

The resolved entity becomes a dossier where every claim links back to the record behind it — readable on the web, and machine-read by agents.

  • Web, Markdown, JSON and MCP views of the same facts.
  • Every edge and flag carries its provenance link.
  • Free public REST API — agent-callable, no key to read.
/02A record, end to endONE ENTITY · SOURCE ROW → DOSSIER
  1. 01SOURCE ROW
    A registry filing

    OpenOwnership emits a PSC statement — “Person X significantly controls Company Y (company no. …)”. It arrives as a raw row, licence attached.

  2. 02NORMALISE
    Typed & keyed

    The row becomes a person entity, a company entity and a control edge, each keyed on its strongest identifier — company number, LEI or sanctions id.

  3. 03RESOLVE
    Cluster join

    Identifier and name-block passes fold that same company across GLEIF, ICIJ, SEC and the sanctions lists into one cluster_id — one entity, many records.

  4. 04SCORE
    Risk & sanctions

    Graph degree, secrecy-jurisdiction presence and any sanctions or PEP hit set a heuristic risk level for the cluster — or leave it labelled Unscored.

  5. 05CITE
    Provenance bound

    Every edge and flag in the cluster keeps a link back to the exact source record it was derived from. Nothing is asserted without that pointer.

  6. 06PUBLISH
    Dossier

    The entity surfaces as a cited dossier across web, Markdown, JSON and MCP — searchable, traversable and fully traceable to source.

/03What we guaranteeHARD RULES · NOT GUIDELINES
RULE 01
A source on every edge

Every entity, ownership edge and risk flag links to the registry or leak record behind it. If we can't cite it, we don't publish it.

RULE 02
Risk is a lead, not a verdict

Risk levels are heuristic investigative leads to prioritise review — never a legal determination of ownership, sanction status or wrongdoing.

RULE 03
No fabricated data

We never synthesise entities, edges or figures to fill a gap. A missing link means “not yet observed in our sources”, not “does not exist”.

RULE 04
Corrections on request

Spot a sourced error or need a lawful removal? Email us with the entity id — we correct it and the fix propagates on the next ingest.

/ See it in the data

Follow any claim to its source.

Open an entity, or read where every source comes from and how it's licensed.