taler-docs

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

commit 4a8ae5654906acf850eebc7807a0fd47575eae44
parent 52fcb58d64b1b7e0454d47fee695ebe021540ae5
Author: Christian Grothoff <christian@grothoff.org>
Date:   Thu, 12 Sep 2024 12:02:18 +0200

document KycStructuredFormData and also LINK attribute data, addressing #9187

Diffstat:
Mtaler-kyc-manual.rst | 74+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 73 insertions(+), 1 deletion(-)

diff --git a/taler-kyc-manual.rst b/taler-kyc-manual.rst @@ -475,6 +475,73 @@ input. The outcome of *any* check is stored encrypted in the ``kyc_attributes`` table. It MUST include an ``expiration_time``. +The INFO Type +^^^^^^^^^^^^^ + +When using KYC checks of type "INFO", the KYC-SPA +will simply show the given DESCRIPTION (or translations +from DESCRIPTION_I18N) to the user. + + +The FORM Type +^^^^^^^^^^^^^ + +When using KYC checks of type "FORM", the KYC-SPA +will show different forms based on "FORM_NAME" while +also showing the user the text from DESCRIPTION +as instructions. + +Some of the forms may be further parameterized via +the context in which the form is executed. + +.. note:: + + For build-in forms, it should in the future not be + necessary to specify the context requirements via + REQUIRES as the KYC SPA should inform the exchange + about the requirements of each form automatically. + However, this is not yet implemented, see #9187. + +When forms are submitted, the exchange converts the form data into key-value +pairs where the key is the form field name and the value is of type +`KycStructuredFormData`. The respective AML program can then evaluate the data from the form +submission from `attributes`. + + .. ts:def:: KycStructuredFormData + + interface KycStructuredFormData { + + // Content type. Missing if unknown. + content_type?: string; + + // Name of the uploaded file. Missing if unknown + // or this was not a file upload. + filename?: string; + + // Base32-encoded binary form value. Only present + // if form data was determined to be binary data. + data?: string; + + // Text form value. Only present if the form data + // was determined to be in textual format. + text?: string; + + } + +The LINK Type +^^^^^^^^^^^^^ + +When using KYC checks of type "FORM", the KYC-SPA will show a link that allows +the user to begin the KYC process at an external provider under the given +DESCRIPTION. + +The external providers are expected to yield KYC attributes in the form of +key-value pairs where the list of key is defined in the GANA +``gnu-taler-kyc-attributes`` registry, which also defines the format of each +attribute. External providers may not directly yield attributes using the +correct encodings, thus CONVERTER programs are typically used to convert +external attribute data into the standardized format. + Configuration of legitimization rules ------------------------------------- @@ -626,10 +693,15 @@ administrator. // JSON object that captures the // output of a ``[kyc-provider-]`` or (HTML) FORM. - // The keys in the JSON object will be the attribute + // In the case of KYC data provided by providers, + // the keys in the JSON object will be the attribute // names and the values must be strings representing // the data. In the case of file uploads, the data // MUST be base64-encoded. + // In the case of KYC data provided by HTML FORMs, the + // keys will match the HTML FORM field names and + // the values will use the `KycStructuredFormData` + // encoding. attributes: Object; // JSON array with the results of historic