taler
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Taler] KYC support in GNU Taler (Part 2)


From: Christian Grothoff
Subject: [Taler] KYC support in GNU Taler (Part 2)
Date: Thu, 16 Nov 2023 13:14:00 +0100
User-agent: Mozilla Thunderbird

Dear all,

NLnet has generously decided to support the work of Taler Systems SA in implementing KYC support in GNU Taler. I'm writing to give you an update on the next milestones.
https://docs.taler.net/taler-exchange-manual.html#oauth-2-0-specifics
in the exchange operator manual describes how an exchange operator would configure the OAuth 2.0 KYC plugin. The following two sections explain how to configure two (sadly proprietary) KYC providers that are also supported. All of these providers use a "CONVERTER_HELPER" which serves to convert the KYC data returned by these providers into the Taler format. This is needed as all three choices can basically be used to collect and validate arbitrary attributes about the user. In the OAuth2.0 case this depends on the OAuth2.0 service, while the two proprietary providers support configuring different forms or templates for data collection. Depending on these forms, the CONVERTER_HELPER programs are JSON-to-JSON transformers that convert the data delivered by the KYC provider into the Taler format. "taler-exchange-kyc-*.sh" scripts are provided that perform this conversion. In some cases, these scripts download and encode additional data (like passport images) as well.
The GNU Taler Challenger service 
(https://docs.taler.net/taler-challenger-manual.html) is a compatible 
OAuth2.0 provider that can be used to validate phone numbers, e-mail 
addresses or postal addresses. It works with the OAuth2.0 KYC plugin 
described above. In principle, the Challenger service can be extended to 
validate any address to which a TAN code can be sent. It uses 
customizable HTML forms and helpers scripts to send the e-mail, SMS or 
physical mail with the TAN codes.
A simple demonstrator (with one of the KYC providers set up, I tend to 
switch them around, so which one you get may vary) is (sometimes) 
available at https://bank.taler.grothoff.org/. You will be forced to 
pass the KYC check if you try to withdraw more than 5 STATER. Note that 
the wallet UX may still not yet be optional, doing that nicely is 
another milestone. However, it should work, but you probably have to 
select the "pending" withdraw transaction manually to get the link to 
the KYC process.
Now for those that really want to read code:

* Challenger implementation is at
https://git.taler.net/challenger.git/

* KYC plugins for all 3 providers and sample conversion scripts are at https://git.taler.net/exchange.git/tree/src/kyclogic
Next steps (I will post here when ready):
* AML support (needs testing)
* Auditor support (in principle done, needs more testing)
* Work on wallet/merchant integrations (WiP)


Feedback welcome!

Happy hacking!

Christian



reply via email to

[Prev in Thread] Current Thread [Next in Thread]