How it works
Create a business session
Start a business verification by creating a session with a KYB workflow. When the workflow type is KYB, Didit automatically creates a business session:The session type is determined by the workflow — no extra fields needed. KYB workflows automatically create business sessions with business-specific features enabled.
Company registry lookup
Didit queries official company registries to retrieve:
Registry data is cross-referenced with the information provided to detect inconsistencies.
| Data | Description |
|---|---|
| Company name | Legal name as registered |
| Registration number | Official company registration number |
| Country | Country of incorporation |
| Status | Active, dissolved, struck off, etc. |
| Company type | Ltd, LLC, PLC, SA, GmbH, etc. |
| Incorporation date | Date the company was registered |
| Registered address | Official registered office address |
| Tax number | Tax identification number (where available) |
Key people — UBOs, shareholders, directors & representatives
The system identifies every person and corporate entity tied to the business under the unified Key People model:
- UBOs — individuals who ultimately own or control the company, with ownership and voting percentages
- Shareholders (individual and corporate) — each with their ownership percentage
- Directors, representatives, secretaries, authorized signatories, and other officer roles — with their specific role tag
- Corporate ownership layers — parent companies in the ownership chain, with optional nested KYB
AML screening
All identified parties are automatically screened against global AML watchlists:
- Company AML — screens the company entity against sanctions, adverse media, and regulatory enforcement lists
- Person AML — screens each key person (UBO, shareholder, director, representative, etc.) individually
- Uses the same two-score risk system (match score + risk score) as user verification
Document collection
Collect and verify supporting documents:
Analysts can request additional documents from the business during the review process.
| Document type | Examples |
|---|---|
| Certificate of incorporation | Company formation certificate |
| Articles of association | Bylaws, memorandum of association |
| Proof of address | Utility bills, bank statements for the registered address |
| Shareholder register | Official register of shareholders |
| Financial statements | Annual accounts, audit reports |
| Tax certificates | Tax registration or compliance certificates |
| Custom documents | Any additional documents required by your compliance process |
Review and decide
The business session receives an overall status based on all checks:
Analysts can review all collected data in the Business Console, add comments, request additional documents, and make a final decision.
| Status | Meaning |
|---|---|
| Approved | All checks passed — company is verified |
| In Review | One or more checks require manual review |
| Declined | A critical check failed (e.g., dissolved company, sanctioned entity) |
Business session lifecycle
Each business verification runs within a business session that tracks progress through the following statuses:| Status | Description |
|---|---|
NOT_STARTED | Session created but verification has not begun |
IN_PROGRESS | Verification is underway — registry lookups, AML screening, or document collection in progress |
APPROVED | All checks passed — company is verified |
DECLINED | A critical check failed (e.g., dissolved company, sanctioned entity) |
IN_REVIEW | One or more checks require manual analyst review |
RESUBMITTED | Previously declined session resubmitted with updated data |
session_id, a sequential session_number, and a session_token for the hosted verification link. When a session is created with a vendor_data identifier, Didit automatically links it to the corresponding business profile.
Feature statuses
Business verification tracks the status of each component independently:| Feature | Description |
|---|---|
| Registry check | Company registry lookup and data extraction |
| Company AML | Company-level AML screening against sanctions and watchlists |
| Documents | Document collection, OCR, and cross-referencing |
| Key people | Beneficial owner and officer identification, AML, and KYC |
NOT_FINISHED, APPROVED, DECLINED, IN_REVIEW, or RESUB_REQUESTED. The overall session status aggregates the individual feature statuses — the session is only APPROVED when all required features pass.
Webhook events
Business sessions generate the following webhook events:| Event | Trigger |
|---|---|
status.updated | Session status changed. Payload carries session_kind: "business" for KYB sessions. |
data.updated | Session data changed (registry, key people, documents, AML). Payload carries session_kind: "business". |
business.status.updated | The linked Business entity’s status changed (ACTIVE / FLAGGED / BLOCKED). |
business.data.updated | The linked Business entity’s profile fields or aggregate counters changed. |
session_kind: "business" and the business_session_id to distinguish them from user verification events. See Webhooks for signature verification and delivery details.
Key capabilities
| Capability | Description |
|---|---|
| Automated registry lookups | Query official company registries in supported countries |
| UBO identification | Automatically extract beneficial ownership structures with percentages |
| Officer screening | Identify and verify directors, secretaries, and other officers |
| Company AML | Screen the company entity against sanctions and watchlists |
| Person AML | Screen all identified UBOs and officers individually |
| KYC linking | Link each identified person to a User Verification (KYC) session for identity verification |
| Document collection | Structured document requests with upload tracking |
| OCR cross-checking | Extract data from uploaded documents and cross-reference with registry data |
| Business profiles | Automatic profile creation and session aggregation for each verified company |
| Feature-level statuses | Independent status tracking for registry, AML, documents, and key people |
| Risk assessment | Overall risk level based on company status, AML results, and ownership complexity |
| Webhooks | Receive session lifecycle and data update events in real time via webhooks |
Business sessions vs. user sessions
| Feature | User session | Business session |
|---|---|---|
| Target | Individual person | Company or legal entity |
| Session kind | user (default) | business |
| Core checks | ID, liveness, face match, AML | Registry lookup, UBO, officers, company AML |
| Additional checks | Phone, email, proof of address, NFC | Document collection, person AML, KYC linking |
| Webhook payloads | Standard session events | Include session_kind: "business" and business_session_id |
Next steps
Business profiles
Track companies across sessions with profiles, tags, and bulk operations.
Company data
Registry lookups, company status, and data cross-referencing.
Ownership structure
UBO identification, corporate shareholders, and ownership chains.
Officers & directors
Director identification, roles, and KYC linking.
AML screening
Company and person-level AML checks.
Documents
Document collection, requests, and OCR verification.