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]