generate-kyc-basedb.conf (3290B)
1 # This file is in the public domain. 2 # 3 # Configuration for the KYC/AML reference database used by test-kyc.sh. 4 # It is the ordinary auditor reference configuration plus a KYC setup that 5 # is deliberately easy to drive from a shell script: every rule that we 6 # trigger resolves to a FORM measure, and a form can be satisfied with two 7 # plain HTTP requests (GET /kyc-info/$TOKEN, POST /kyc-upload/$ID). 8 @INLINE@ generate-auditor-basedb.conf 9 10 [exchange] 11 # A purse must not outlive the denominations of the coins in it, see the 12 # comment on PURSE_EXPIRATION_LIMIT in exchange.conf. 13 PURSE_EXPIRATION_LIMIT = 3 years 14 ENABLE_KYC = YES 15 16 17 # ------------------------------------------------------------------ 18 # Boilerplate that every KYC configuration needs: the FREEZE measure 19 # is the fallback whenever an AML program fails or a check expires, 20 # and NONE is a program that imposes no new rules at all. 21 # ------------------------------------------------------------------ 22 23 [KYC-MEASURE-FREEZE] 24 CHECK_NAME = SKIP 25 CONTEXT = {} 26 PROGRAM = FREEZE 27 28 [AML-PROGRAM-FREEZE] 29 COMMAND = taler-exchange-helper-measure-freeze 30 ENABLED = true 31 DESCRIPTION = Freeze the account 32 DESCRIPTION_I18N = {} 33 FALLBACK = FREEZE 34 35 [AML-PROGRAM-NONE] 36 COMMAND = /bin/true 37 ENABLED = true 38 DESCRIPTION = Impose no new rules 39 DESCRIPTION_I18N = {} 40 FALLBACK = FREEZE 41 42 43 # ------------------------------------------------------------------ 44 # C1/M1/P1: ask for a full name and a date of birth. Once the form 45 # has been submitted, taler-exchange-helper-measure-test-form raises 46 # every limit to TESTKUDOS:1000, which un-blocks the account. 47 # ------------------------------------------------------------------ 48 49 [KYC-CHECK-C1] 50 TYPE = FORM 51 FORM_NAME = full_name_and_birthdate 52 DESCRIPTION = Provide your full name and date of birth 53 DESCRIPTION_I18N = {} 54 OUTPUTS = FULL_NAME DATE_OF_BIRTH 55 FALLBACK = FREEZE 56 57 [KYC-MEASURE-M1] 58 CHECK_NAME = C1 59 CONTEXT = {} 60 PROGRAM = P1 61 62 [AML-PROGRAM-P1] 63 COMMAND = taler-exchange-helper-measure-test-form 64 ENABLED = true 65 DESCRIPTION = Check FULL_NAME and DATE_OF_BIRTH 66 DESCRIPTION_I18N = {} 67 FALLBACK = FREEZE 68 69 70 # ------------------------------------------------------------------ 71 # The rules. The AGGREGATE threshold sits below the TESTKUDOS:4 that 72 # the reference wallet pays each merchant but above zero, which is 73 # what makes the two interesting states reachable from a script: a 74 # merchant may still accept the order (nothing has been aggregated 75 # yet, so it is within its limit), the exchange accepts the coins, 76 # and only the wire transfer is held back until measure M1 has been 77 # passed. That held-back transfer is the KYC-induced lag the auditor 78 # has to report. 79 # 80 # WITHDRAW has a threshold well above what the reference wallet ever 81 # withdraws, so the rule is recorded in the configuration -- and thus 82 # exercised by the exchange -- without blocking the interaction that 83 # produces the rest of the reference database. 84 # ------------------------------------------------------------------ 85 86 [KYC-RULE-AGGREGATE] 87 OPERATION_TYPE = AGGREGATE 88 ENABLED = YES 89 EXPOSED = YES 90 IS_AND_COMBINATOR = YES 91 THRESHOLD = TESTKUDOS:3 92 TIMEFRAME = 1d 93 NEXT_MEASURES = M1 94 95 [KYC-RULE-WITHDRAW] 96 OPERATION_TYPE = WITHDRAW 97 ENABLED = YES 98 EXPOSED = YES 99 IS_AND_COMBINATOR = YES 100 THRESHOLD = TESTKUDOS:100 101 TIMEFRAME = 1d 102 NEXT_MEASURES = M1