Skip to main content
Baobyte AML Suite
Documentation contents

Concepts

Parties and customers

A party is anyone the platform knows about. A customer is a relationship with one — not a different kind of thing.

Written from docs/adr/0013-party-supertype.md — this page is written for an external reader rather than extracted verbatim

The distinction is the single most load-bearing idea in the data model. A party is any natural person or legal entity: a customer, a beneficial owner, a transaction counterparty, a director, a name on a sanctions list. A customer is a relationship between the institution and a party, carrying a tier, a status and a risk rating.

Identity evidencePermalink to this section

Identifiers — BVN, NIN, RC number, TIN, passport — hang off the party, each with its own verification state. The platform distinguishes an identifier that has been checked against an authoritative source from one that has merely been format-checked, and from one that was supplied and never verified at all.

Search and encrypted identifiersPermalink to this section

Free-text search matches a party's display name and a customer's external reference. It does not reach BVN or NIN. Those are encrypted under the subject's own key with an HMAC blind index beside the ciphertext, and a blind index answers only 'does this value equal this identifier' — never 'does it contain this substring'. Looking one up takes the whole value.

That is a deliberate limit rather than a gap. Indexing plaintext identifiers to make partial search work would put them back outside the encryption boundary the platform exists to keep them inside. A user searching a partial BVN gets no matches on that term, not a slower or approximate one.

Addresses and placePermalink to this section

Addresses are coded against the 36 states with their local government areas plus the Federal Capital Territory with its area councils. Source labels are preserved on the reference data, and aliases exist for compatibility rather than as an editorial layer.