Skip to main content

Financial Integrity Checks

Three checks screen the financial integrity of a natural person: insolvency, guardianship/administration, and credit registration. They are presented together as "Financial integrity" in the Otentica dashboard, but each is requested independently and returns its own result fields.

These checks are a significant privacy intrusion

Financial integrity screening reaches into a candidate's personal circumstances, and the credit registration check most of all — the candidate supplies a complete overview of their own credit agreements, including entries that have no bearing on the role. Only request these checks for roles where you have a documented lawful basis, and complete a DPIA before rolling them out. See Privacy & Data Processing below.

Adverse-Finding Convention​

All three checks follow the same convention as the PEP and sanctions checks: no hit is the clean outcome.

ResultcompletedAsExpectedMeaning
No hittrueNothing found. The clean outcome
HitfalseA finding was returned. Flagged for attention
UncertainfalseThe source could not give a definitive answer. Flagged for attention
Uncertain is not No hit

Uncertain means the register could not answer — a technical failure, too many matches, or a name match that could not be confirmed against the verified identity. Treating it as a clean result silently converts an unanswered question into a pass.


Insolvency Check (CIR)​

Queries the Dutch Centraal Insolventieregister (Central Insolvency Register) for a natural person, using last name, name prefix, date of birth and — where available — postal code and house number.

{
"checkName": "insolvency-data",
"importance": "SKIPPABLE"
}
Check name

The API name is insolvency-data. The internal alias cir is accepted on input, but the API always returns insolvency-data in checkIdentifier and in the content type. Use insolvency-data.

The check requires lastName and dateOfBirth, so it runs after the identity step. No additional input is required from the candidate.

Configuration Parameters​

ParameterTypeRequiredDescription
confirmSkipbooleanNoRequire explicit confirmation when the candidate skips this check
confirmSkipMessagestringNoMessage shown when confirming a skip

Result Fields​

Always present:

FieldTypeValues / Format
cirCheckResultSTRINGHit / No hit / Uncertain
cirCheckDateDATEDate the check was performed

Present only on a hit:

FieldTypeValues / Format
cirInsolvencyTypeSTRINGfaillissement / surseance van betaling / schuldsanering (WSNP)
cirCourtSTRINGCourt handling the insolvency
cirPublicationDateDATEPublication date of the insolvency
cirMatchedNameSTRINGName of the matched person

cirCheckDate matters: the result is a point-in-time snapshot. A No hit is not a guarantee about any later date.

Example Result​

{
"checkIdentifier": "insolvency-data",
"status": "SUCCESS",
"contentType": "application/vnd.otentica.singlecheck.check.insolvency-data+json",
"importance": "SKIPPABLE",
"completedAsExpected": true,
"results": [
{
"group": null,
"checkName": "insolvency-data",
"fieldName": "cirCheckResult",
"value": "No hit",
"verified": true,
"verifiedBy": "otentica",
"verifiedOn": "2026-09-18T09:20:11.024113Z"
},
{
"group": null,
"checkName": "insolvency-data",
"fieldName": "cirCheckDate",
"value": "2026-09-18",
"verified": true,
"verifiedBy": "otentica",
"verifiedOn": "2026-09-18T09:20:11.024390Z"
}
]
}

Guardianship Check (CCBR)​

Queries the Dutch Centraal Curatele- en Bewindregister (Central Guardianship and Administration Register) for a natural person, using name prefix, last name and date of birth. Only published guardianship and administration orders appear in this register.

{
"checkName": "guardianship-data",
"importance": "SKIPPABLE"
}
Check name

The API name is guardianship-data. The internal alias ccbr is accepted on input, but the API always returns guardianship-data. Use guardianship-data.

Configuration Parameters​

ParameterTypeRequiredDescription
confirmSkipbooleanNoRequire explicit confirmation when the candidate skips this check
confirmSkipMessagestringNoMessage shown when confirming a skip

Result Fields​

Always present:

FieldTypeValues / Format
ccbrCheckResultSTRINGHit / No hit / Uncertain
ccbrCheckDateDATEDate the check was performed
ccbrVerificationCodeSTRINGAudit — the register's VerificatieCode, proof the lookup took place

Present only on a hit:

FieldTypeValues / Format
ccbrRegisterTypeSTRINGCB (curatele / guardianship) or BM (bewind / administration of adults)
ccbrGroundSTRINGGround code, e.g. 01 for squandering or problematic debts — the strongest financial signal in this register
ccbrRestrictedAdministrationSTRING"true" / "false" — whether the order is a restricted administration
ccbrValidFromDATEStart date of validity
ccbrPublicationDateDATEPublication date
ccbrMatchedNameSTRINGName of the matched person
note

ccbrVerificationCode is deliberately excluded from the candidate-facing PDF report — it is an opaque code with no meaning to a report reader — but it is returned over the API for your audit trail.


Credit Registration Check (BKR)​

This is not a register query

Otentica does not query the BKR. The candidate requests their own credit overview ("Mijn Kredietoverzicht") from the BKR and uploads it, after which it is read and assessed. The result is only as reliable as the document the candidate supplied.

{
"checkName": "credit-registration-data",
"importance": "SKIPPABLE",
"configuration": {
"requireCertifiedOverview": false,
"slaWorkingDays": 10,
"confirmAuthorizationDeclaration": true
}
}

Configuration Parameters​

ParameterTypeRequiredDescription
requireCertifiedOverviewbooleanNoWhen true, only a certified (gewaarmerkt, posted) overview is accepted
slaWorkingDaysintegerNoWorking days the candidate has to deliver a required certified overview
confirmAuthorizationDeclarationbooleanNoRequire the candidate to accept the authorisation declaration before uploading
confirmSkipbooleanNoRequire explicit confirmation when the candidate skips this check

Candidate Input​

FieldTypeRequiredDescription
fileFILEYesThe credit overview as a PDF
additionalFilesLISTNoExtra pages or photos of the same overview, for candidates who could not produce one combined file. All pages are merged before analysis, so a finding on a later page is never missed
orderConfirmationFileFILENoCandidate-supplied proof that a certified overview was ordered. Never confirmed by the BKR
orderReferenceSTRINGNoOrder reference the candidate received

The ASYNC_WAITING State​

When requireCertifiedOverview is true and the candidate supplies a free self-printed overview, the check enters status ASYNC_WAITING while the certified overview is delivered by post. bkrCheckResult is Pending during this period.

Plan for a long wait

This check can remain in ASYNC_WAITING for days or weeks. It has not failed and needs no action from you. Make sure your integration does not treat a long-running ASYNC_WAITING as an error or a stalled screening.

Result Fields​

FieldTypeValues / Format
bkrCheckResultSTRINGHit / No hit / Uncertain / Pending
bkrCheckDateDATEDate the overview was assessed
bkrOverviewDateDATEThe date printed on the overview itself
bkrDocumentFILEFile ID of the uploaded overview
bkrAdditionalDocumentsLISTFile IDs of any extra pages
bkrDocumentTypeSTRINGfree (self-printed) or gewaarmerkt (certified)
bkrRegisterVerifiedSTRING"true" only when the overview is certified and the certification mark was detected
bkrNegativeRegistrationSTRING"true" / "false"
bkrArrearsCodingSTRINGArrears codes found on the overview, e.g. A
bkrSpecialCodingSTRINGSpecial codes found on the overview, e.g. H — the strongest negative signal
bkrCreditCountSTRINGNumber of registered credits (from EUR 250)
bkrArrearsCountSTRINGNumber of reported payment arrears
bkrOrderReferenceSTRINGOrder reference for a certified overview (self-reported)
bkrRequestStatusSTRINGNEW / REQUESTED / AWAITING_DELIVERY / UPLOADED / VERIFIED / ERROR
bkrOrderConfirmationFILEFile ID of the order confirmation

A Hit means a negative registration is present: a special code, arrears, or a payment arrangement. Uncertain means the overview was unreadable, ambiguous, or suspected of tampering, and needs human assessment.

note

bkrRegisterVerified is the field that tells you how much assurance you actually have. A free overview is candidate-declared and returns "false"; only a certified overview with a detected certification mark returns "true". bkrRequestStatus and bkrOrderConfirmation are excluded from the PDF report but returned over the API.


Privacy & Data Processing (AVG / GDPR)​

Financial integrity screening processes data about a candidate's personal financial position. It is a materially heavier intrusion than the identity or education checks, and the credit registration check is the heaviest of the three.

  • Lawful basis and DPIA. Only deploy these checks for roles where a documented lawful basis exists and a DPIA has been completed. They are not appropriate as a default part of every screening.
  • Proportionality. Request only the register you need for the role. Insolvency and guardianship are public registers and a lighter intrusion than a full credit overview; start there and add the credit registration check only where the role genuinely warrants it.
  • Data minimisation. For a go/no-go decision you need only cirCheckResult, ccbrCheckResult and bkrCheckResult. The detail fields returned on a hit — and above all the uploaded credit overview itself — generally do not need to be copied into your own systems.
  • Retention. For the insolvency check Otentica stores only the minimal verification fact, never the full register response, in line with the register's six-month destruction obligation. Anything you copy into your own systems falls under your own retention policy.
Availability

These checks are enabled per environment. If insolvency-data, guardianship-data or credit-registration-data is not available on your account, contact Otentica to have it enabled.