aboutsummaryrefslogtreecommitdiff
path: root/doc/flows/kyc-withdraw.tex
blob: 5bb9c9b2180e94cd88ed5817948ef9c0be129f7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
\section{KYC: Withdraw} \label{sec:kyc:withdraw}

\begin{figure}[h!]
  \begin{center}
\begin{tikzpicture}[node distance=1cm,font=\sffamily,
    start/.style={rectangle, rounded corners, minimum width=3cm, minimum height=1cm,text centered, draw=black, fill=yellow!30},
    end/.style={rectangle, rounded corners, minimum width=3cm, minimum height=1cm,text centered, draw=black, fill=red!30},
    process/.style={rectangle, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=orange!30},
    failed/.style={rectangle, rounded corners, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=red!30},
    io/.style={trapezium, trapezium left angle=70, trapezium right angle=110, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=blue!30},
    decision/.style={diamond, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=green!30},
    arr/.style={very thick,-latex},
    every edge quotes/.style = {auto, font=\footnotesize, sloped}
    ]
 \node (start) [start] {Start};
 \node (country) [decision,below=of start,text width=3cm] {Wire transfer originates from allowed country?};
 \node (amount) [decision, below=of country,text width=3cm] {Transferred less than maximum amount from origin account over last month?};
 \node (allow) [end, below=of amount] {Allow};
 \node (deny) [failed, right=of allow] {Deny};
 \draw[arr] (start) -> (country) {};
 \draw[arr] (country) -> (amount);
 \draw (country) edge["Yes"] (amount);
 \draw[arr] (country.east) -> (deny);
 \draw (country.east) edge["No"] (deny);
 \draw[arr] (amount) -> (allow);
 \draw (amount) edge["Yes"] (allow);
 \draw[arr] (amount.east) -> (deny);
 \draw (amount.east) edge["No"] (deny);
\end{tikzpicture}
  \end{center}
  \caption{Regulatory process when withdrawing digital cash from a
    bank account.
    If the transfer is denied or the user fails to withdraw the
    funds for any other reason, the money is automatically returned
    after the bounce period (see Table~\ref{table:kyc:withdraw:settings}) to
    the originating bank account.}
  \label{fig:kyc:withdraw}
\end{figure}

\begin{table}[h!]
  \caption{Settings for the withdraw trigger. Note that the operation
  must satisfy all of the given rules.} \label{table:kyc:withdraw:settings}
  \begin{tabular}{l|l|r}
    {\bf Setting}            & {\bf Type}         &  {\bf Value}     \\ \hline \hline
    Allowed bank accounts    & RFC 8905 RegEx     &  {\em CH*}       \\ \hline
    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.

SMS-Identification is done by in-house software.  Withdraw limits are
hard and cannot be raised even if the customer is known.