OpenClear

Home / Docs / Compliance overview

Compliance

These pages are for a bank's compliance, risk and audit staff, and for examiners. They map what OpenClear does onto the guidance a bank is examined against, and say where the evidence for each point is.

These pages are not legal advice. They describe features and where to find evidence. Each bank's own risk assessment decides whether its use of OpenClear meets a requirement, and several requirements depend on how the bank configures and hosts it.

Where the evidence comes from

Evidence Where
Live control status (PASS / WARN / FAIL) Settings → Controls; GET /api/v1/controls/status; openclear controls
A signed evidence bundle for a period Settings → Controls → Export evidence; GET /api/v1/audit/export; openclear audit export
Every state-changing action, who did it and when Settings → Action log (hash-chained, each entry ECDSA-signed)
Model validation (back-testing and ongoing monitoring) Settings → Model risk: file replay and the anomaly-capture test
Segregation of duties and two-person changes Settings → Segregation of duties; Settings → Changes
Who has access, and whether they use it Users → Export (CSV or JSON), with last sign-in

The evidence bundle is canonical JSON signed with the installation's file-signing key (ECDSA P-256, SHA-256), and carries the public key needed to check it. A PDF of the same bundle shows its SHA-256 and signature on the last page. The bundle contains: - the software version and database revision; - the matching-rule code and plugins in force, with a SHA-256 of each; - the scoring models in force, with a SHA-256 of each model file; - security groups and the duties each one combines; - whether the action log verifies; - segregation-of-duties breaches, and changes with their approvals; - every decision, with who recommended it and who made it; - model-risk test runs; - the control status at the time of export.

What the bank is responsible for

The full list, with a NIST SP 800-53 control for each, is the CUEC inventory. In short: OpenClear can only report what it can see. These stay with the bank, or with whoever hosts OpenClear for it:

  • Hosting: disk and database encryption, backups, network security, patching the operating system and database.
  • Record how disk and database encryption are done in OPENCLEAR_STORAGE_ENCRYPTION_ATTESTATION. The Controls page then shows that statement; without it, the control warns.
  • Record the recovery time and point objectives in OPENCLEAR_RECOVERY_OBJECTIVES_ATTESTATION and the last restore test's date in OPENCLEAR_LAST_RESTORE_TEST (YYYY-MM-DD); the control warns without them, or once the test is over a year old.
  • Keys: generating, storing and rotating the signing keys and the database encryption key. See the README, "Signing keys", and OPENCLEAR_SSO_ENCRYPTION_KEY_PREVIOUS for rotating the encryption key.
  • Configuration:
  • segregation of duties (every bank starts in warn mode; turn on enforce once no group combines conflicting duties);
  • dual control on decisions;
  • second factors for admins;
  • scheduled control testing (OPENCLEAR_ENABLE_CONTROL_TEST_SCHEDULER): the hourly and nightly checks, the daily anomaly capture, and each period's proposed attestations. Without it there's no test history, and automated CUECs are attested "not tested".
  • Process: access reviews, incident response, the annual Nacha Rules compliance audit, and the bank's own model validation.

Built from docs/compliance/README.md in the OpenClear repository. Last changed October 22, 2026.

See positive pay from the bank's side

Start a free sandbox bank with sample checks, ACH debits and exceptions.

Start a sandbox bank