Skip to content

Commit c7a86e6

Browse files
authored
Merge pull request #2726 from simonredfern/develop
REQUIRED_CHALLENGE_ANSWERS documenation
2 parents 72f261b + df1310e commit c7a86e6

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

obp-api/src/main/scala/code/api/util/Glossary.scala

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5312,6 +5312,26 @@ object Glossary extends MdcLoggable {
53125312
|4. Provision: payments 5,000-50,000 EUR require 2 signatures from Panel A
53135313
|5. Provision: payments > 50,000 EUR require 1 from Panel A and 1 from Panel B
53145314
|
5315+
|## Enforcement via REQUIRED_CHALLENGE_ANSWERS
5316+
|
5317+
|The existing OBP mechanism for requiring multiple signatories on a transaction request is the Account Attribute `REQUIRED_CHALLENGE_ANSWERS`:
5318+
|
5319+
|- If the account attribute `REQUIRED_CHALLENGE_ANSWERS` is set to N, the system creates N SCA challenges when a transaction request is made.
5320+
|- Each challenge is assigned to a user who has access to a View on the account with the `CAN_ANSWER_TRANSACTION_REQUEST_CHALLENGE` permission.
5321+
|- The transaction request only completes when N challenges have been successfully answered (quorum).
5322+
|- If `REQUIRED_CHALLENGE_ANSWERS` is not set, the default is 1 (only the initiating user is challenged).
5323+
|
5324+
|Combined with the `CAN_BYPASS_MAKER_CHECKER_SEPARATION` View permission:
5325+
|
5326+
|- If `CAN_BYPASS_MAKER_CHECKER_SEPARATION` is **false** on the View, the system enforces that the user who created the transaction request (maker) cannot be the same user who answers the challenge (checker).
5327+
|- If **true**, the same user can both create and approve the transaction request.
5328+
|
5329+
|A Mandate Provision of type `SIGNATORY_RULE` maps to this mechanism:
5330+
|
5331+
|1. The provision's `signatory_requirements` (e.g., "2 from Panel A") determines the value of `REQUIRED_CHALLENGE_ANSWERS` on the account.
5332+
|2. The panel members are granted access to a View that has `CAN_ANSWER_TRANSACTION_REQUEST_CHALLENGE = true`.
5333+
|3. The View's `CAN_BYPASS_MAKER_CHECKER_SEPARATION` is set to `false` to enforce separation of duties.
5334+
|
53155335
|## API Endpoints
53165336
|
53175337
|Mandates, Provisions, and Signatory Panels each have CRUD endpoints under the Mandate tag.

0 commit comments

Comments
 (0)