summaryrefslogtreecommitdiff
path: root/template/principles.html.j2
diff options
context:
space:
mode:
Diffstat (limited to 'template/principles.html.j2')
-rw-r--r--template/principles.html.j2215
1 files changed, 215 insertions, 0 deletions
diff --git a/template/principles.html.j2 b/template/principles.html.j2
new file mode 100644
index 00000000..e1b94e14
--- /dev/null
+++ b/template/principles.html.j2
@@ -0,0 +1,215 @@
+{% extends "common/base.j2" %}
+{% block body_content %}
+
+<script>
+function expand(n) {
+ var x = document.getElementById(n);
+ console.log(x);
+ x.setAttribute("style", "");
+}
+</script>
+
+<style>
+h2 {
+ margin-top: 1em;
+}
+</style>
+
+<div class="container">
+ <div class="row">
+ <div class="col">
+ <h1>
+ {% trans %}
+ GNU Taler: Design Principles
+ {% endtrans %}
+ </h1>
+ </div>
+ </div>
+ <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>
+ {% 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>
+ {% 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")}}">
+ <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.
+ {% endtrans %}
+ </p>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-lg-12">
+ <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")}}">
+ <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>
+ {% 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")}}">
+ <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>
+ {% 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>{% 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>
+ {% 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>
+ {% 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>
+ {% 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>
+ </div>
+</div>
+
+{% endblock body_content %}