\section{Android Verification App}\label{android_verification_app}
The Android app is part of the verification process used by the tax authority
to check the donation statement (see
\ref{donor_sends_final_statement_to_a_validator}).

The app decodes the received QR code from the donor, parse the signing
values and the signature and use them to verify the signature. At the end, the
values and the status of whether the signature is valid are displayed.
The arguments of the QR code are defined in chapter \ref{donor_sends_final_statement_to_a_validator} which have to be separated with
a delimiter. The delimiter depends on the encoding method for the binary values.
Since the QR code should be kept as small as possible, base64 would be a good choice.
With base64 a colon, for example, can be used as a delimiter. Colons are not available
in the base64 alphabet. The base64 encoding allows the QR code to be alphanumeric encoded\footnote{alphanumeric encoded QR codes have
a capacity of up to 4296 characters and support only a few special
characters}. This enables to use more characters in a single QR code.\cite{qrcodedensowavewebsite}\\
A possible QR code string specification with colons as delimiter could look like this:
\begin{displaymath}
    YEAR:TOTALAMOUNT:TAXID:TAXIDSALT:ED25519SIGNATURE
\end{displaymath}
In order to correctly verify the signature everything have to be in form and order.
As the tax ID and the tax ID salt were used hashed for the signing, this have to be repeated. Every signature in the Taler ecosystem uses unique signature codes to to
avoid misuse.

