gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-exchange] branch master updated (e961b291 -> 2d5f0a87)


From: gnunet
Subject: [taler-exchange] branch master updated (e961b291 -> 2d5f0a87)
Date: Sun, 02 Jul 2023 14:57:52 +0200

This is an automated email from the git hooks/post-receive script.

grothoff pushed a change to branch master
in repository exchange.

    from e961b291 Merge branch 'master' of git+ssh://git.taler.net/exchange
     new a8b3f0eb work on regulator text
     new c6e3cba6 edits
     new 2d5f0a87 fix build

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 contrib/gana               |  2 +-
 doc/flows/int-pull.tex     |  2 +-
 doc/flows/int-push.tex     |  2 +-
 doc/flows/kyc-deposit.tex  | 15 +++++++++----
 doc/flows/kyc-pull.tex     | 11 +++++----
 doc/flows/kyc-push.tex     | 11 +++++----
 doc/flows/kyc-withdraw.tex |  9 ++++++--
 doc/flows/main.de.tex      | 10 ++++-----
 doc/flows/main.tex         | 56 ++++++++++++++++++++++++++++------------------
 doc/flows/proc-kyb.tex     | 14 +++++++-----
 doc/flows/proc-kyc.tex     | 10 ++++-----
 11 files changed, 88 insertions(+), 54 deletions(-)

diff --git a/contrib/gana b/contrib/gana
index 31b74264..3e5591a7 160000
--- a/contrib/gana
+++ b/contrib/gana
@@ -1 +1 @@
-Subproject commit 31b74264e62c4a7f4a671033e214c43fa2f304c0
+Subproject commit 3e5591a7e3fd93ba46fc2b538c63f0c16336283d
diff --git a/doc/flows/int-pull.tex b/doc/flows/int-pull.tex
index 8c9b66b1..1503ec0b 100644
--- a/doc/flows/int-pull.tex
+++ b/doc/flows/int-pull.tex
@@ -1,4 +1,4 @@
-\section{Pull payment (aka invoicing)}
+\section{Pull payment (aka invoicing)} \label{sec:pull}
 
 \begin{figure}[h!]
   \begin{sequencediagram}
diff --git a/doc/flows/int-push.tex b/doc/flows/int-push.tex
index fd49e8d4..0d95d2df 100644
--- a/doc/flows/int-push.tex
+++ b/doc/flows/int-push.tex
@@ -1,4 +1,4 @@
-\section{Push payment}
+\section{Push payment} \label{sec:push}
 
 \begin{figure}[h!]
   \begin{sequencediagram}
diff --git a/doc/flows/kyc-deposit.tex b/doc/flows/kyc-deposit.tex
index bac0ead4..b6345ad7 100644
--- a/doc/flows/kyc-deposit.tex
+++ b/doc/flows/kyc-deposit.tex
@@ -14,8 +14,8 @@
     ]
  \node (start) [start] {Start};
  \node (country) [decision,below=of start,text width=2.5cm] {Target account in 
allowed country?};
- \node (amount) [decision, below=of country,text width=2.5cm] {Target account 
received less than KYC threshold?};
- \node (kyc) [process, right=of amount] {KYC process};
+ \node (amount) [decision, below=of country,text width=2.5cm] {Target account 
received less than KYB threshold?};
+ \node (kyc) [process, right=of amount] {KYB process};
  \node (high) [decision, below=of amount,text width=2.5cm] {Target account 
received more than its AML threshold?};
  \node (aml) [process, right=of high] {AML process};
  \node (dummy) [below right=of aml] {};
@@ -66,8 +66,15 @@
   \begin{tabular}{l|l|r}
     {\bf Setting}                 & {\bf Type}         & {\bf Value}    \\ 
\hline \hline
     Allowed bank accounts         & RFC 8905 RegEx     & {\em CH*}      \\ 
\hline
-    KYC deposit threshold         & Amount/month       & {\em  5000 CHF} \\
-    KYC deposit threshold         & Amount/year        & {\em 15000 CHF} \\
+    KYB deposit threshold         & Amount/month       & {\em  5000 CHF} \\
+    KYB deposit threshold         & Amount/year        & {\em 25000 CHF} \\
     Default AML deposit threshold & Amount/month       & {\em  2500 CHF} \\
   \end{tabular}
 \end{table}
+
+The KYB deposit threshold of 5'000 \CURRENCY{} per month and than 25'000
+\CURRENCY{} per year ensure compliance with article 48-1b.
+
+Additionally, our terms of service will prohibit businesses to receive
+amounts exceeding 1'000 \CURRENCY{} per transaction (well below the
+15'000 \CURRENCY{} threshold defined in article 24-1c).
diff --git a/doc/flows/kyc-pull.tex b/doc/flows/kyc-pull.tex
index 092892ae..d131d130 100644
--- a/doc/flows/kyc-pull.tex
+++ b/doc/flows/kyc-pull.tex
@@ -1,4 +1,4 @@
-\section{KYC/AML: Pull Payment}
+\section{KYC/AML: Pull Payment} \label{sec:kyc:pull}
 
 \begin{figure}[h!]
   \begin{center}
@@ -73,8 +73,11 @@
   \begin{tabular}{l|l|r}
     {\bf Setting}             & {\bf Type}      & {\bf Value} \\ \hline \hline
     Permitted phone numbers   & Dialing prefix  & {\em +41} \\
-    P2P KYC threshold         & Amount/month    & {\em  5000 CHF} \\
-    P2P KYC threshold         & Amount/year     & {\em 15000 CHF} \\
-    Default P2P AML threshold & Amount/month    & {\em  1000 CHF} \\
+    P2P KYC threshold         & Amount/month    & {\em  1000 CHF} \\
+    P2P KYC threshold         & Amount/year     & {\em  5000 CHF} \\
+    Default P2P AML threshold & Amount/month    & {\em  2500 CHF} \\
   \end{tabular}
 \end{table}
+
+The P2P KYC thresholds of 1'000 \CURRENCY{} per month and than 5'000
+\CURRENCY{} per year ensure compliance with article 49-2c.
diff --git a/doc/flows/kyc-push.tex b/doc/flows/kyc-push.tex
index 45811546..4cc09c18 100644
--- a/doc/flows/kyc-push.tex
+++ b/doc/flows/kyc-push.tex
@@ -1,4 +1,4 @@
-\section{KYC/AML: Push Payment}
+\section{KYC/AML: Push Payment} \label{sec:kyc:push}
 
 \begin{figure}[h!]
   \begin{center}
@@ -74,8 +74,11 @@
   \begin{tabular}{l|l|r}
     {\bf Setting}             & {\bf Type}     & {\bf Value} \\ \hline \hline
     Permitted phone numbers   & Dialing prefix & {\em +41} \\
-    P2P KYC threshold         & Amount/month   & {\em  5000 CHF} \\
-    P2P KYC threshold         & Amount/year    & {\em 15000 CHF} \\
-    Default P2P AML threshold & Amount         & {\em  1000 CHF} \\
+    P2P KYC threshold         & Amount/month   & {\em  1000 CHF} \\
+    P2P KYC threshold         & Amount/year    & {\em  5000 CHF} \\
+    Default P2P AML threshold & Amount/month   & {\em  2500 CHF} \\
   \end{tabular}
 \end{table}
+
+The P2P KYC thresholds of 1'000 \CURRENCY{} per month and than 5'000
+\CURRENCY{} per year ensure compliance with article 49-2c.
diff --git a/doc/flows/kyc-withdraw.tex b/doc/flows/kyc-withdraw.tex
index 34141909..e1c625e0 100644
--- a/doc/flows/kyc-withdraw.tex
+++ b/doc/flows/kyc-withdraw.tex
@@ -43,8 +43,13 @@
   \begin{tabular}{l|l|r}
     {\bf Setting}            & {\bf Type}         &  {\bf Value} \\ \hline 
\hline
     Allowed bank accounts    & RFC 8905 RegEx     &  {\em CH*} \\ \hline
-    Withdraw maximum         & Amount/month       &  {\em 5000 CHF} \\
-    Withdraw maximum         & Amount/year        &  {\em 15000 CHF} \\
+    SMS-Identification       & Amount/month       &  {\em 200 CHF} \\
+    Withdraw limit           & Amount/month       &  {\em 5000 CHF} \\
+    Withdraw limit           & Amount/year        &  {\em 25000 CHF} \\
     Bounce period            & Delay              &  1 month \\
   \end{tabular}
 \end{table}
+
+The limit of 200 \CURRENCY{} results from article 48-2.  Strictly limiting
+withdrawals to less than 5'000 \CURRENCY{} per month and less than 25'000
+\CURRENCY{} per year assures compliance with article 48-1c.
diff --git a/doc/flows/main.de.tex b/doc/flows/main.de.tex
index 88fc3fac..5f224007 100644
--- a/doc/flows/main.de.tex
+++ b/doc/flows/main.de.tex
@@ -118,13 +118,13 @@ Das Taler-Bezahlsystem transferiert lediglich Gelder auf 
die bestehenden
 Bankkonten der Verk\"aufer, die f\"ur ihre G\"uterleistungen Zahlungen
 der Nutzer erhalten, f\"ur die bereits bei der \"Uberweisung von deren
 Kundenkonten eine KYC-Pr\"ufung erfolgte. Daher wird unseres Erachtens
-der Betreiber eines Taler-Exchange keine Mittelherkunft verlangen bzw. 
+der Betreiber eines Taler-Exchange keine Mittelherkunft verlangen bzw.
 nachweisen m\"ussen
-\footnote{Wenn Unternehmen das Taler-Bezahlsystem ihrerseits f\"ur 
-Zahlungen nutzen wollen, m\"ussen sie genauso wie alle anderen Nutzer 
-zuerst Geld von ihrem Bankkonto an einen Taler-Exchange \"uberweisen, 
+\footnote{Wenn Unternehmen das Taler-Bezahlsystem ihrerseits f\"ur
+Zahlungen nutzen wollen, m\"ussen sie genauso wie alle anderen Nutzer
+zuerst Geld von ihrem Bankkonto an einen Taler-Exchange \"uberweisen,
 eine KYC-Pr\"ufung absolvieren und dann ihr Wallet Coins abheben lassen.
-F\"ur die gesch\"aftlichen K\"aufer gelten ebenfalls die Limits wie 
+F\"ur die gesch\"aftlichen K\"aufer gelten ebenfalls die Limits wie
 f\"ur alle anderen Nutzer.}.
 
 
diff --git a/doc/flows/main.tex b/doc/flows/main.tex
index 2a10578b..be7b884e 100644
--- a/doc/flows/main.tex
+++ b/doc/flows/main.tex
@@ -13,8 +13,11 @@
 \author{Christian Grothoff}
 \title{Flows in the GNU Taler System}
 
+\newcommand\CURRENCY{CHF}
+
 \begin{document}
 
+\maketitle
 \tableofcontents
 
 \chapter{Interactions} \label{chap:interactions}
@@ -37,6 +40,15 @@ The main interactions of the system are:
   \item[shutdown] the Taler payment system operator informs the customers that 
the system is being shut down for good
 \end{description}
 
+In the analysis of the legal requirements, it is important to differenciate
+between transactions between wallets (customer-to-customer) and transactions
+where money flows from a wallet into a bank account (customer-to-merchant) as
+these have different limits: When digital coins are deposited at a business in
+Taler, the business never actually receives usable digital coins but instead
+the amount is always directly credited to their bank account.  Depending on
+the transacted amounts, the business will nevertheless be subject to KYB
+(Section~\ref{sec:proc:kyb}) and AML checks.
+
 {\bf Customers} begin their business relationship with us when they withdraw
 digital cash.  Taler has no accounts (this is digital cash) and thus there is
 no ``opening'' or ``closing'' of accounts for consumers.  Given digital cash,
@@ -51,33 +63,33 @@ fees (see Section~\ref{sec:fees:coin}) that apply to 
prevent the coins from
 expiring outright.
 
 For customers, we will categorically limit of digital cash withdrawn per month
-to less than CHF 5000 per month and less than CHF 15000 per year, thus
+to less than CHF 5'000 per month and less than CHF 25'000 per year, thus
 ensuring that consumers remain below the thresholds where most regulatory
-processes become applicable. We will, however, ensure that customers are Swiss
+processes become applicable.  Payments between users will be limited
+to receiving less than CHF 1'000 per month and less than CHF 5'000 per year.
+We will ensure that customers are Swiss
 (see Section~\ref{sec:proc:domestic}) by requiring them to have a Swiss bank
-account and/or Swiss phone number (+41-prefix).  Furthermore, the wallet will
-impose an upper limit of CHF 5000 on its balance at any point in time.
+account and/or Swiss phone number (+41-prefix).
+%Furthermore, the wallet will
+%impose an upper limit of CHF 5000 on its balance at any point in time.
 
 For {\bf merchants}, the Taler equivalent of ``opening'' an account and thus
 establishing an ongoing business relationship is for a business to receive
-payments (see Section~\ref{sec:deposit}) exceeding CHF 5000/month or CHF
-15000/year.  We will consider the account ``open'' (and require up-to-date KYB
+payments (see Section~\ref{sec:deposit}) exceeding CHF 5'000/month or CHF
+25'000/year.  We will consider the account ``open'' (and require up-to-date KYB
 information and check sanction lists) as long as the business has made any
 transactions within the last 24 months.
 
-In contrast to normal customers, merchants can in principle {\bf receive}
-payments without limit. However, these transactions must go into the bank
-account of the business: when digital coins are deposited at a business in
-Taler, the business never actually receives usable digital coins but instead
-the amount is always directly credited to their bank account.  Depending on
-the transacted amounts, the business will be subject to KYB
-(Section~\ref{sec:proc:kyb}) and AML checks. As we will only transfer money
-into the existing bank accounts of the merchants to compensate them for sales
-made using the Taler payment system, we do not need to check the origin of
-funds for those merchants as they will only receive funds from
-us.\footnote{Should businesses want to use Taler for expenditures, they will
-need to withdraw digital coins from their bank account just like customers,
-and the limits for customers will continue to apply.}
+As we will only transfer money into the existing bank accounts of the
+merchants to compensate them for sales made using the Taler payment system, we
+do not need to check the origin of funds for those merchants as they will only
+receive funds from us.\footnote{Should businesses want to use Taler for
+expenditures, they will need to withdraw digital coins from their bank account
+just like customers, and the limits for customers will continue to apply.}
+
+For individual {\bf transactions}, we will impose a limit of CHF
+1'000/transaction (even though our reading of the regulations would permit
+individual transactions up to CHF 15'000).
 
 The following sections describe the respective processes for each of these
 interactions.
@@ -111,7 +123,7 @@ There are five types if interactions that can trigger 
regulatory processes:
   \item[deposit] a merchant's {\bf bank account} is designated to receive a 
payment in digital cash
   \item[push] a {\bf wallet} accepts a payment from another wallet
   \item[pull] a {\bf wallet} requests a payment from another wallet
-  \item[balance] a withdraw or P2P payment causes the balance of a {\bf 
wallet} to exceed a given threshold
+%  \item[balance] a withdraw or P2P payment causes the balance of a {\bf 
wallet} to exceed a given threshold
 \end{description}
 
 We note in bold the {\bf anchor} for the regulator process. The anchor is used
@@ -129,7 +141,7 @@ Chapter~\ref{chap:regproc}.
 \include{kyc-deposit}
 \include{kyc-push}
 \include{kyc-pull}
-\include{kyc-balance}
+%\include{kyc-balance}
 
 \chapter{Regulatory Processes} \label{chap:regproc}
 
@@ -151,7 +163,7 @@ The three main regulatory processes are:
 \end{description}
 
 \include{proc-domestic}
-%\include{proc-kyc}
+\include{proc-kyc}
 \include{proc-kyb}
 \include{proc-aml}
 
diff --git a/doc/flows/proc-kyb.tex b/doc/flows/proc-kyb.tex
index fa7761b8..d7cd6430 100644
--- a/doc/flows/proc-kyb.tex
+++ b/doc/flows/proc-kyb.tex
@@ -13,7 +13,7 @@
         \node at (1.5,0) {\shortstack{{{\tiny Database}}}};
        \end{tikzpicture}
     }}
-    \newinst[2]{kyc}{\shortstack{KYB provider \\
+    \newinst[2]{kyb}{\shortstack{KYB provider \\
        \\ \begin{tikzpicture}[shape aspect=.5]
         \tikzset{every node/.style={cylinder,shape border rotate=90, 
draw,fill=gray!25}}
         \node at (1.5,0) {\shortstack{{{\tiny Database}}}};
@@ -43,9 +43,13 @@
 \end{figure}
 
 At the beginning of the KYB process, the user needs to specify whether they
-are an {\bf individual} (not incorporated) or a {\bf business}. This then
+are an {\bf individual} (not incorporated) or a {\bf business}.\footnote{ In
+pratice, we expect most owners of bank accounts crossing the KYB threshold to
+be businesses, but in principle such a bank account could be owned by an
+individual operating a business without a separate legal entity.}  This then
 determines which types of attributes are collected in the KYB process
-(Table~\ref{table:proc:kyb:individual} vs. 
Table~\ref{table:proc:kyb:business}).
+(Table~\ref{table:proc:kyb:individual}
+vs. Table~\ref{table:proc:kyb:business}).
 
 \begin{table}
   \caption{Information collected for unincorporated individuals}
@@ -77,7 +81,7 @@ determines which types of attributes are collected in the KYB 
process
       {\bf Type}                      & {\bf Required} & {\bf Example}        
\\ \hline \hline
       Company name                    & yes        & Mega AG \\
       Registered office               & yes        & Seestrasse 4, 8008 
Zuerich \\
-      Company identification document & yes        & PDF file \\ 
+      Company identification document & yes        & PDF file \\
       Power of attorney arrangement   & yes        & PDF file  \\
       Business registration number    & yes        &  \\
       Business registration document  & yes        & PDF file \\
@@ -85,7 +89,7 @@ determines which types of attributes are collected in the KYB 
process
       Contact person name             & yes        & Max Mustermann \\
       Identification document         & yes        & JPG image \\
       Date of birth                   & yes        & 1.1.1980  \\
-      Nationality                     & yes        & Swiss     \\ 
+      Nationality                     & yes        & Swiss     \\
       E-mail                          & yes        & me@example.com \\
       Phone number                    & no         & +41-123456789  \\
   \end{tabular}
diff --git a/doc/flows/proc-kyc.tex b/doc/flows/proc-kyc.tex
index 006a0556..c279052f 100644
--- a/doc/flows/proc-kyc.tex
+++ b/doc/flows/proc-kyc.tex
@@ -42,10 +42,11 @@
   \label{fig:proc:kyc}
 \end{figure}
 
-At the beginning of the KYC process, the user needs to specify
-whether they are an {\bf individual} or a {\bf business}. This
-then determines which types of attributes are collected in the
-KYC process (Table~\ref{table:proc:kyc:individual} vs.
+At the beginning of the KYC process, the user needs to specify whether they
+are an {\bf individual} or a {\bf business}.\footnote{ In pratice, we expect
+most wallet-users to be individuals, but in principle a wallet could be owned
+by a business.}  This then determines which types of attributes are collected
+in the KYC process (Table~\ref{table:proc:kyc:individual} vs.
 Table~\ref{table:proc:kyc:business}).
 
 \begin{table}
@@ -66,7 +67,6 @@ Table~\ref{table:proc:kyc:business}).
   \end{center}
 \end{table}
 
-
 \begin{table}
   \caption{Information collected for businesses}
   \label{table:proc:kyc:business}

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]