[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ansible-taler-exchange] 01/19: clean TOPS branch with just KYC config p
From: |
gnunet |
Subject: |
[ansible-taler-exchange] 01/19: clean TOPS branch with just KYC config patch |
Date: |
Sat, 01 Feb 2025 19:52:42 +0100 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository ansible-taler-exchange.
commit 27bde891ab94723ddbfcb3be6029e873e6107cff
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sun Dec 22 22:41:34 2024 +0100
clean TOPS branch with just KYC config patch
---
playbooks/setup.yml | 1 +
.../etc/taler-exchange/config.d/kyc-rules.conf | 651 +++++++++++++++++++++
2 files changed, 652 insertions(+)
diff --git a/playbooks/setup.yml b/playbooks/setup.yml
index 8e932ba..cd69a01 100644
--- a/playbooks/setup.yml
+++ b/playbooks/setup.yml
@@ -7,6 +7,7 @@
- webserver
- database
- libeufin-nexus
+ - challenger
- exchange
- challenger
- auditor
diff --git a/roles/exchange/files/etc/taler-exchange/config.d/kyc-rules.conf
b/roles/exchange/files/etc/taler-exchange/config.d/kyc-rules.conf
new file mode 100644
index 0000000..c01b9a6
--- /dev/null
+++ b/roles/exchange/files/etc/taler-exchange/config.d/kyc-rules.conf
@@ -0,0 +1,651 @@
+[exchange]
+
+# Better enable KYC.
+ENABLE_KYC = YES
+
+# Hard limits
+[kyc-rule-withdraw-limit-monthly]
+OPERATION_TYPE = WITHDRAW
+NEXT_MEASURES = verboten
+EXPOSED = YES
+THRESHOLD = CHF:5000
+TIMEFRAME = "30 days"
+
+[kyc-rule-withdraw-limit-annually]
+OPERATION_TYPE = WITHDRAW
+NEXT_MEASURES = verboten
+EXPOSED = YES
+THRESHOLD = CHF:15000
+TIMEFRAME = "365 days"
+
+# Limit on merchant transactions
+[kyc-rule-transaction-limit]
+OPERATION_TYPE = TRANSACTION
+NEXT_MEASURES = verboten
+EXPOSED = YES
+THRESHOLD = CHF:1000
+
+# Note: Commented out, kept in case we ever want to impose a limit on wallet
balances.
+#[kyc-rule-balance-limit]
+#OPERATION_TYPE = BALANCE
+#NEXT_MEASURES = verboten
+#EXPOSED = YES
+#THRESHOLD = CHF:1000
+
+# SMS identification limit on withdraw (voluntary rule)
+[kyc-rule-withdraw-limit-low]
+OPERATION_TYPE = WITHDRAW
+NEXT_MEASURES = sms-registration
+EXPOSED = YES
+THRESHOLD = CHF:200
+TIMEFRAME = "30 days"
+
+# Deposit requires ToS acceptance, this way we ensure bank account is
confirmed!
+[kyc-rule-deposit-limit-zero]
+OPERATION_TYPE = DEPOSIT
+NEXT_MEASURES = accept-tos
+EXPOSED = YES
+THRESHOLD = CHF:0
+TIMEFRAME = "1 days"
+
+# Aggregation limits
+[kyc-rule-deposit-limit-monthly]
+OPERATION_TYPE = AGGREGATE
+NEXT_MEASURES = kyx
+EXPOSED = YES
+THRESHOLD = CHF:5000
+TIMEFRAME = "30 days"
+
+[kyc-rule-deposit-limit-annually]
+OPERATION_TYPE = AGGREGATE
+NEXT_MEASURES = kyx
+EXPOSED = YES
+THRESHOLD = CHF:15000
+TIMEFRAME = "365 days"
+
+# P2P limits
+[kyc-rule-p2p-limit-monthly]
+OPERATION_TYPE = MERGE
+NEXT_MEASURES = kyx
+EXPOSED = YES
+THRESHOLD = CHF:5000
+TIMEFRAME = "30 days"
+
+[kyc-rule-p2p-limit-annually]
+OPERATION_TYPE = MERGE
+NEXT_MEASURES = kyx
+EXPOSED = YES
+THRESHOLD = CHF:15000
+TIMEFRAME = "365 days"
+
+[kyc-rule-p2p-domestic-identification-requirement]
+OPERATION_TYPE = MERGE
+NEXT_MEASURES = sms-registration postal-registration
+IS_AND_COMBINATOR = NO
+EXPOSED = YES
+THRESHOLD = CHF:0
+TIMEFRAME = "30 days"
+
+# #################### KYC measures #######################
+
+# Fallback measure on errors.
+[kyc-measure-freeze-investigate]
+CHECK_NAME = skip
+PROGRAM = freeze-investigate
+VOLUNTARY = NO
+
+[kyc-measure-sms-registration]
+CHECK_NAME = sms-registration
+PROGRAM = tops-sms-check
+VOLUNTARY = YES
+# 63072000000000 is 2 years (in microseconds)
+CONTEXT = {"expiration_time":{"d_us": 63072000000000}}
+
+[kyc-measure-postal-registration]
+CHECK_NAME = postal-registration
+PROGRAM = tops-postal-check
+VOLUNTARY = YES
+# 157680000000000 is 5 years (in microseconds)
+CONTEXT = {"expiration_time":{"d_us": 157680000000000}}
+
+[kyc-measure-accept-tos]
+CHECK_NAME = form-accept-tos
+PROGRAM = check-tos
+CONTEXT =
{"tos_url":"https://exchange.taler-ops.ch/terms","provider_name":"Taler
Operations AG"}
+VOLUNTARY = NO
+
+[kyc-measure-kyx]
+CHECK_NAME = kyx
+PROGRAM = tops-kyx-check
+VOLUNTARY = NO
+
+[kyc-measure-form-902.9]
+CHECK_NAME = form-902.9
+# FIXME: address validation via PIN instead!
+PROGRAM = preserve-investigate
+VOLUNTARY = NO
+
+[kyc-measure-form-902.11]
+CHECK_NAME = form-902.11
+# FIXME: address validation via PIN instead!
+PROGRAM = preserve-investigate
+VOLUNTARY = NO
+
+[kyc-measure-form-902.12]
+CHECK_NAME = form-902.12
+# FIXME: address validation via PIN instead!
+PROGRAM = preserve-investigate
+VOLUNTARY = NO
+
+[kyc-measure-form-902.13]
+CHECK_NAME = form-902.13
+# FIXME: address validation via PIN instead!
+PROGRAM = preserve-investigate
+VOLUNTARY = NO
+
+[kyc-measure-form-902.15]
+CHECK_NAME = form-902.15
+# FIXME: address validation via PIN instead!
+PROGRAM = preserve-investigate
+VOLUNTARY = NO
+
+# ##################### KYC checks ###########################
+
+[kyc-check-form-info-internal-error]
+TYPE = INFO
+DESCRIPTION = "We encountered an internal error. Staff has been notified.
Please be patient."
+DESCRIPTION_I18N = '{"de":"Interner Fehler. Mitarbeiter wurden informiert.
Bitte warten."}'
+FALLBACK = default-investigate
+
+[kyc-check-form-info-investigation]
+TYPE = INFO
+DESCRIPTION = "Staff is checking your case. Please be patient."
+DESCRIPTION_I18N = '{"de":"Mitarbeiter prüfen ihren Fall. Bitte warten."}'
+FALLBACK = default-investigate
+
+[kyc-check-sms-registration]
+TYPE = LINK
+PROVIDER_ID = sms-challenger
+DESCRIPTION = "Confirm Swiss mobile phone number via SMS TAN"
+DESCRIPTION_I18N = '{"de":"Schweizer Mobiltelefonnummer via SMS TAN
bestätigen"}'
+OUTPUTS = "CONTACT_PHONE"
+FALLBACK = default-investigate
+
+[kyc-check-sms-registration]
+TYPE = LINK
+PROVIDER_ID = email-challenger
+DESCRIPTION = "Confirm email address via TAN"
+DESCRIPTION_I18N = '{"de":"Email addresse via TAN bestätigen"}'
+OUTPUTS = "CONTACT_EMAIL"
+FALLBACK = default-investigate
+
+[kyc-check-postal-registration]
+TYPE = LINK
+PROVIDER_ID = postal-challenger
+DESCRIPTION = "Register Swiss postal address via TAN letter"
+DESCRIPTION_I18N = '{"de":"Schweizer Addresse via TAN Brief bestätigen"}'
+OUTPUTS = "PERSON_FULL_NAME ADDRESS_STREET ADDRESS_TOWN_LOCATION
ADDRESS_ZIPCODE ADDRESS_COUNTRY_CC"
+FALLBACK = default-investigate
+
+# This check can be triggered by AML programs and/or AML officers,
+# it do not appear directly in this configuration as it is triggered
+# only indirectly.
+[kyc-check-kycaid-individual]
+TYPE = LINK
+PROVIDER_ID = kycaid-individual
+DESCRIPTION = "Provider personal identification data via KYCAID provider"
+DESCRIPTION_I18N = '{"de":"Persönliche Identifikation via KYCAID Service
druchführen"}'
+OUTPUTS = "PERSON_FULL_NAME PERSON_DATE_OF_BIRTH PERSON_NATIONALITY_CC
ADDRESS_STREET ADDRESS_TOWN_LOCATION ADDRESS_ZIPCODE ADDRESS_COUNTRY_CC
PERSON_NATIONAL_ID_SCAN TAX_ID"
+FALLBACK = default-investigate
+
+# This check can be triggered by AML programs and/or AML officers,
+# it do not appear directly in this configuration as it is triggered
+# only indirectly.
+[kyc-check-kycaid-business]
+TYPE = LINK
+PROVIDER_ID = kycaid-business
+DESCRIPTION = "Provide business identification via KYCAID provider"
+DESCRIPTION_I18N = '{"de":"Geschäftsidentifikation via KYCAID durchführen"}'
+# FIXME: correct output labels? FIXME: questionable we can get those from
KYCAID...
+# FIXME: lower case names are missing in GANA
+OUTPUTS = "BUSINESS_NAME ADDRESS_STREET ADDRESS_TOWN_LOCATION ADDRESS_ZIPCODE
ADDRESS_COUNTRY_CC company_identification_document power_of_atorney_document
BUSINESS_REGISTRATION_ID business_registration_document
registration_authority_name tops_controlling_owner_identifications"
+FALLBACK = default-investigate
+
+# FIXME: consider moving these into the exchange default config!
+[kyc-check-form-accept-tos]
+TYPE = FORM
+# FIXME Sebastian: correct form name, make sure form understands CONTEXT from
kyc-measure-accept-tos!
+FORM_NAME = accept-tos
+DESCRIPTION = "Ask user to accept Taler Operations terms of service"
+DESCRIPTION_I18N = '{"de":"Geschäftsbedingungen akzeptieren"}'
+# This form field must be set to the etag (!) of the accepted /terms!
+OUTPUTS = ACCEPTED_TERMS_OF_SERVICE
+FALLBACK = preserve-investigate
+
+[kyc-check-form-vqf-902.1]
+TYPE = FORM
+# FIXME Sebastian: correct form name
+FORM_NAME = vqf-902-1
+DESCRIPTION = "Ask user to supply VQF form 902.1"
+DESCRIPTION_I18N = '{"de":"Formular VQF 902.1 hochladen"}'
+# FIXME: list correct outputs for each form here (and update GANA)
+OUTPUTS = LEGAL_ENTITY_TYPE
+# OPTIONAL: NAME, ADDRESS, ID DOCS, ETC. DEPENDING ON LEGAL ENEITYT TYPE
+# => aml program will decide on legal entity type between no more forms
+# or vqf-902-9, 11, 12, 13, 15. => after that, AML officer
+FALLBACK = preserve-investigate
+
+[kyc-check-form-vqf-902.9]
+TYPE = FORM
+# FIXME Sebastian: correct form name
+FORM_NAME = vqf-902-9
+DESCRIPTION = "Ask user to supply VQF form 902.9"
+DESCRIPTION_I18N = '{"de":"Formular VQF 902.9 hochladen"}'
+# FIXME: list correct outputs for each form here (and update GANA)
+OUTPUTS = LEGAL_ENTITY_TYPE
+FALLBACK = preserve-investigate
+
+[kyc-check-form-vqf-902.11]
+TYPE = FORM
+# FIXME Sebastian: correct form name
+FORM_NAME = vqf-902-11
+DESCRIPTION = "Ask user to supply VQF form 902.11"
+DESCRIPTION_I18N = '{"de":"Formular VQF 902.11 hochladen"}'
+# FIXME: list correct outputs for each form here (and update GANA)
+OUTPUTS = LEGAL_ENTITY_TYPE
+FALLBACK = preserve-investigate
+
+[kyc-check-form-vqf-902.12]
+TYPE = FORM
+# FIXME Sebastian: correct form name
+FORM_NAME = vqf-902-12
+DESCRIPTION = "Ask user to supply VQF form 902.12"
+DESCRIPTION_I18N = '{"de":"Formular VQF 902.12 hochladen"}'
+# FIXME: list correct outputs for each form here (and update GANA)
+OUTPUTS = LEGAL_ENTITY_TYPE
+FALLBACK = preserve-investigate
+
+[kyc-check-form-vqf-902.13]
+TYPE = FORM
+# FIXME Sebastian: correct form name
+FORM_NAME = vqf-902-13
+DESCRIPTION = "Ask user to supply VQF form 902.13"
+DESCRIPTION_I18N = '{"de":"Formular VQF 902.13 hochladen"}'
+# FIXME: list correct outputs for each form here (and update GANA)
+OUTPUTS = LEGAL_ENTITY_TYPE
+FALLBACK = preserve-investigate
+
+[kyc-check-form-vqf-902.15]
+TYPE = FORM
+# FIXME Sebastian: correct form name
+FORM_NAME = vqf-902-15
+DESCRIPTION = "Ask user to supply VQF form 902.15"
+DESCRIPTION_I18N = '{"de":"Formular VQF 902.15 hochladen"}'
+# FIXME: list correct outputs for each form here (and update GANA)
+OUTPUTS = LEGAL_ENTITY_TYPE
+FALLBACK = preserve-investigate
+
+[kyc-measure-preserve-investigate]
+TYPE = SKIP
+CONTEXT = {}
+PROGRAM = preserve-investigate
+
+
+# ##################### AML programs #########################
+
+[aml-program-freeze-investigate]
+DESCRIPTION = "Fallback measure on errors that freezes the account and asks
AML staff to investigate the system failure."
+COMMAND = taler-exchange-helper-measure-freeze
+ENABLED = YES
+FALLBACK = freeze-investigate
+
+[aml-program-default-investigate]
+DESCRIPTION = "Fallback measure on errors that keeps default rules on the
account but asks AML staff to investigate the system failure."
+COMMAND = taler-exchange-helper-measure-defaults-but-investigate
+ENABLED = YES
+FALLBACK = freeze-investigate
+
+[aml-program-preserve-investigate]
+DESCRIPTION = "Fallback measure on errors that preserves current rules on the
account but asks AML staff to investigate the system failure."
+COMMAND = taler-exchange-helper-measure-preserve-but-investigate
+ENABLED = YES
+FALLBACK = freeze-investigate
+
+[aml-program-inform-investigate]
+DESCRIPTION = "Measure that asks AML staff to investigate an account and
informs the account owner about it."
+COMMAND = taler-exchange-helper-measure-inform-investigate
+ENABLED = YES
+FALLBACK = freeze-investigate
+
+
+# this program should require context 'tos_url' and 'provider_name'
+# and require attribute "ACCEPTED_TERMS_OF_SERVICE"
+[aml-program-check-tos]
+DESCRIPTION = "Measure that enables deposits after the ToS have been accepted."
+COMMAND = taler-exchange-helper-measure-enable-deposits
+ENABLED = YES
+FALLBACK = freeze-investigate
+
+[aml-program-preserve-set-expire-from-context]
+DESCRIPTION = "Measure that preserves the current rules but sets them to
expire based on the context. The successor measure to activate on expiration
can also be specified in the context. Useful when AML staff merely wants to set
an expiration date."
+COMMAND = taler-exchange-helper-measure-preserve-set-expiration
+ENABLED = YES
+FALLBACK = freeze-investigate
+
+[aml-program-preserve-set-expire-from-context]
+DESCRIPTION = "Measure that modifies the current rules by combining them with
those from the context. The expiration time and successor measure to activate
on expiration can also be specified in the context. Useful when AML staff
merely wants to update rules."
+COMMAND = taler-exchange-helper-measure-update-from-context
+ENABLED = YES
+FALLBACK = freeze-investigate
+
+[aml-program-tops-sms-check]
+DESCRIPTION = "Program that checks that the user was able to receive an SMS at
a Swiss mobile phone number. Enables receiving P2P payments by lifiting
kyc-rule-p2p-domestic-identification-requirement and also lifts the
kyc-rule-withdraw-limit-low. The new rules expire after 2 years."
+COMMAND = taler-exchange-helper-measure-tops-sms-check
+ENABLED = YES
+FALLBACK = freeze-investigate
+
+[aml-program-tops-postal-check]
+DESCRIPTION = "Program that checks that the user was able to postal mail at a
Swiss postal address. Enables receiving P2P payments by lifiting
kyc-rule-p2p-domestic-identification-requirement and also lifts the
kyc-rule-withdraw-limit-low. The new rules expire after 5 years."
+COMMAND = taler-exchange-helper-measure-tops-postal-check
+ENABLED = YES
+FALLBACK = freeze-investigate
+
+[aml-program-tops-kyx-check]
+DESCRIPTION = "Program that determines what kind of KYC/KYB process should be
run based on a first form supplied by the user. Determines the next checks to
run. Always concludes by passing all results to an AML officer. Rules are
preserved."
+COMMAND = taler-exchange-helper-measure-tops-kyx-check
+ENABLED = YES
+FALLBACK = freeze-investigate
+
+
+
+
+
+################
+## Test entry points
+################
+
+[kyc-rule-test0]
+OPERATION_TYPE = BALANCE
+NEXT_MEASURES = vqf-start
+IS_AND_COMBINATOR = NO
+EXPOSED = YES
+THRESHOLD = CHF:1000000
+TIMEFRAME = forever
+ENABLED = YES
+
+[kyc-rule-test1]
+OPERATION_TYPE = BALANCE
+NEXT_MEASURES = vqf-natural
+IS_AND_COMBINATOR = NO
+EXPOSED = YES
+THRESHOLD = CHF:1000010
+TIMEFRAME = forever
+ENABLED = YES
+
+[kyc-rule-test2]
+OPERATION_TYPE = BALANCE
+NEXT_MEASURES = vqf-operational
+IS_AND_COMBINATOR = NO
+EXPOSED = YES
+THRESHOLD = CHF:1000020
+TIMEFRAME = forever
+ENABLED = YES
+
+[kyc-rule-test3]
+OPERATION_TYPE = BALANCE
+NEXT_MEASURES = vqf-foundation
+IS_AND_COMBINATOR = NO
+EXPOSED = YES
+THRESHOLD = CHF:1000030
+TIMEFRAME = forever
+ENABLED = YES
+
+[kyc-rule-test4]
+OPERATION_TYPE = BALANCE
+NEXT_MEASURES = vqf-insurance
+IS_AND_COMBINATOR = NO
+EXPOSED = YES
+THRESHOLD = CHF:1000040
+TIMEFRAME = forever
+ENABLED = YES
+
+[kyc-rule-test5]
+OPERATION_TYPE = BALANCE
+NEXT_MEASURES = vqf-trust
+IS_AND_COMBINATOR = NO
+EXPOSED = YES
+THRESHOLD = CHF:1000050
+TIMEFRAME = forever
+ENABLED = YES
+
+[kyc-rule-test6]
+OPERATION_TYPE = BALANCE
+NEXT_MEASURES = vqf-other
+IS_AND_COMBINATOR = NO
+EXPOSED = YES
+THRESHOLD = CHF:1000060
+TIMEFRAME = forever
+ENABLED = YES
+
+[kyc-rule-test7]
+OPERATION_TYPE = BALANCE
+NEXT_MEASURES = test-tos
+IS_AND_COMBINATOR = NO
+EXPOSED = YES
+THRESHOLD = CHF:1000070
+TIMEFRAME = forever
+ENABLED = YES
+
+[kyc-rule-test8]
+OPERATION_TYPE = BALANCE
+NEXT_MEASURES = test-gls
+IS_AND_COMBINATOR = NO
+EXPOSED = YES
+THRESHOLD = CHF:1000080
+TIMEFRAME = forever
+ENABLED = YES
+
+################
+## Test measures
+################
+
+[kyc-measure-test-tos]
+CHECK_NAME = form-accept-tos
+PROGRAM = nop
+CONTEXT = {}
+VOLUNTARY = NO
+
+[kyc-measure-test-gls]
+CHECK_NAME = form-gls-onboarding
+PROGRAM = nop
+CONTEXT = {}
+VOLUNTARY = NO
+
+[aml-program-nop]
+COMMAND = /bin/true
+DESCRIPTION = "No operation program."
+ENABLED = YES
+FALLBACK = programProblem
+
+################
+# GLS Forms
+################
+
+[kyc-check-form-gls-onboarding]
+TYPE = FORM
+FORM_NAME = gls-onboarding
+DESCRIPTION = "testing gls onboarding"
+DESCRIPTION_I18N = {"de":"w"}
+OUTPUTS = PERSON_FULL_NAME PERSON_LAST_NAME CONTACT_PHONE CONTACT_EMAIL
ACCEPTED_TERMS_OF_SERVICE BUSINESS_DISPLAY_NAME BUSINESS_REGISTRATION_ID
BUSINESS_LEGAL_JURISDICTION BUSINESS_REGISTRATION_DATE BUSINESS_IS_NON_PROFIT
BUSINESS_INDUSTRY ADDRESS_STREET_NAME ADDRESS_STREET_NUMBER ADDRESS_COUNTRY_CC
TAX_COUNTRY_CC TAX_IS_USA_LAW TAX_IS_ACTIVE TAX_IS_DEDUCTED
BUSINESS_LEGAL_REPRESENTATIVES
+FALLBACK = preserve-investigate
+
+################
+# TOPS forms
+################
+
+[kyc-measure-accept-tos]
+CHECK_NAME = form-accept-tos
+PROGRAM = check-tos
+CONTEXT =
{"tos_url":"http://exchange.taler.test:1180/terms","provider_name":"Taler
Operations AR"}
+VOLUNTARY = NO
+
+[kyc-check-form-accept-tos]
+TYPE = FORM
+FORM_NAME = accept-tos
+DESCRIPTION = "Ask user to accept Taler Operations terms of service"
+DESCRIPTION_I18N = {"de":"Geschäftsbedingungen akzeptieren"}
+# This form field must be set to the etag (!) of the accepted /terms!
+OUTPUTS = ACCEPTED_TERMS_OF_SERVICE
+FALLBACK = preserve-investigate
+
+################
+# VQF measures
+################
+
+[kyc-measure-vqf-start]
+CHECK_NAME = form-vqf-type
+PROGRAM = vqf-start
+CONTEXT = {"vqf-step":1}
+VOLUNTARY = NO
+
+[kyc-measure-vqf-natural]
+CHECK_NAME = form-vqf-natural
+PROGRAM = vqf-natural
+CONTEXT = {"vqf-step":2} #deprecated
+VOLUNTARY = NO
+
+[kyc-measure-vqf-operational]
+CHECK_NAME = form-vqf-operational
+PROGRAM = vqf-operational
+CONTEXT = {"vqf-step":2} #deprecated
+VOLUNTARY = NO
+
+[kyc-measure-vqf-foundation]
+CHECK_NAME = form-vqf-foundation
+PROGRAM = vqf-foundation
+CONTEXT = {"vqf-step":2} #deprecated
+VOLUNTARY = NO
+
+[kyc-measure-vqf-trust]
+CHECK_NAME = form-vqf-trust
+PROGRAM = vqf-trust
+CONTEXT = {"vqf-step":2} #deprecated
+VOLUNTARY = NO
+
+[kyc-measure-vqf-insurance]
+CHECK_NAME = form-vqf-insurance
+PROGRAM = vqf-insurance
+CONTEXT = {"vqf-step":2} #deprecated
+VOLUNTARY = NO
+
+[kyc-measure-vqf-other]
+CHECK_NAME = form-vqf-other
+PROGRAM = vqf-other
+CONTEXT = {"vqf-step":2} #deprecated
+VOLUNTARY = NO
+
+################
+# VQF forms
+################
+
+[kyc-check-form-vqf-natural]
+TYPE = FORM
+FORM_NAME = vqf-natural
+DESCRIPTION = "Ask user to supply VQF form XXX"
+DESCRIPTION_I18N = {"de":"Formular XXX hochladen"}
+OUTPUTS = #TBD
+FALLBACK = preserve-investigate
+
+[kyc-check-form-vqf-operational]
+TYPE = FORM
+FORM_NAME = vqf-operational
+DESCRIPTION = "Ask user to supply VQF form XXX"
+DESCRIPTION_I18N = {"de":"Formular XXX hochladen"}
+OUTPUTS = #TBD
+FALLBACK = preserve-investigate
+
+[kyc-check-form-vqf-foundation]
+TYPE = FORM
+FORM_NAME = vqf-foundation
+DESCRIPTION = "Ask user to supply VQF form XXX"
+DESCRIPTION_I18N = {"de":"Formular XXX hochladen"}
+OUTPUTS = #TBD
+FALLBACK = preserve-investigate
+
+[kyc-check-form-vqf-trust]
+TYPE = FORM
+FORM_NAME = vqf-trust
+DESCRIPTION = "Ask user to supply VQF form XXX"
+DESCRIPTION_I18N = {"de":"Formular XXX hochladen"}
+OUTPUTS = #TBD
+FALLBACK = preserve-investigate
+
+[kyc-check-form-vqf-insurance]
+TYPE = FORM
+FORM_NAME = vqf-insurance
+DESCRIPTION = "Ask user to supply VQF form XXX"
+DESCRIPTION_I18N = {"de":"Formular XXX hochladen"}
+OUTPUTS = #TBD
+FALLBACK = preserve-investigate
+
+[kyc-check-form-vqf-other]
+TYPE = FORM
+FORM_NAME = vqf-other
+DESCRIPTION = "Ask user to supply VQF form XXX"
+DESCRIPTION_I18N = {"de":"Formular XXX hochladen"}
+OUTPUTS = #TBD
+FALLBACK = preserve-investigate
+
+################
+# VQF programs
+# will check form consistency
+# a will redirect to new form or challenger
+################
+
+# FIXME: what are these!??? CG to discuss with Sebastian!
+
+[aml-program-vqf-start]
+COMMAND = /bin/true
+DESCRIPTION = "Show next VQF form based on form values."
+ENABLED = YES
+FALLBACK = preserve-investigate
+
+[aml-program-vqf-natural]
+COMMAND = /bin/true
+DESCRIPTION = "Show next VQF form based on form values."
+ENABLED = YES
+FALLBACK = preserve-investigate
+
+[aml-program-vqf-operational]
+COMMAND = /bin/true
+DESCRIPTION = "Show next VQF form based on form values."
+ENABLED = YES
+FALLBACK = preserve-investigate
+
+[aml-program-vqf-foundation]
+COMMAND = /bin/true
+DESCRIPTION = "Show next VQF form based on form values."
+ENABLED = YES
+FALLBACK = preserve-investigate
+
+[aml-program-vqf-trust]
+COMMAND = /bin/true
+DESCRIPTION = "Show next VQF form based on form values."
+ENABLED = YES
+FALLBACK = preserve-investigate
+
+[aml-program-vqf-insurance]
+COMMAND = /bin/true
+DESCRIPTION = "Show next VQF form based on form values."
+ENABLED = YES
+FALLBACK = preserve-investigate
+
+[aml-program-vqf-other]
+COMMAND = /bin/true
+DESCRIPTION = "Show next VQF form based on form values."
+ENABLED = YES
+FALLBACK = preserve-investigate
+
+#####
+# end of All vqf FORMS
+# ###
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [ansible-taler-exchange] branch master updated (7d95abf -> 606bcef), gnunet, 2025/02/01
- [ansible-taler-exchange] 04/19: -remove redundant rules, gnunet, 2025/02/01
- [ansible-taler-exchange] 02/19: -fix check, gnunet, 2025/02/01
- [ansible-taler-exchange] 03/19: add test rule, gnunet, 2025/02/01
- [ansible-taler-exchange] 06/19: -fix form names, gnunet, 2025/02/01
- [ansible-taler-exchange] 09/19: fix rules, gnunet, 2025/02/01
- [ansible-taler-exchange] 08/19: more KYC rules cleanup, gnunet, 2025/02/01
- [ansible-taler-exchange] 01/19: clean TOPS branch with just KYC config patch,
gnunet <=
- [ansible-taler-exchange] 15/19: -fix syntax, gnunet, 2025/02/01
- [ansible-taler-exchange] 16/19: update TODOs, gnunet, 2025/02/01
- [ansible-taler-exchange] 05/19: -remove more stuff that causes failures and does not belong into prod, gnunet, 2025/02/01
- [ansible-taler-exchange] 19/19: unified repo, gnunet, 2025/02/01
- [ansible-taler-exchange] 11/19: add convenience script, gnunet, 2025/02/01
- [ansible-taler-exchange] 12/19: -use our BIC/IBAN, gnunet, 2025/02/01
- [ansible-taler-exchange] 07/19: -fix form output, gnunet, 2025/02/01
- [ansible-taler-exchange] 18/19: -fix monitoring deployment, gnunet, 2025/02/01
- [ansible-taler-exchange] 14/19: -fix name, gnunet, 2025/02/01
- [ansible-taler-exchange] 17/19: setup production secrets, gnunet, 2025/02/01