2024-24.html.j2 (9831B)
1 {% extends "common/news.j2" %} 2 {% block body_content %} 3 <h1>2024-08: GNU Taler v0.13 released</h1> 4 <p> 5 We are happy to announce the release of GNU Taler v0.13. 6 </p> 7 <p> 8 We have addressed over 100 individual issues, our bug tracker 9 has the <a href="https://bugs.gnunet.org/changelog_page.php?version_id=443">full list</a>. 10 Notable changes include: 11 </p> 12 <ul> 13 <li>NEW: Significantly enhanced AML and KYC process support</li> 14 <li>NEW: First version of real-time auditor</li> 15 <li>NEW: Support for SEPA Instant credit transfers in libeufin</li> 16 <li>NEW: Support for Cashless2ecash</li> 17 <li>NEW: Debian packages for ARM64</li> 18 <li>Various minor bugfixes, user experience and documentation improvements</li> 19 </ul> 20 <p> 21 Our AML/KYC work was partially funded by <a href="https://nlnet.nl/project/GNUTaler-KYC/">NLnet grant 2022-08-058</a>. 22 Our work is co-funded by the European Commission and the Swiss State Secretariat for Education, Research and 23 Innovation (SERI) as part of the <a href="https://taler.net/en/ngi-taler.html">NGI TALER</a> project. 24 </p> 25 26 <h4>KYC/AML code and documentation</h4> 27 <p> 28 The new KYC/AML functionality has code sprinkled all over the place, 29 so here is an overview of where you find the main components: 30 <ul> 31 <li>The <a href="https://docs.taler.net/taler-kyc-manual.html">Exchange KYC/AML Operator Manual</a> 32 is a new manual documenting the exchange setup for KYC and AML processes</li> 33 <li>In our <a href="https://docs.taler.net/design-documents/023-taler-kyc.html">Taler KYC</a> 34 design document we documented our requirements analysis and the high-level the design.</li> 35 <li>The <a href="https://docs.taler.net/manpages/taler.conf.5.html">taler.conf man page</a> 36 documents various new configuration options related to AML and KYC processes.</li> 37 <li>The <a href="https://docs.taler.net/core/api-bank-wire.html#tsref-type-IncomingKycAuthTransaction">Taler Wire Gateway HTTP API</a> was extended with a new <tt>IncomingKycAuthTransaction</tt> type 38 that is used to demonstrate control over a bank account to the exchange.</li> 39 <li>In the <a href="https://git-www.taler.net/exchange.git/tree/src/exchangedb">exchange database</a> 40 code the main tables related to AML/KYC are <tt>aml_history</tt>, <tt>kyc_attributes</tt>, <tt>kyc_events</tt>, <tt>legitimization_measures</tt>, <tt>legitimization_outcomes</tt>, <tt>legitimization_processes</tt> and <tt>kyc_auths_in</tt>.</li> 41 <li>The main <a href="https://git-www.taler.net/exchange.git/tree/src/exchange">exchange endpoints</a> 42 are the <a href="https://docs.taler.net/core/api-exchange.html#kyc-status-updates">KYC</a> 43 and <a href="https://docs.taler.net/core/api-exchange.html#aml-operations">AML</a> operations 44 as well as some new <a href="https://docs.taler.net/core/api-exchange.html#post--management-aml-officers">management endpoints</a>.</li> 45 <li>The single page apps for <a href="https://git-www.taler.net/wallet-core.git/tree/packages/aml-backoffice-ui">AML</a> 46 and <a href="https://git-www.taler.net/wallet-core.git/tree/packages/kyc-ui">KYC</a> are in the <tt>wallet-core.git</tt> repository. There, you also find the new <a href="https://git-www.taler.net/wallet-core.git/tree/packages/challenger-ui">Challenger user interface</a> for our <a href="https://git-www.taler.net/challenger.git/">Oauth 2.0-based address validation service</a>.</li> 47 <li>The <a href="https://git-www.taler.net/exchange.git/tree/src/auditor">Taler auditor</a> was also 48 modified to better handle outgoing wire transfers blocked on KYC. In particular, the new 49 <a href="https://git-www.taler.net/exchange.git/tree/src/auditor/taler-helper-auditor-wire-debit.c">taler-helper-auditor-wire-debit</a> will initially report missing outgoing wire transfers when an 50 exchange fails to perform a transfer due to a pending KYC requirement. 51 However, once the KYC process has completed and the wire transfer is made by 52 the exchange, the warning will be automatically 53 be <a href="https://git-www.taler.net/exchange.git/tree/src/auditordb/pg_delete_wire_out_inconsistency_if_matching.c">cleared</a>.</li> 54 <li>The <a href="https://git-www.taler.net/wallet-core.git/tree/packages/taler-wallet-core/">wallet-core</a> component implements support for KYC. The <a href="https://docs.taler.net/wallet/wallet-core.html">wallet-core API docs</a> 55 contain new transaction details attributes (like "kycUrl") and requests (like "startExchangeWalletKyc") to allow wallet UIs to implement KYC.</li> 56 </ul> 57 </p> 58 <h4>KYC in Action</h4> 59 <p> 60 The following screenshots show (some of) the new KYC functionality 61 in action using an iOS wallet. The backend was configured to use 62 the "KYCS" test currency for demonstration purposes. It uses two 63 KYC rules: (1) triggers KYC to identify the bank account owner when 64 withdrawing more than 50 KYCS, and (2) triggers KYC to identify a 65 wallet owner if the wallet balance crosses 100 KYCS. 66 </p> 67 <p> 68 We start with a virgin wallet and go to 69 <tt>https://bank.kyctest.taler.net</tt>, register a new account, 70 and start a withdrawal: 71 <img src="{{ url_static('images/amlkyc-screenshots/ios-screenshot-2024-08-27-01.png') }}" alt="iOS screenshots to start withdrawal"> 72 </p> 73 <p> 74 Next, we authorize at the bank by tapping the “Transfer” button. Go back to the Wallet app with the top left “back button” named “Taler Wallet” (seen in the leftmost screenshot), and find that the withdraw transaction is still pending, since it requires a (standard) KYC (1st withdrawal): 75 <img src="{{ url_static('images/amlkyc-screenshots/ios-screenshot-2024-08-27-02.png') }}" alt="iOS screenshots to see KYC pending"> 76 <p> 77 Here we can now tap on the “Open KYC website” button, Fill in the form, and the withdrawal succeeds: 78 <img src="{{ url_static('images/amlkyc-screenshots/ios-screenshot-2024-08-27-03.png') }}" alt="iOS screenshots to perform KYC process"> 79 </p> 80 <p> 81 To trigger the second KYC process, we go back to the bank and withdraw another 55 KYCS: 82 <img src="{{ url_static('images/amlkyc-screenshots/ios-screenshot-2024-08-27-04.png') }}" alt="iOS screenshots to withdraw more cash"> 83 </p> 84 <p> 85 After authorization this again leads to a pending withdrawal transaction: 86 <img src="{{ url_static('images/amlkyc-screenshots/ios-screenshot-2024-08-27-05.png') }}" alt="iOS screenshots resulting in pending transaction"> 87 </p> 88 <p> 89 This can again be resolved by following the KYC procedure: 90 <img src="{{ url_static('images/amlkyc-screenshots/ios-screenshot-2024-08-27-06.png') }}" alt="iOS screenshots of second KYC procedure"> 91 </p> 92 <p> 93 We again submit the form, and the wallet withdraws the amount: 94 <img src="{{ url_static('images/amlkyc-screenshots/ios-screenshot-2024-08-27-06.png') }}" alt="iOS screenshots of final withdrawal"> 95 </p> 96 97 <p> 98 The AML officer can view and manage the AML/KYC status of accounts in the exchange's AML backoffice single-page app. 99 Accounts that are marked as "to investigate" by the automatic processes are listed separately and highlighted. 100 <img src="{{ url_static('images/amlkyc-screenshots/chromium-2024-08-28-01.png') }}" style="display:block; max-with:800px" alt="Chromium screenshot of the AML backoffice"> 101 </p> 102 103 <h4>Download links</h4> 104 <p> 105 The wallet has its own download site <a 106 href="https://wallet.taler.net/">here</a>. The exchange, merchant backend, 107 sync and bank components are distributed via the GNU FTP mirrors. 108 </p> 109 <ul> 110 <li><a href="http://ftpmirror.gnu.org/taler/taler-exchange-0.13.0.tar.gz">http://ftpmirror.gnu.org/taler/taler-exchange-0.13.0.tar.gz</a></li> 111 <li><a href="http://ftpmirror.gnu.org/taler/taler-exchange-0.13.0.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-exchange-0.13.0.tar.gz.sig</a></li> 112 <li><a href="http://ftpmirror.gnu.org/taler/taler-merchant-0.13.0.tar.gz">http://ftpmirror.gnu.org/taler/taler-merchant-0.13.0.tar.gz</a></li> 113 <li><a href="http://ftpmirror.gnu.org/taler/taler-merchant-0.13.0.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-merchant-0.13.0.tar.gz.sig</a></li> 114 <li><a href="http://ftpmirror.gnu.org/taler/taler-wallet-v0.13.1.tar.gz">http://ftpmirror.gnu.org/taler/taler-wallet-0.13.1.tar.gz</a></li> 115 <li><a href="http://ftpmirror.gnu.org/taler/taler-wallet-v0.13.1.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-wallet-0.13.1.tar.gz.sig</a></li> 116 <li><a href="http://ftpmirror.gnu.org/taler/libeufin-0.13.0-sources.tar.gz">http://ftpmirror.gnu.org/taler/libeufin-0.13.0-sources.tar.gz</a></li> 117 <li><a href="http://ftpmirror.gnu.org/taler/libeufin-0.13.0-sources.tar.gz.sig">http://ftpmirror.gnu.org/taler/libeufin-0.13.0-sources.tar.gz.sig</a></li> 118 <li><a href="http://ftpmirror.gnu.org/taler/sync-0.13.1.tar.gz">http://ftpmirror.gnu.org/taler/sync-0.13.1.tar.gz</a></li> 119 <li><a href="http://ftpmirror.gnu.org/taler/sync-0.13.1.tar.gz.sig">http://ftpmirror.gnu.org/taler/sync-0.13.1.tar.gz.sig</a></li> 120 <li><a href="http://ftpmirror.gnu.org/taler/taler-mdb-0.13.0.tar.gz">http://ftpmirror.gnu.org/taler/taler-mdb-0.13.0.tar.gz</a></li> 121 <li><a href="http://ftpmirror.gnu.org/taler/taler-mdb-0.13.0.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-mdb-0.13.0.tar.gz.sig</a></li> 122 <li><a href="http://ftpmirror.gnu.org/taler/taler-twister-0.9.4.tar.gz">http://ftpmirror.gnu.org/taler/taler-twister-0.9.4.tar.gz</a></li> 123 <li><a href="http://ftpmirror.gnu.org/taler/taler-twister-0.9.4.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-twister-0.9.4.tar.gz.sig</a></li> 124 <li><a href="http://ftpmirror.gnu.org/taler/challenger-0.13.0.tar.gz">http://ftpmirror.gnu.org/taler/challenger-0.13.0.tar.gz</a></li> 125 <li><a href="http://ftpmirror.gnu.org/taler/challenger-0.13.0.tar.gz.sig">http://ftpmirror.gnu.org/taler/challenger-0.13.0.tar.gz.sig</a></li> 126 </ul> 127 <p> 128 You must first install <a href="https://gnunet.org/">GNUnet v0.22.0</a> or the current Git master to compile GNU Taler 0.13 from source. 129 </p> 130 {% endblock body_content %}