OpenClear

Home / Docs / OpenClear's controls

OpenClear's controls

What OpenClear itself does to meet each control objective, filed under the NIST SP 800-53 Rev. 5.1.1 controls it carries out. Several rely on the bank, its customers or whoever runs OpenClear to do their part: those are the complementary user entity controls (CUECs). It isn't legal advice (Compliance).

Inventory version 1.3. The same list, with each check's live status for your bank, is at GET /api/v1/compliance/controls, and on the Controls page.

Reading the inventory

  • Id: OC-<family>-<nn>. Ids never change, and a withdrawn one is never reused.
  • NIST: the 800-53 Rev. 5 controls it carries out, the main one first.
  • CSF 2.0: the NIST Cybersecurity Framework 2.0 subcategories that NIST's own mapping links to those 800-53 controls (by subcategory).
  • Type: preventive stops something happening; detective shows that it happened; corrective puts it right.
  • Nature: built in, always on; configurable, depends on a bank's setting. A configurable control relies on the CUEC that sets it.
  • Checks: the tests of the control, each on the Controls page.

Access control

Id Control NIST CSF 2.0 Type Checks Relies on Where
OC-AC-01 Permissions checked on every request. Every page, API call and background job checks the person's or API client's permissions, from their security group, before it reads or changes anything. AC-3 Access Enforcement
AC-6 Least Privilege
PR.AA-05, PR.DS-10, PR.IR-01 preventive, built in privileged_accounts (live) B-AC-6-01 Settings → Security groups; auth/permissions.py
OC-AC-02 Access ends when a person leaves. Adding, changing and removing a person's access is recorded in the action log, and a deactivated person can't sign in or use a token from that moment. An identity provider can do the same through SCIM. If the bank chooses, OpenClear deactivates access after so many days without a sign-in and removes it after so many, telling the person a week before. AC-2 Account Management
AC-2(3) Disable Accounts
AC-2(1) Automated System Account Management
PR.AA-01, PR.AA-05, PR.DS-10, DE.CM-01, DE.CM-03 preventive, built in dormant_accounts (live)
access_review (live)
scim_sync (live)
B-AC-2-01, B-AC-6(7)-01, B-AC-2(1)-01 Users; Settings → Lockout and inactive accounts; the action log
OC-AC-03 Customers see only their own. A business customer's people reach only their own customer's accounts, items and decisions, and never the bank's own permissions. A customer manages its own people and sign-on only when the bank allows it. AC-3 Access Enforcement
AC-4 Information Flow Enforcement
AC-6 Least Privilege
ID.AM-03, PR.AA-05, PR.DS-10, PR.IR-01, DE.CM-09 preventive, configurable customer_self_service (live)
customer_dormant_users (live)
customer_access_review (live)
B-AC-2-02, C-AC-2-01, C-AC-6(7)-01 A customer's page → Self-service; People
OC-AC-04 Access by account. A customer's person can be limited to some of the customer's accounts; every list, item, decision, image, upload and export they reach is limited to those accounts. AC-3 Access Enforcement
AC-6 Least Privilege
PR.AA-05, PR.DS-10, PR.IR-01 preventive, configurable — C-AC-2-01 People → Choose accounts; db/account_scope.py
OC-AC-05 Segregation of duties. Conflicting permissions can't be combined in one security group, and whoever submitted an item can't decide its exception. Each bank chooses to warn or enforce; every breach attempt is logged. AC-5 Separation of Duties PR.AA-05 preventive, configurable segregation_of_duties (live)
customer_sod (live)
B-AC-5-01, C-AC-5-01 Settings → Segregation of duties
OC-AC-06 Dual control on decisions. When a bank turns dual control on, one person recommends a decision and a different person approves it. AC-3(2) Dual Authorization
AC-5 Separation of Duties
PR.AA-05, PR.DS-10, PR.IR-01 preventive, configurable dual_control (live) B-AC-3(2)-01 Settings → Dual control; Approvals
OC-AC-07 Two people for settings changes. Turning a protection off (dual control, segregation of duties, lockout, password and inactivity rules, required sign-on, security event forwarding) always waits for a second admin; so do matching rules, scoring models, security groups, sign-on, API clients, webhooks and widening people's access when the bank asks, and a customer's own sign-on, API clients and new administrators when the bank or the customer asks. Tightening never waits; a switch turns on only while someone else can approve; with nobody else, a change takes effect after 24 hours as a critical security event. Every step is logged. CM-3 Configuration Change Control
CM-5 Access Restrictions for Change
AC-3(2) Dual Authorization
ID.RA-07, PR.AA-05, PR.DS-10, PR.PS-01, PR.IR-01, DE.CM-01, DE.CM-09 preventive, configurable two_person_changes (live)
second_approver (live)
sensitive_settings_protected (live)
B-CM-3-01 Settings → Dual control; Changes awaiting approval
OC-AC-08 Support access only by grant. Platform staff reach a bank's data only through a grant the bank makes: named, with a reason and an end, read-only unless a second admin allows more, and never to decide. AC-3 Access Enforcement
MA-4 Nonlocal Maintenance
AC-6(5) Privileged Accounts
PR.AA-05, PR.DS-10, PR.IR-01 preventive, built in support_access_review (live)
platform_staff (live)
B-MA-4-01, H-AC-6(5)-01 Settings → Support access
OC-AC-09 Banks kept apart. Every query runs inside one bank's context, and on PostgreSQL row-level security refuses another bank's rows even if a query forgets to filter. AC-4 Information Flow Enforcement
AC-3 Access Enforcement
ID.AM-03, PR.AA-05, PR.DS-10, PR.IR-01, DE.CM-09 preventive, built in — — db/tenancy.py; the RLS policies in migrations/
OC-AC-10 Sessions end. Sessions always end after an idle and an absolute timeout, whose lengths the bank sets, and a person can sign out their other devices. AC-12 Session Termination
SC-23 Session Authenticity
PR.AA-03 preventive, built in — — Settings → Session timeouts
OC-AC-12 ACH debits only from authorized originators. An ACH debit from an originator not on the account's authorizations becomes an exception for the customer to decide. AC-3 Access Enforcement PR.AA-05, PR.DS-10, PR.IR-01 preventive, configurable stale_ach_authorizations (live) C-AC-3-01 ACH → Authorizations
OC-AC-13 Two people at the service provider. Setting up a bank, platform staff roles, platform API keys and platform fees wait for a second of the platform's operators, and a request made with a platform API key waits for a person. Host attestations are prepared by one and accepted by another. The provider's own action log is chained and signed, and its security-relevant settings are watched until acknowledged. CM-3 Configuration Change Control
CM-5 Access Restrictions for Change
AC-3(2) Dual Authorization
AU-9 Protection of Audit Information
ID.RA-07, PR.AA-05, PR.DS-10, PR.PS-01, PR.IR-01, DE.CM-01, DE.CM-09 preventive, built in installation_settings (live)
provider_log (live)
H-CM-6-01 The operator view's Changes; the provider's action log

Identification and authentication

Id Control NIST CSF 2.0 Type Checks Relies on Where
OC-IA-01 Password policy and lockout. Passwords meet the bank's policy (length and the kinds of character required), and repeated failed sign-ins lock the account for a time, or until an administrator unlocks it, as the bank sets. IA-5(1) Password-based Authentication
AC-7 Unsuccessful Logon Attempts
PR.AA-01, PR.AA-03 preventive, configurable password_policy (live) B-IA-5(1)-01 Settings → Password policy; Settings → Lockout and inactive accounts
OC-IA-02 Security keys and passkeys. People sign in with a FIDO2 security key or passkey as a second factor, which a bank or customer can require. IA-2(1) Multi-factor Authentication to Privileged Accounts
IA-2(2) Multi-factor Authentication to Non-privileged Accounts
IA-2(8) Access to Accounts — Replay Resistant
PR.AA-01, PR.AA-03 preventive, configurable admin_mfa (live)
staff_mfa (live)
customer_mfa (live)
security_key_required (live)
B-IA-2(1)-01, B-IA-2(2)-01, C-IA-2-01, B-IA-8-01 My security; Settings → Password policy
OC-IA-03 Single sign-on and SCIM. A bank, or a customer the bank allows, signs its people in through its own identity provider (OIDC or SAML), and can provision and remove them through SCIM. IA-2 Identification and Authentication (Organizational Users)
IA-8 Identification and Authentication (Non-organizational Users)
AC-2(1) Automated System Account Management
PR.AA-01, PR.AA-03, PR.AA-05, PR.DS-10, DE.CM-01, DE.CM-03 preventive, configurable scim_sync (live)
customer_sso (live)
B-AC-2(1)-01, C-AC-2(1)-01 Settings → Sign-on; a customer's Sign-on
OC-IA-04 Integration credentials. API clients authenticate with a secret kept only as a hash, or with a key pair (private_key_jwt, each assertion usable once), and can be limited to reading or to one customer. IA-9 Service Identification and Authentication
IA-5 Authenticator Management
PR.AA-01, PR.AA-03 preventive, built in api_client_secrets (live)
customer_api_client_secrets (live)
B-IA-5-01, C-IA-5-01 Settings → API clients
OC-IA-05 Customers' sign-in set by the bank. The bank decides how each customer's people sign in: password and second factor, or the customer's own identity provider. IA-8 Identification and Authentication (Non-organizational Users) PR.AA-01, PR.AA-03 preventive, configurable customer_mfa (live) B-IA-8-01 A customer's page → Sign-on

Audit and accountability

Id Control NIST CSF 2.0 Type Checks Relies on Where
OC-AU-01 Signed, chained action log. Every change is recorded with who, when, from where and what, each entry chained to the last and signed (ECDSA), so an entry can't be altered or removed unnoticed. AU-2 Event Logging
AU-3 Content of Audit Records
AU-9(3) Cryptographic Protection
AU-10 Non-repudiation
AU-12 Audit Record Generation
PR.DS-10, PR.PS-04, DE.CM-01, DE.CM-03, DE.CM-09 detective, built in audit_chain (live) — Action log
OC-AU-02 The chain verified. The action log's chain and signatures are verified daily and on request, and the Controls page shows the last result. AU-9 Protection of Audit Information
SI-7 Software, Firmware, and Information Integrity
ID.RA-09, PR.DS-01, PR.DS-02, PR.DS-10, PR.PS-02, DE.CM-09 detective, built in audit_chain (live) — Controls → Action log integrity
OC-AU-03 Signed archives. Old action-log entries are archived to signed files before they leave the database, so they still verify. AU-11 Audit Record Retention
AU-9(3) Cryptographic Protection
PR.DS-10, PR.PS-04 preventive, built in — H-AU-9(2)-01 services/audit_archive_service.py
OC-AU-04 Security events delivered. Sign-ins, failures, lockouts, permission changes and control status changes become security events, delivered with retries to the bank's and the installation's SIEM. AU-12 Audit Record Generation
AU-6(1) Automated Process Integration
SI-4 System Monitoring
ID.RA-01, ID.IM-01, ID.IM-02, ID.IM-03, PR.DS-01, PR.DS-02, PR.DS-10, PR.PS-04, DE.CM-01, DE.CM-03, DE.CM-06, DE.CM-09, DE.AE-02, DE.AE-03 detective, configurable event_delivery (live) B-AU-6-01, H-AU-9(2)-01 Settings → Security event forwarding
OC-AU-05 Signed evidence export. For any period, a signed bundle of the version, rules and models in force, the chain's verification, breaches, changes, decisions and control status, which an examiner can check with the public key. AU-7 Audit Record Reduction and Report Generation
AU-11 Audit Record Retention
PR.PS-04, RS.AN-03, RS.AN-06, RS.AN-07 detective, built in evidence_export (live) B-AU-11-01 Controls → Export evidence

System and communications protection

Id Control NIST CSF 2.0 Type Checks Relies on Where
OC-SC-01 Secrets encrypted in the database. Secrets kept in the database (SSO keys, delivery credentials, plugin settings) are encrypted with AES-256-GCM under versioned keys, and re-encrypted when a key is rotated. SC-28(1) Cryptographic Protection
SC-12 Cryptographic Key Establishment and Management
SC-13 Cryptographic Protection
PR.DS-01, PR.DS-02, PR.DS-10 preventive, built in field_encryption (live)
key_age (live)
H-SC-12-01 auth/crypto.py
OC-SC-02 Encryption at rest stated. The host's statement of how disks and the database are encrypted is shown on the Controls page, which warns until there is one. SC-28 Protection of Information at Rest PR.DS-01 detective, built in storage_encryption (live) H-SC-28(1)-01 Controls → Storage encryption
OC-SC-03 Files signed. Every uploaded file is kept with its SHA-256 and a signature, and every webhook and evidence bundle OpenClear sends is signed. SI-7(6) Cryptographic Protection
SC-8 Transmission Confidentiality and Integrity
ID.RA-09, PR.DS-01, PR.DS-02, PR.DS-10, PR.PS-02, DE.CM-09 preventive, built in — — An upload's page; webhooks
OC-SC-04 Browser protections. Cookies are HTTP-only, and secure over HTTPS, which is marked with HSTS; every form carries a CSRF token; and a content security policy limits scripts to OpenClear's own. SC-23 Session Authenticity
SC-8 Transmission Confidentiality and Integrity
SC-18 Mobile Code
PR.DS-02 preventive, built in transport_security (live) H-SC-8(1)-01 web/security.py
OC-SC-05 Edge trusted only as configured. The caller's address is taken only from the configured edge's header, an edge secret can be required, and the Controls page shows the edge in front. SC-7 Boundary Protection PR.DS-01, PR.DS-02, PR.DS-10, PR.IR-01, DE.CM-01 preventive, configurable edge (live) H-SC-7-01 Controls → Edge in front; docs/guides/edge.md
OC-SC-06 Rate limits. Sign-ins, the API and expensive pages are rate limited per person, API client and address. SC-5 Denial-of-service Protection
AC-7 Unsuccessful Logon Attempts
PR.AA-03, PR.IR-01, DE.CM-01 preventive, built in — — web/rate_limit.py
OC-SC-07 Outbound connections checked. Webhooks and event destinations must be public addresses, checked when connecting, and are reported when not HTTPS. SC-7 Boundary Protection
SC-8 Transmission Confidentiality and Integrity
PR.DS-01, PR.DS-02, PR.DS-10, PR.IR-01, DE.CM-01 preventive, built in integration_tls (live) B-SC-8-01 Settings → Webhooks

System and information integrity

Id Control NIST CSF 2.0 Type Checks Relies on Where
OC-SI-01 Malformed files refused. X9.37, NACHA and delimited files go through hardened parsers that refuse malformed input quickly and cleanly; a corpus of bad files is run through them on every check. SI-10 Information Input Validation PR.DS-10 preventive, built in parser_hardening (live) — Controls → Malformed-file handling
OC-SI-02 Uploads checked row by row. Every upload row is validated and its result kept, failed rows can be corrected in the browser, and an upload can be backed out. SI-10 Information Input Validation
SI-7 Software, Firmware, and Information Integrity
ID.RA-09, PR.DS-01, PR.DS-02, PR.DS-10, PR.PS-02, DE.CM-09 corrective, built in rejected_rows (live)
file_reconciliation (live)
C-SI-10-01, B-SI-7-01 An upload's page
OC-SI-03 Anomaly capture tested. A daily test injects known fraud patterns (duplicate serials, altered amounts, wrong accounts, malformed fields) into the bank's live rules in a dry run and records whether each was caught. SI-4 System Monitoring
CA-2 Control Assessments
ID.RA-01, ID.IM-01, ID.IM-02, ID.IM-03, PR.DS-01, PR.DS-02, PR.DS-10, DE.CM-01, DE.CM-06, DE.CM-09, DE.AE-02, DE.AE-03 detective, configurable anomaly_capture (live) B-CA-7-02 Model risk
OC-SI-04 Replay before a change. A historical file can be replayed through today's rules in a dry run, showing how the result would differ, before a rule or model change is approved. CM-4 Impact Analyses
CA-2 Control Assessments
ID.RA-01, ID.RA-07, ID.IM-01, ID.IM-02, ID.IM-03, PR.PS-01 detective, built in change_impact_replay (live) B-CM-4-01 Model risk → Replay
OC-SI-05 Decisions before the deadline. Each exception shows its deadline, reminders go out before the cutoff, and an undecided exception takes the account's default disposition. SI-4 System Monitoring
CP-2 Contingency Plan
ID.RA-01, ID.IM-01, ID.IM-02, ID.IM-03, ID.IM-04, PR.DS-01, PR.DS-02, PR.DS-10, PR.IR-02, PR.IR-03, DE.CM-01, DE.CM-06, DE.CM-09, DE.AE-02, DE.AE-03, RC.RP-03, RC.CO-04 corrective, configurable sla (live)
default_dispositions (live)
customer_decision_timeliness (live)
B-SI-4-01, B-CP-2-01, C-SI-4-01 Exceptions; Settings → Reminders
OC-SI-06 Decisions delivered to the core. Decisions go to the core through an outbox with retries, as files or calls, so none is lost if the core is down. CA-3 Information Exchange ID.AM-03, PR.DS-01, PR.DS-02, PR.DS-10 corrective, built in decision_delivery (live) B-CA-3-01 Settings → Decision files
OC-SI-07 The bank's unauthorized-debit statement form. Customers see the bank's own Written Statement of Unauthorized Debit form (Markdown, HTML or a PDF); the bank collects and keeps the signed statement its own way. IR-6 Incident Reporting PR.IR-03, RS.MA-01, RS.MA-02, RS.MA-03, RS.MA-04, RS.AN-06, RS.AN-07, RS.CO-02, RS.CO-03, RC.CO-03 detective, configurable wsud_form (live) B-IR-6-02, C-IR-6-01 Settings → Unauthorized debit statement
OC-SI-08 Reverse positive pay only as agreed. An account goes on reverse positive pay, where checks the customer doesn't return by the cut-off are paid, only as a protected change, and the accounts on it are listed for the bank to match against its agreements. CA-3 Information Exchange
AC-3(2) Dual Authorization
ID.AM-03, PR.AA-05, PR.DS-01, PR.DS-02, PR.DS-10, PR.IR-01 preventive, configurable reverse_accounts_agreed (live) B-CA-3-02 Customers → an account's Check review
OC-SI-09 Checks verified at a branch. A teller platform verifies a check by the clearing rules before cash is paid at a branch, and records it cashed once, so the same check presented anywhere later is a duplicate. Its permission does nothing else, and probing for check numbers raises a security event. SI-4 System Monitoring
AC-6 Least Privilege
ID.RA-01, ID.IM-01, ID.IM-02, ID.IM-03, PR.AA-05, PR.DS-01, PR.DS-02, PR.DS-10, DE.CM-01, DE.CM-06, DE.CM-09, DE.AE-02, DE.AE-03 preventive, configurable — B-CP-2-02 API: /api/v1/checks/verify and /cashed
OC-SI-10 ACH monitoring summary. The evidence export summarizes the period's ACH debits by SEC code, exceptions, returns by reason code, unauthorized returns by originator, and decision times against their deadlines, for the bank's fraud-monitoring file and Rules audit. SI-4 System Monitoring
AU-6 Audit Record Review, Analysis, and Reporting
ID.RA-01, ID.IM-01, ID.IM-02, ID.IM-03, PR.DS-01, PR.DS-02, PR.DS-10, PR.PS-04, DE.CM-01, DE.CM-06, DE.CM-09, DE.AE-02, DE.AE-03 detective, built in evidence_export (live) B-SI-4-02, B-IR-6-03 Settings → Controls → Export evidence
OC-SI-11 Checks decided within their return deadline. Each check's return deadline is worked out from the day it was presented, in the bank's banking days, and its decision deadline is never later than the cut-off on that day; a decision sent after it is flagged and raised as a security event. SI-4 System Monitoring
SI-10 Information Input Validation
ID.RA-01, ID.IM-01, ID.IM-02, ID.IM-03, PR.DS-01, PR.DS-02, PR.DS-10, DE.CM-01, DE.CM-06, DE.CM-09, DE.AE-02, DE.AE-03 preventive, built in return_deadline (live) B-CA-3-04, B-SI-4-03 Settings → Decision cut-off
OC-SI-12 A leaving bank's data deleted, with a certificate. When a bank leaves, two of the service provider's operators start offboarding, which tells the bank to take its final export, and, after a wait, two approve deleting its data; it runs a day later unless stopped or put on legal hold, removes every row and file of the bank, and signs a certificate of what was deleted. SI-12 Information Management and Retention
MP-6 Media Sanitization
ID.AM-07, ID.AM-08 corrective, built in — H-MP-6-01, B-SI-12-01 Platform → a bank's Offboarding
OC-SI-13 A leaving customer's data deleted, with a certificate. Two bank administrators set a customer's last service day, and its people are told; after it, nobody there signs in and its accounts' items are refused; 90 days later, unless on legal hold, every row and file about the customer is deleted, the bank's action log is kept, and the bank keeps a signed certificate. SI-12 Information Management and Retention
MP-6 Media Sanitization
AC-2 Account Management
ID.AM-07, ID.AM-08, PR.AA-01, PR.AA-05, PR.DS-10, DE.CM-01, DE.CM-03 corrective, built in — B-SI-12-02 Customers → a customer's Offboarding
OC-SI-14 Custom fields checked and complete. Each custom-field value is checked against its field's type, length, choices and uniqueness wherever it's written (forms, files, the API), a value is never shared with a customer unless its field is marked so, and OpenClear warns while a customer or account lacks a value for a required field. SI-10 Information Input Validation
SI-12 Information Management and Retention
ID.AM-07, ID.AM-08, PR.DS-10 detective, configurable custom_fields (live) B-SI-12-03 Settings → Custom fields; the lists' filter

Configuration management

Id Control NIST CSF 2.0 Type Checks Relies on Where
OC-CM-01 Production settings enforced. In production OpenClear refuses to start with the checked-in keys and secrets, placeholder legal text or incomplete storage settings, and the Controls page reports the settings in force. A change to the installation's security-relevant settings warns until one of the platform's operators acknowledges it. CM-6 Configuration Settings PR.PS-01, DE.CM-09 preventive, built in production_safety (live)
installation_settings (live)
H-CM-6-01 Controls → Production safety; the operator view's Changes
OC-CM-02 Versioned releases and migrations. Each release is versioned with a changelog, its database migrations upgrade and downgrade, and the running version is published. CM-3 Configuration Change Control
SI-2 Flaw Remediation
CP-10 System Recovery and Reconstitution
ID.RA-07, ID.IM-01, ID.IM-02, ID.IM-03, PR.PS-01, PR.PS-02, PR.IR-03, DE.CM-01, DE.CM-09, RC.RP-01, RC.RP-02, RC.RP-05 preventive, built in software_currency (live) H-SI-2-01 /openapi.json; CHANGELOG.md
OC-CM-03 What's running is recorded. The evidence export records the version, the plugins and models in force with their digests, and the outside services turned on. CM-2 Baseline Configuration
CM-8 System Component Inventory
ID.AM-01, ID.AM-02, PR.PS-01 detective, built in outside_services (live) B-SA-9-01 Controls → Export evidence

Assessment and monitoring

Id Control NIST CSF 2.0 Type Checks Relies on Where
OC-CA-01 Controls checked continuously. Each control is checked when the Controls page or API is read and hourly; a change of status becomes a security event. CA-7 Continuous Monitoring ID.RA-01, ID.RA-07, ID.IM-01, ID.IM-02, ID.IM-03, DE.CM-01, DE.CM-02, DE.CM-03, DE.CM-06, DE.CM-09, DE.AE-02, DE.AE-03 detective, built in control_response (live) B-CA-7-01 Controls
OC-CA-02 Health and jobs reported. /health reports whether the database answers, and each scheduled job's last run is kept. CA-7 Continuous Monitoring
SI-4 System Monitoring
ID.RA-01, ID.RA-07, ID.IM-01, ID.IM-02, ID.IM-03, PR.DS-01, PR.DS-02, PR.DS-10, DE.CM-01, DE.CM-02, DE.CM-03, DE.CM-06, DE.CM-09, DE.AE-02, DE.AE-03 detective, built in scheduled_jobs (live) H-SI-4-01 /health
OC-CA-03 Regulatory pages kept current. Each page mapping OpenClear onto a law, rule or guidance says when it was last checked against its sources, and a check warns when one is more than a year old. CA-7 Continuous Monitoring ID.RA-01, ID.RA-07, ID.IM-01, ID.IM-02, ID.IM-03, DE.CM-01, DE.CM-02, DE.CM-03, DE.CM-06, DE.CM-09, DE.AE-02, DE.AE-03 detective, built in regulatory_currency (live) — Controls; docs/compliance/

Incident response

Id Control NIST CSF 2.0 Type Checks Relies on Where
OC-IR-01 Incident notices to each bank. The installation's operator sends incident and maintenance notices to the banks affected: each is emailed to the bank's incident contacts (or its CEO and CIO) and shown to its administrators until one acknowledges it, with sending and acknowledging in the bank's action log and raised as security events. IR-6 Incident Reporting
IR-4 Incident Handling
ID.IM-01, ID.IM-02, ID.IM-03, PR.IR-03, DE.AE-02, DE.AE-03, DE.AE-06, DE.AE-08, RS.MA-01, RS.MA-02, RS.MA-03, RS.MA-04, RS.MA-05, RS.AN-03, RS.AN-06, RS.AN-07, RS.AN-08, RS.CO-02, RS.CO-03, RS.MI-01, RS.MI-02, RC.RP-01, RC.RP-02, RC.RP-06, RC.CO-03, RC.CO-04 corrective, built in incident_contacts (live) H-IR-6-01, B-IR-6-06, B-IR-6-07 Platform → Incidents; the banner on every page
OC-IR-02 Incident contacts kept current. Each bank names its incident contacts, with its CEO and CIO as the fallback, and confirms them yearly; changing them is a high security event. IR-6 Incident Reporting PR.IR-03, RS.MA-01, RS.MA-02, RS.MA-03, RS.MA-04, RS.AN-06, RS.AN-07, RS.CO-02, RS.CO-03, RC.CO-03 preventive, configurable incident_contacts (live) B-IR-6-05 Settings → Incident contacts

Contingency planning

Id Control NIST CSF 2.0 Type Checks Relies on Where
OC-CP-01 Recovery objectives stated. The host's recovery time and recovery point objectives and the date of its last restore test are shown on the Controls page, which warns until they're recorded or once the test is over a year old. CP-2 Contingency Plan
CP-4 Contingency Plan Testing
ID.IM-01, ID.IM-02, ID.IM-03, ID.IM-04, PR.IR-02, PR.IR-03, RC.RP-03, RC.CO-04 detective, built in recovery_objectives (live) H-CP-2-01, H-CP-9-01, B-CP-2-03 Controls → Recovery objectives stated

Built from docs/compliance/controls.md in the OpenClear repository. Last changed October 28, 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