taler-www

Main taler.net website
Log | Files | Refs | Submodules | README | LICENSE

kyc.html.j2 (11323B)


      1 {% extends "common/base.j2" %}
      2 {% block subtitle %}{{ _("KYC providers")}}{% endblock subtitle %}
      3 {% block body_content %}
      4 <main id="maincontent">
      5   <article class="container">
      6     <h1>KYC providers</h1>
      7     <p>
      8       GNU Taler operators need to satisfy regulatory requirements in terms
      9       of Know-your-customer (KYC) regulation and risk assessment (which
     10       usually starts with checking for politically exposed persons (PEPs)).
     11       KYC usually requires at the minimum for the customer to upload some
     12       identity documents, which then must be verified. KYC often also
     13       requires some kind of lifeness checks to ensure that the owner of the
     14       documents is the one passing the documentation along.
     15       To this end, we have tried to find KYC "solutions" that would
     16       help us address this.
     17     </p>
     18     <p>
     19       Naturally, the goal is to do this with Free Software.  However, all
     20       of the solutions we found so far are proprietary
     21       <a href="https://www.gnu.org/philosophy/who-does-that-server-really-serve.html">SaaSS</a>.
     22       If you know of a solution that is actually Free Software, we would be
     23       eager to hear from you.
     24     </p>
     25     <p>
     26       In the absence of a proper FLOSS solution, we have looked at other
     27       important criteria, such as the solution offering at least FLOSS
     28       integration on the client-side, having an open API specification
     29       (no NDA!), or even supporting a standard API.  Technically, we
     30       also need the KYC provider to work nicely over the
     31       Web (not just with a smartphone), and from a business perspective
     32       we like transparent pricing (alas, this is the least important
     33       point).
     34     </p>
     35       <h3>Criteria Summary</h3>
     36       <p>
     37         Thus, these are the key evaluation criteria we have:
     38         <ul>
     39           <li>Supports collecting and validating KYC information, including PEP lists and ID documents from Europe
     40           </li>
     41           <li>Open API specification (no NDA, directly on web site)
     42           </li>
     43           <li>Web interface support (no required app-only integration, can run KYC process just in a browser)
     44           </li>
     45           <li>Supports standard open API (OpenID, OIDC, etc.)
     46           </li>
     47           <li>Client-side code is FLOSS (no proprietary JavaScript and/or FLOSS app integrations)
     48           </li>
     49           <li>Transparent pricing (prices not only upon inquiry)
     50           </li>
     51           <li>Server-side is fully FLOSS (not SaaSS)
     52           </li>
     53        </ul>
     54        The list is not intended to be complete. Other criteria would include where
     55        data is hosted, and how privacy-friendly the solution is overall (e.g. is
     56        additional data collected, can profiles be easily deleted, etc.). However,
     57        already the above list narrows down the field to basically nobody.
     58       </p>
     59       <h3>Supported Providers</h3>
     60       <p>
     61         These are the KYC solutions for which a GNU Taler integration is
     62         available or under active development:
     63         <table>
     64           <tr><td></td>
     65              <th>KYC?</th><th>Open API?</th><th>Web?</th>
     66              <th>Standard API?</th><th>FLOSS client?</th><th>Pricing?</th>
     67              <th>FLOSS server?</th></tr>
     68           <tr><th><a href="https://git-www.taler.net/challenger.git/">Challenger</a></th>
     69              <td>&#10060;</td><td>&#9989;</td><td>&#9989;</td>
     70              <td>&#9989;</td><td>&#9989;</td><td>free</td>
     71              <td>&#9989;</td></tr>
     72           <tr><th>kycaid.com</th>
     73              <td>&#9989;</td><td>&#9989;</td><td>&#9989;</td>
     74              <td>&#10060;</td><td>&#10060;</td><td>&#9989;</td>
     75              <td>&#10060;</td></tr>
     76           <tr><th>withpersona.com</th>
     77              <td>&#9989;</td><td>&#9989;</td><td>&#9989;</td>
     78              <td>&#10060;</td><td>some</td><td>some</td>
     79              <td>&#10060;</td></tr>
     80         </table>
     81         <a href="https://docs.taler.net/taler-challenger-manual.html">Challenger</a>
     82         is our own home-brewed address validation service
     83         (under development); it doesn't actually do real KYC by our
     84         definition, but may still be useful in some legal scenarios.
     85         We additionally selected KYCAID and WithPersona for our
     86         first implementations as they seem closest to our objectives
     87         (see below for lists of other providers we considered),
     88         and we needed <em>some</em> KYC support.
     89         That said, there is room for improvement for both of these
     90         solutions towards respecting their users' freedom.
     91       </p>
     92       <p>
     93         Adding support for additional KYC providers largely requires
     94         implementing a KYC plugin, that is a shared library exporting
     95         the <a href="https://git-www.taler.net/exchange.git/tree/src/include/taler_kyclogic_plugin.h">
     96         KYC plugin API</a>. If you need help implementing additional
     97         KYC adapters, please do not hesitate to contact
     98         <a href="https://taler-systems.com/en/company.html#contact">us</a>, we will
     99         be happy to support your efforts!
    100       </p>
    101       <h3>Other providers</h3>
    102       <p>
    103         Here is a list of other KYC solutions we have found and evaluated against the
    104         criteria above.
    105         <table>
    106           <tr><td></td>
    107              <th>KYC?</th><th>Open API?</th><th>Web?</th>
    108              <th>Standard API?</th><th>FLOSS client?</th><th>Pricing?</th>
    109              <th>FLOSS server?</th></tr>
    110           <tr><th>Actico.com</th>
    111              <td>&#9989;</td><td>&#10060;</td><td>?</td>
    112              <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
    113              <td>&#10060;</td></tr>
    114           <tr><th>iDenfy.com</th>
    115              <td>&#9989;</td><td>&#9989;</td><td>&#9989;</td>
    116              <td>&#10060;</td><td>some</td><td>&#10060;</td>
    117              <td>&#10060;</td></tr>
    118           <tr><th>idnow.io</th>
    119              <td>&#9989;</td><td>&#9989;</td><td>&#9989;</td>
    120              <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
    121              <td>&#10060;</td></tr>
    122           <tr><th>idscan.net</th>
    123              <td>&#9989;</td><td>&#9989;</td><td>&#10060;</td>
    124              <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
    125              <td>&#10060;</td></tr>
    126           <tr><th>jumio.com</th>
    127              <td>&#9989;</td><td>&#10060;</td><td>?</td>
    128              <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
    129              <td>&#10060;</td></tr>
    130           <tr><th>kyc2020.com</th>
    131              <td>&#9989;</td><td>&#10060;</td><td>&#9989;</td>
    132              <td>&#10060;</td><td>&#10060;</td><td>&#9989;</td>
    133              <td>&#10060;</td></tr> <!-- consider -->
    134           <tr><th>metamap.com</th>
    135              <td>&#9989;</td><td>&#9989;</td><td>&#9989;</td>
    136              <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
    137              <td>&#10060;</td></tr>
    138           <tr><th>passbase.com</th>
    139              <td>&#9989;</td><td>&#9989;</td><td>&#9989;</td>
    140              <td>&#9989;</td><td>&#10060;</td><td>&#9989;</td>
    141              <td>&#10060;</td></tr> <!-- consider -->
    142           <tr><th>plaid.com</th>
    143              <td>&#9989;</td><td>&#9989;</td><td>&#9989;</td>
    144              <td>&#10060;</td><td>some</td><td>&#10060;</td>
    145              <td>&#10060;</td></tr> <!-- consider -->
    146           <tr><th>shuftipro.com</th>
    147              <td>&#9989;</td><td>&#9989;</td><td>&#10060;</td>
    148              <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
    149              <td>&#10060;</td></tr>
    150           <tr><th>SumSub.com</th>
    151              <td>&#9989;</td><td>&#9989;</td><td>&#9989;</td>
    152              <td>&#10060;</td><td>&#10060;</td><td>&#9989;</td>
    153              <td>&#10060;</td></tr>
    154           <tr><th>swiftdil.com</th>
    155              <td>&#9989;</td><td>&#9989;</td><td>tricky</td>
    156              <td>&#10060;</td><td>&#10060;</td><td>&#9989;</td>
    157              <td>&#10060;</td></tr>
    158           <tr><th>tokenoftrust.com</th>
    159              <td>&#9989;</td><td>weird</td><td>&#9989;</td>
    160              <td>&#10060;</td><td>some</td><td>&#10060;</td>
    161              <td>&#10060;</td></tr>
    162           <tr><th>Trulioo.com</th>
    163              <td>&#9989;</td><td>&#10060;</td><td>?</td>
    164              <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
    165              <td>&#10060;</td></tr>
    166           <tr><th>Ondato.com</th>
    167              <td>&#9989;</td><td>&#10060;</td><td>?</td>
    168              <td>&#10060;</td><td>&#10060;</td><td>&#9989;</td>
    169              <td>&#10060;</td></tr>
    170           <tr><th>onfido.com</th>
    171              <td>&#9989;</td><td>&#9989;</td><td>?</td>
    172              <td>&#10060;</td><td>some</td><td>&#10060;</td>
    173              <td>&#10060;</td></tr>
    174         </table>
    175       </p>
    176       <h3>Not quite KYC Providers</h3>
    177       <p>
    178         Here is a list of identity management solutions we found
    179         searching for KYC providers that don't actually do the kind
    180         of KYC (with identity document verification and PEP list checks)
    181         that would be needed.
    182         Note that not offering KYC support with document validation
    183         and PEP lists is a absolutely hard
    184         criteria against the solution: we believe such providers
    185         would not usually satisfy the legal requirements.
    186         These providers
    187         are only listed so that they do not get re-evaluated as they
    188         came up in a search (and it took time to understand that
    189         they do not actually offer KYC).
    190         <table>
    191           <tr><td></td>
    192              <th>KYC?</th><th>Open API?</th><th>Web?</th>
    193              <th>Standard API?</th><th>FLOSS client?</th><th>Pricing?</th>
    194              <th>FLOSS server?</th></tr>
    195           <tr><th>accubits/smart-kyc</th>
    196              <td>&#10060;</td><td>&#9989;</td><td>&#9989;</td>
    197              <td>&#10060;</td><td>&#9989;</td><td>free</td>
    198              <td>&#9989;</td></tr>
    199           <tr><th>Authlete.com</th>
    200              <td>&#10060;</td><td>&#9989;</td><td>?</td>
    201              <td>&#9989;</td><td>n/a</td><td>&#9989;</td>
    202              <td>&#10060;</td></tr>
    203           <tr><th>Gluu.org</th>
    204              <td>&#10060;</td><td>&#9989;</td><td>?</td>
    205              <td>&#9989;</td><td>?</td><td>free</td>
    206              <td>&#9989;</td></tr>
    207           <tr><th>microblink.com</th>
    208              <td>&#10060;</td><td>&#10060;</td><td>?</td>
    209              <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
    210              <td>&#10060;</td></tr>
    211           <tr><th>nomidio.com</th>
    212              <td>&#10060;</td><td>&#9989;</td><td>?</td>
    213              <td>&#9989;</td><td>?</td><td>&#9989;</td>
    214              <td>&#10060;</td></tr>
    215           <tr><th>privo.com</th>
    216              <td>&#10060;</td><td>&#10060;</td><td>?</td>
    217              <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
    218              <td>&#10060;</td></tr>
    219           <tr><th>scytales.com</th>
    220              <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
    221              <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
    222              <td>&#10060;</td></tr>
    223           <tr><th>Seon.io</th>
    224              <td>&#10060;</td><td>&#9989;</td><td>&#10060;</td>
    225              <td>&#10060;</td><td>&#10060;</td><td>&#9989;</td>
    226              <td>&#10060;</td></tr>
    227           <tr><th>Signicat.com</th>
    228              <td>&#10060;</td><td>&#9989;</td><td>&#9989;</td>
    229              <td>&#9989;</td><td>?</td><td>&#10060;</td>
    230              <td>&#10060;</td></tr>
    231         </table>
    232       </p>
    233 </article>
    234 {% endblock body_content %}