Skip to content

Identity resolution

Identity resolution decides which person a record belongs to. Moonbrush resolves deterministically: a record attaches to a person only when its details agree with that person. When the evidence is ambiguous, the record attaches to no one and the conflict is written down. Record linkage trades two errors, false links and missed links (Fellegi and Sunter, 1969; Christen, 2012); resolution that leaves ambiguous records unattached sits on the side of missed links. See research note 5.

Identity providers can change their own person identifiers at any rebuild. That is normal for identity graphs, and it is why audiences built directly on a provider’s IDs lose members from month to month.

Moonbrush keeps its own durable person ID and treats each provider delivery as evidence about that person.

  • A record carries forward to its durable ID by its previous provider identifier or by a hashed email.
  • A new ID is created only when no key matches.
  • A record that matches more than one person is recorded as a conflict. It is never guessed.
  • A person missing from a delivery is marked absent, not deleted.

Audience membership and held-back assignment are keyed on the durable ID, so an audience keeps its members across monthly rebuilds rather than losing them when a provider identifier changes. A list can still read smaller after a monthly update, when people drop out of the graph.

When a client uploads a file, each row is matched on the details it carries: email, phone, postal address with a name, or a Moonbrush ID. A postal address never matches on its own.

Strictness counts how many distinct details agree. It is not a probability.

Setting Distinct details that must agree
Broad 1
Standard (default) 2
Strict 3

An exact match on a primary email is accepted at every setting. The match rate for the file is shown in the preview, before any paid build runs. See Matching.

When a visitor types an email into a form on a client’s site, the Moonbrush site tag hashes it in the browser and sends only the hash.

  • A hash that matches exactly one person attaches to that person.
  • A hash that matches no one gets a stable first-party ID derived from the hash, so the same visitor is recognized next time.
  • A hash that matches several people binds to no one, and the conflict is logged.

A result marks a known person. It never adds a person to the graph.

Every figure on these pages carries the date it was measured. See Published figures.

© 2026 Moonbrush Inc. Moonbrush, atlas, stage and Gravity are pending trademarks of Moonbrush Inc.