Who counts as a key person
| Role | Description |
|---|---|
| Director | Named in registry as a company director |
| Officer | Secretary, representative, or other registered officer |
| Shareholder | Registered shareholder (corporate or individual) |
| UBO (Ultimate Beneficial Owner) | Individual who ultimately owns or controls 10/25/50%+ (threshold configurable) |
| Authorized signatory | Person empowered to act on behalf of the company |
How key people attach to a Business
Identified from the registry
During KYB, Didit queries the company registry and extracts all listed officers and shareholders. Each person becomes a key-people record linked to the Business Verification (KYB) session.
User-added (customer-filled)
Workflows can include a “Key People” step where the business admin adds people not present in the registry (e.g. UBOs identified by corporate declaration).
source field:
REGISTRY— extracted from an official registry.USER— added by the business admin during the KYB flow.
Linking a key person to a User entity
When KYC is required for a key person (typically UBOs and directors), the party can be linked to a User entity: The link is created when:- A User Verification (KYC) session runs for the party using the same
vendor_dataas the User entity. - An analyst manually associates a business party with an existing User.
Inspecting key people
From the Business detail page in the console, the Key People tab shows:- Every party’s name, role, ownership %, source (registry vs user-added)
- KYC status of linked Users
- AML screening status per person
- Associated documents (director ID, UBO declaration)
key_people_checks[] array of the Business Verification (KYB) session decision, split into two buckets:
registry.officers/registry.beneficial_owners— parties discovered via the registry check.submitted.parties— parties the business admin added during the Key People flow (source: USER).ubo_kyc_summary— aggregate UBO KYC progress.
officers[] and beneficial_owners[] arrays remain on the response for backward compatibility one more release. New integrations should consume the two-bucket shape above. See the full KYB response schema for every field.
Corporate shareholders
When a shareholder is itself a company (not a person), Didit recursively explores the ownership chain to identify the ultimate beneficial owners. Corporate parties can optionally trigger child Business Verification (KYB) sessions. See Ownership structure for a worked example of multi-layer ownership chains.Key people webhooks
Changes to key people surface through the parent session events:data.updated(withsession_kind: "business") — session data including key people was updated.status.updated(withsession_kind: "business") — the session status changed as a result.
Next steps
Officers
Director identification and role taxonomy.
Ownership
UBO, corporate shareholders, and chain computation.
Key People flow
The KYB step that collects key people.