taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit 9b11405b401b06ed89f3ecf386398dc0bb29fd84
parent d86185fdc440ffd58260eb3371907ec6c45a7960
Author: Christian Grothoff <christian@grothoff.org>
Date:   Tue, 10 Jun 2025 10:11:46 +0200

update docs for sanctionscheck/robocop

Diffstat:
Mconf.py | 7+++++++
Amanpages/robocop.1.rst | 60++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mmanpages/taler-exchange-sanctionscheck.1.rst | 14+++++++-------
Mmanpages/taler-exchange.conf.5.rst | 8++++++++
4 files changed, 82 insertions(+), 7 deletions(-)

diff --git a/conf.py b/conf.py @@ -579,6 +579,13 @@ man_pages = [ 1, ), ( + "manpages/robocop.1", + "robocop", + "compare KYC records against a sanctions list and find best match", + "GNU Taler contributors", + 1, + ), + ( "manpages/taler-exchange-wirewatch.1", "taler-exchange-wirewatch", "watch for incoming wire transfers", diff --git a/manpages/robocop.1.rst b/manpages/robocop.1.rst @@ -0,0 +1,60 @@ +robocop(1) +########## + +.. only:: html + + Name + ==== + + **robocop** - find best matching sanction list entry + + +Synopsis +======== + +**robocop** +[**-h**_|_**--help**] +[**-v**_|_**--version**] +-- SANCTIONSLIST + +Description +=========== + +**robocop** matches KYC and KYB data against a sanctionslist. +The sanctionslist must be given as the only argument. It must +be a JSON file with an array of objects where each object +must have an "ssid" entry that identifies the sanction list +record. Furthermore, each object may have any number of +keys matching the Taler attribute registry which must be +mapped to an array of strings representing values to match +against. + +Robocop will then read JSON objects line-by-line from standard +input. Each line must contain exactly one JSON object. Each +JSON object must again consist of a set of attribute registry +entries and their string values. For each JSON object read, +Robocop will find the best matching sanction list entry and +output the matching and confidence scores (on a scale of 0-1) +and the "ssid" (one one line per input). + +The main use of Robocop is as a RATER tool for +taler-exchange-sanctionscheck. + +Its options are as follows: + +**-h** + Print short help on options. + +**-v** + Print version number. + +See Also +======== + +taler-exchange-sanctionscheck(1) + +Bugs +==== + +Report bugs by using https://bugs.taler.net or by sending electronic +mail to <taler@gnu.org>. diff --git a/manpages/taler-exchange-sanctionscheck.1.rst b/manpages/taler-exchange-sanctionscheck.1.rst @@ -18,9 +18,8 @@ Synopsis [**-l** *FILENAME* | **--logfile=**\ ‌\ *FILENAME*] [**-n** | **--norun**] [**-r** | **--reset**] -[**-t** | **--testmode**] -[**-v** | **--version**] -- -SANCTIONCHECKER [SANCTIONCHECKER_ARGUMENTS] +[**-t** | **--test**] +[**-v** | **--version**] Description =========== @@ -30,6 +29,10 @@ existing accounts (and their KYC attributes) against a sanctions list, freezing matches and flagging partial matches for investigation by AML staff. +The actual matching is done by an external tool configured via the +"RATER" option in "[exchange-sanctionscheck]". The default implementation +of that tool is provided by robocop. + Its options are as follows: **-c** *FILENAME* \| **--config=**\ ‌\ *FILENAME* @@ -59,14 +62,11 @@ Its options are as follows: **-v** \| **--version** Print version information. -These options must be followed by the name of the sanctions list checking -helper tool (taler-exchange-helper-sanctions-AUTHORITY) and its command-line -arguments. See Also ======== -taler-exchange-httpd(1), taler-exchange.conf(5). +taler-exchange-httpd(1), taler-exchange.conf(5), robocop(1). Bugs ==== diff --git a/manpages/taler-exchange.conf.5.rst b/manpages/taler-exchange.conf.5.rst @@ -679,6 +679,14 @@ both sets (confidence). The following options must be in the section "[exchange-sanctionscheck]". +RATER + Program (and command-line arguments) for the helper program to + execute to compare sanction list records. Usually set to + something like "robocop $SANCTIONLIST.json", but can be any + program that reads KYC attributes in JSON line-by-line and + outputs a rating (0-1), confidence (0-1) and free-form sanction list + identifier for each JSON input received. + MIN_ROW_FILENAME Name of the file where taler-exchange-sanctionscheck will store the last row process during sanction list evaluation. Not in the database