summaryrefslogtreecommitdiff
path: root/principles.html.j2
diff options
context:
space:
mode:
Diffstat (limited to 'principles.html.j2')
-rw-r--r--principles.html.j2107
1 files changed, 86 insertions, 21 deletions
diff --git a/principles.html.j2 b/principles.html.j2
index 854ebce4..e1b94e14 100644
--- a/principles.html.j2
+++ b/principles.html.j2
@@ -18,129 +18,194 @@ h2 {
<div class="container">
<div class="row">
<div class="col">
- <h1>GNU Taler: Design Principles</h1>
+ <h1>
+ {% trans %}
+ GNU Taler: Design Principles
+ {% endtrans %}
+ </h1>
</div>
</div>
- <p>When designing GNU Taler, we had the following design principles in mind:</p>
+ <p>
+ {% trans %}
+ When designing GNU Taler, we had the following design principles in mind:
+ {% endtrans %}
+ </p>
<div class="row">
<div class="col-lg-12">
- <h2>1. Free Software implementation</h2>
- <a href="https://www.gnu.org/graphics/freedom.html"><img style="width:20vw;float:right" src="../images/stallman.medium.png" alt="... in the are of computing, freedom means not using proprietary software"></a>
+ <h2>
+ {% trans %}
+ 1. Free Software implementation
+ {% endtrans %}
+ </h2>
+ <a href="https://www.gnu.org/graphics/freedom.html"><img style="width:20vw;float:right" src="../images/stallman.medium.png" alt="{{_("... in the are of computing, freedom means not using proprietary software")}}"></a>
<p>
+ {% trans %}
GNU Taler must be <a href="https://www.gnu.org/philosophy/free-sw.html">Free Software</a>.
For merchants, our Free Software
reference implementation prevents vendor lock-in. As
the software of the payment provider itself is free, countries can
deploy the payment system without compromising sovereignty.
+ {% endtrans %}
</p>
<p>
+ {% trans %}
Customers benefit from Free Software
as the wallet software can be made to run on a variety of platforms, and
the absence of user-hostile features such as tracking or telemetry can easily be
assured.
+ {% endtrans %}
</p>
</div>
</div>
<div class="row">
<div class="col-lg-12">
- <h2>2. Protect the privacy of buyers</h2>
+ <h2>
+ {% trans %}
+ 2. Protect the privacy of buyers
+ {% endtrans %}
+ </h2>
<!-- From https://www.pixabay.com/ -->
- <img style="width:20vw;float:left;padding:15px" src="../images/anonymous.jpg" alt="You deserve some privacy">
+ <img style="width:20vw;float:left;padding:15px" src="../images/anonymous.jpg" alt="{{_("You deserve some privacy")}}">
<p>
+ {% trans %}
Privacy should be guaranteed via technical measures, as opposed to mere
policies. Especially with micropayments for online content, a disproportion-
ate amount of rather private data about buyers would be revealed, if the
payment system does not have privacy protections.
+ {% endtrans %}
</p>
<p>
+ {% trans %}
In legislations with data protection regulations (such as the recently introduced GDPR in Europe),
merchants benefit from this as well, as
no data breach of customers can happen if this information is, by design,
not collected in the first place. Obviously some private data, such as the
shipping address for a physical delivery, must still be collected according to
business needs.
- </p>
+ {% endtrans %}
+ </p>
</div>
</div>
<div class="row">
<div class="col-lg-12">
- <h2>3. Enable the state to tax income and crack down on illegal business activities</h2>
+ <h2>
+ {% trans %}
+ 3. Enable the state to tax income and crack down on illegal business activities
+ {% endtrans %}
+ </h2>
<!-- From https://www.pxhere.com/ -->
- <img style="width:20vw;float:right;padding:15px" src="../images/money-laundering.medium.jpg" alt="Money laundering">
+ <img style="width:20vw;float:right;padding:15px" src="../images/money-laundering.medium.jpg" alt="{{_("Money laundering")}}">
<p>
+ {% trans %}
As a payment system must still be legal to operate and use, it must comply
with these requirements. Furthermore, we consider levying of taxes as
beneficial to society.
+ {% endtrans %}
</p>
</div>
</div>
<div class="row">
<div class="col-lg-12">
- <h2>4. Prevent payment fraud</h2>
+ <h2>
+ {% trans %}
+ 4. Prevent payment fraud
+ {% endtrans %}
+ </h2>
<!-- From https://www.maxpixel.net/ -->
- <img style="width:20vw;float:left;padding:15px" src="../images/fraud.medium.jpg" alt="Phishing attack">
+ <img style="width:20vw;float:left;padding:15px" src="../images/fraud.medium.jpg" alt="{{_("Phishing attack")}}">
<p>
+ {% trans %}
This imposes requirements on the security of the system, as well as on the
general design, as payment fraud can also happen through misleading user
interface design or the lack of cryptographic evidence for certain processes.
+ {% endtrans %}
</p>
</div>
</div>
<div class="row">
<div class="col-lg-12">
- <h2>5. Only disclose the minimal amount of information necessary</h2>
- <img style="width:20vw;float:right;padding:15px" src="../images/gdpr.medium.jpg" alt="Privacy by design, privacy by default, General Data Protection Regulation (GDPR) compliant"></a>
+ <h2>
+ {% trans %}
+ 5. Only disclose the minimal amount of information necessary
+ {% endtrans %}
+ </h2>
+ <img style="width:20vw;float:right;padding:15px" src="../images/gdpr.medium.jpg" alt="{{_("Privacy by design, privacy by default, General Data Protection Regulation (GDPR) compliant")}}"></a>
<p>
+ {% trans %}
The reason behind this goal is similar to (2). The privacy of buyers is given
priority, but other parties such as merchants still benefit from it, for example,
by keeping details about the merchant’s financials hidden from competitors.
+ {% endtrans %}
</p>
</div>
</div>
<div class="row">
<div class="col-lg-12">
- <h2>6. Be usable</h2>
- <img style="width:20vw;float:left;padding:15px" src="../images/buy.medium.jpg" alt="Buy with one click"></a>
+ <h2>{% trans %}
+ 6. Be usable
+ {% endtrans %}
+ </h2>
+ <img style="width:20vw;float:left;padding:15px" src="../images/buy.medium.jpg" alt="{{_("Buy with one click")}}"></a>
<p>
+ {% trans %}
Specifically it must be usable for non-expert customers. Usability also
applies to the integration with merchants, and informs choices about the
architecture, such as encapsulating procedures that require cryptographic
operations into an isolated component with a simple API.
+ {% endtrans %}
</p>
</div>
</div>
<div class="row">
<div class="col-lg-12">
- <h2>7. Be efficient</h2>
- <img style="width:20vw;float:right;padding:15px" src="../images/efficient.png" alt="Energy efficiency"></a>
+ <h2>
+ {% trans %}
+ 7. Be efficient
+ {% endtrans %}
+ </h2>
+ <img style="width:20vw;float:right;padding:15px" src="../images/efficient.png" alt="{{_("Energy efficiency")}}"></a>
<p>
+ {% trans %}
Approaches such as proof-of-work are ruled out by this requirement. Efficiency is necessary for GNU Taler to be used for micropayments.
+ {% endtrans %}
</p>
</div>
</div>
<div class="row">
<div class="col-lg-12">
- <h2>8. Fault-tolerant design</a></h2>
- <img style="width:20vw;float:left;padding:15px" src="../images/life-safer.medium.jpg" alt="Life Safers"></a>
+ <h2>
+ {% trans %}
+ 8. Fault-tolerant design
+ {% endtrans %}
+ </a></h2>
+ <img style="width:20vw;float:left;padding:15px" src="../images/life-safer.medium.jpg" alt="{{_("Life Safers")}}"></a>
<p>
+ {% trans %}
Taler should tolerate failure of individual components and systems,
including malicious operators compromising core secrets.
This manifests in architectural choices such
as the isolation of certain components, and auditing procedures.
+ {% endtrans %}
</p>
</div>
</div>
<div class="row">
<div class="col-lg-12">
- <h2>9. Foster competition</h2>
- <img style="width:20vw;float:right;padding:15px" src="../images/market.medium.jpg" alt="A competitive market"></a>
+ <h2>
+ {% trans %}
+ 9. Foster competition
+ {% endtrans %}
+ </h2>
+ <img style="width:20vw;float:right;padding:15px" src="../images/market.medium.jpg" alt="{{_("A competitive market")}}"></a>
<p>
+ {% trans %}
It must be relatively easy for competitors to join the systems. While the
barriers for this in traditional financial systems are rather high, the technical
burden for new competitors to join must be minimized. Another design
choice that supports this is to split the whole system into smaller components
that can be operated, developed and improved upon independently,
instead of having one completely monolithic system.
+ {% endtrans %}
</p>
</div>
</div>