summaryrefslogtreecommitdiff
path: root/template
diff options
context:
space:
mode:
Diffstat (limited to 'template')
-rw-r--r--template/bibliography.html.j25
-rw-r--r--template/cashier.html.j22
-rw-r--r--template/comingsoon.html.j291
-rw-r--r--template/contact.html.j286
-rw-r--r--template/copyright.html.j22
-rw-r--r--template/development.html.j2174
-rw-r--r--template/docs.html.j2250
-rw-r--r--template/faq.html.j2164
-rw-r--r--template/features.html.j224
-rw-r--r--template/financial-news.html.j22
-rw-r--r--template/funding.html.j275
-rw-r--r--template/governments.html.j26
-rw-r--r--template/ideas.html.j278
-rw-r--r--template/index.html.j216
-rw-r--r--template/kyc-done.html.j213
-rw-r--r--template/kyc.html.j2233
-rw-r--r--template/news/2015-12.html.j24
-rw-r--r--template/news/2020-12.html.j259
-rw-r--r--template/news/2021-01.html.j23
-rw-r--r--template/news/2021-03.html.j29
-rw-r--r--template/news/2021-07.html.j233
-rw-r--r--template/news/2021-08.html.j220
-rw-r--r--template/news/2021-09.html.j273
-rw-r--r--template/news/2021-10.html.j237
-rw-r--r--template/news/2021-11.html.j251
-rw-r--r--template/news/2022-01.html.j238
-rw-r--r--template/news/2022-02.html.j259
-rw-r--r--template/news/2022-03.html.j230
-rw-r--r--template/news/2022-05.html.j240
-rw-r--r--template/news/2022-06.html.j254
-rw-r--r--template/news/2022-07.html.j239
-rw-r--r--template/news/2022-08.html.j213
-rw-r--r--template/news/2022-09.html.j228
-rw-r--r--template/news/2022-10.html.j257
-rw-r--r--template/news/2022-11.html.j221
-rw-r--r--template/news/2023-01.html.j244
-rw-r--r--template/news/2023-04.html.j244
-rw-r--r--template/news/2023-06.html.j224
-rw-r--r--template/news/2023-11.html.j271
-rw-r--r--template/news/2023-12.html.j215
-rw-r--r--template/news/2024-01.html.j210
-rw-r--r--template/news/2024-02.html.j254
-rw-r--r--template/news/2024-03.html.j212
-rw-r--r--template/news/2024-04.html.j2126
-rw-r--r--template/news/2024-05.html.j254
-rw-r--r--template/news/2024-06.html.j257
-rw-r--r--template/news/index.html.j212
-rw-r--r--template/ngi-taler.html.j2241
-rw-r--r--template/pos.html.j22
-rw-r--r--template/press.html.j254
-rw-r--r--template/principles.html.j223
-rw-r--r--template/rss.xml.j22
-rw-r--r--template/schemafuzz.html.j21
-rw-r--r--template/wallet-android-privacy-policy.html.j210
-rw-r--r--template/wallet-privacy-policy.html.j225
-rw-r--r--template/wallet-webextension-privacy-policy.html.j220
-rw-r--r--template/wallet.html.j2162
57 files changed, 2576 insertions, 376 deletions
diff --git a/template/bibliography.html.j2 b/template/bibliography.html.j2
index 10654830..c24a370a 100644
--- a/template/bibliography.html.j2
+++ b/template/bibliography.html.j2
@@ -4,6 +4,7 @@
<header>
<h1>{{ _("GNU Taler Bibliography")}}</h1>
</header>
+ <main id="maincontent">
<div class="row">
<div class="col-lg-12">
{% for item in conf["paperslist"] %}
@@ -27,9 +28,7 @@
{{_("by")}}
{% if item['authors'] %}
{% for name in item['authors'] %}
- {{ name|e }}
- {% if not loop.last %}
- ,
+ {{ name|e }}{% if not loop.last %},
{% elif loop.revindex0 == 1 %}
{{ _("and") }}
{% endif %}
diff --git a/template/cashier.html.j2 b/template/cashier.html.j2
index 6a6b548e..37cf79b5 100644
--- a/template/cashier.html.j2
+++ b/template/cashier.html.j2
@@ -35,7 +35,7 @@
<h1 lang="en">Taler Cashier</h1>
</div>
</div>
-
+<main id="maincontent">
<div class="container">
<div class="row">
diff --git a/template/comingsoon.html.j2 b/template/comingsoon.html.j2
new file mode 100644
index 00000000..070b956b
--- /dev/null
+++ b/template/comingsoon.html.j2
@@ -0,0 +1,91 @@
+{% extends "common/base.j2" %}
+{% block body_content %}
+<main id="maincontent">
+<div class="container">
+ <div class="row">
+ <div class="col">
+ <h1>GNU Taler: Coming soon!</h1>
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-lg-6">
+ <p><h3>
+ This ethical universal payment system <br>conceived to be the change we want to see <br>is ready to be used.
+ </h3></p>
+ <p><h3>
+ Payments with GNU Taler are about to be available ... <br><br>
+ <span class="tlr">... but it won't happen without you!</span>
+ </h3></p>
+ </div>
+ <div class="col-lg-6">
+ <img class="img-fluid" src="{{ url_static('images/TalerDiagram.svg') }}" width="500px">
+ </div>
+ </div>
+</div>
+
+<div class="container">
+ <div class="row adorn_h3_bracket">
+ <h2>There are many ways to contribute:</h2>
+ <div class="col-lg-4">
+ <h3>Learn about Taler!</h3>
+ <p>Learn about Taler on <a href="https://taler.net" target="_blank" rel="noopener noreferrer">taler.net</a><br>and in the <a href="https://taler.net/en/faq.html" target="_blank" rel="noopener noreferrer">FAQs!</a>
+ </p>
+ </div>
+ <div class="col-lg-4">
+ <h3>Report your experiences!</h3>
+ <p>Report bugs and share screenshots when you run into difficulties to <a href="https://bugs.taler.net/" target="_blank" rel="noopener noreferrer">our Bug Tracker</a>!
+ </p>
+ </div>
+ <div class="col-lg-4">
+ <h3>Translate to French!</h3>
+ <p>Help with French translations on <a href="https://weblate.taler.net/projects/gnu-taler/-/fr/" target="_blank" rel="noopener noreferrer">Taler's translation platform Weblate</a>.
+ </p>
+ </div>
+ <div class="col-lg-4">
+ <h3>Translate to Italian!</h3>
+ <p>Help with Italian translations on <a href="https://weblate.taler.net/projects/gnu-taler/-/it/" target="_blank" rel="noopener noreferrer">Taler's translation platform Weblate</a>.
+ </p>
+ </div>
+ <div class="col-lg-4">
+ <h3>Try Taler!</h3>
+ <p>Try it yourself with the <a href="https://demo.taler.net" target="_blank" rel="noopener noreferrer">interactive demo</a>!
+ </p>
+ </div>
+ <div class="col-lg-4">
+ <h3>Contact us!</h3>
+ <p>You are invited to get into contact with the Taler staff for further steps. You will also find a contacts overview on <a href="https://taler.net/en/contact.html" target="_blank" rel="noopener noreferrer">Taler's contacts page</a>.
+ </p>
+ </div>
+ </div>
+ </div>
+
+<div class="container-fluid">
+ <div class="container" style="border: 5px dotted black">
+ <div class="row">
+ <div class="col-lg-6">
+ <h2>Apply for grants in our open calls</h2>
+ <p>As part of the <a href="https://taler.net/de/ngi-taler.html" target="_blank" rel="noopener noreferrer">NGI TALER project</a>, grants to third parties working on GNU Taler implementations will be awarded.
+ </p>
+ <p>The grant application process is simple and the first submission deadline is <br>April 1st 2024.
+ </p>
+ <p>If you are looking for inspiration, we have put together a <a href="https://stage.taler.net/en/ideas.html" target="_blank" rel="noopener noreferrer"> list of ideas</a>.
+ </p>
+ <p>Please apply with your ideas at <a href="https://nlnet.nl/taler/" target="_blank" rel="noopener noreferrer">NLnet's open call page</a>.
+ </p>
+ </div>
+
+ <div class="col-lg-6">
+ <h2>You are in Basel?</h2>
+ <p>NetzBon, the local currency in circulation at dozens of merchants and stores is about to go digital with GNU Taler, called <a href="https://www.netzbon.ch/e-netzbon/" target="_blank" rel="noopener noreferrer">eNetzBon</a>.
+ </p>
+ <p>Local currency and ethical payments open inspiring perspectives. Join our brainstorming team to take part in talks, debates and panels that will be organised in 2024!
+ </p>
+ <h2>You are in Europe?</h2>
+ <p>Spread the open call to all the geeks you know: there are grants for the myriad of implementations that webwide availability requires.
+ </p>
+ </div>
+ </div>
+ </div>
+</div>
+
+{% endblock body_content %}
diff --git a/template/contact.html.j2 b/template/contact.html.j2
index 94658581..079b9ea0 100644
--- a/template/contact.html.j2
+++ b/template/contact.html.j2
@@ -1,36 +1,56 @@
{% extends "common/base.j2" %}
{% block body_content %}
-
+<main id="maincontent">
<div class="jumbotron">
<div class="container text-center">
- <h1>{{ _("Contact information") }}</h1>
+ <h1>{{ _("Contact Overview") }}</h1>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-6">
- <h2>{{ _("The mailing list") }}</h2>
+ <h2>{{ _("GNU Taler Mailing List") }}</h2>
<p>
{% trans %}
- An archived, public mailing list for GNU Taler is
- hosted at
+ A public mailing list for GNU Taler is hosted at
+ <a href="https://lists.gnu.org/mailman/listinfo/taler" target="_blank" rel="noopener noreferrer">https://lists.gnu.org/mailman/listinfo/taler</a>,
+ <a href="https://lists.gnu.org/archive/html/taler/" target="_blank" rel="noopener noreferrer">archived here</a>.
+ You can send messages to the list via email to
+ <a href="mailto:taler'AT'gnu.org">taler'AT'gnu.org</a>.{% endtrans %}
+ </p>
+ </div>
+
+ <div class="col-lg-6">
+ <h2>{{ _("General Inquiries") }}</h2>
+ <p>
+ {% trans %}
+ You can reach a group of team members handling general inquiries by sending emails to
+ <a href="mailto:contact'AT'taler.net">contact'AT'taler.net</a>.
{% endtrans %}
- <a href="https://lists.gnu.org/mailman/listinfo/taler">https://lists.gnu.org/mailman/listinfo/taler</a>
- (<a href="https://lists.gnu.org/archive/html/taler/">{{ _("archive")}}</a>).
+ </p>
+ </div>
+
+ <div class="col-lg-6">
+ <h2>{{ _("Reporting Bugs") }}</h2>
+ <p>
+ {% trans %}
+ We track open feature requests and bugs in our
+ {% endtrans %}
+ <a href="https://bugs.taler.net/" target="_blank" rel="noopener noreferrer">{{ _("Bug tracker") }}</a>,
{% trans %}
- You can send messages to the list at
+ which is shared with the GNUnet project.
+ You can also report bugs or feature requests to the mailing list.
{% endtrans %}
- <a href="mailto:taler@gnu.org">taler@gnu.org</a>.
</p>
</div>
<div class="col-lg-6">
- <h2>{{ _("Contacting individuals") }}</h2>
+ <h2>{{ _("Contacting Individuals") }}</h2>
<p>
{% trans %}
Team members are generally reachable at
- <tt>LASTNAME@taler.net</tt>. All of us
+ <tt>LASTNAME AT taler.net</tt>. All of us
support receiving GnuPG encrypted e-mails.
{% endtrans %}
</p>
@@ -40,46 +60,60 @@
<h2>{{ _("Chat") }}</h2>
<p>
{% trans %}
- We frequently discuss issues using <a href="https://mumble.sf.net/">Mumble</a>
+ We frequently discuss issues using <a href="https://mumble.sf.net/" target="_blank" rel="noopener noreferrer">Mumble</a>
on <tt>gnunet.org</tt>. Feel free to join us in the lobby or developer rooms.
{% endtrans %}
</p>
</div>
<div class="col-lg-6">
- <h2>{{ _("Reporting bugs") }}</h2>
+ <h2>{{ _("Executive Team") }}</h2>
<p>
{% trans %}
- We track open feature requests and bugs in our
+ For non-technical commercial requests, please contact
+ <a href="mailto:ceo'AT'taler-systems.com">ceo'AT'taler-systems.com</a>.
{% endtrans %}
- <a href="https://gnunet.org/bugs/">{{ _("Bug tracker") }}</a>,
+ </p>
+ </div>
+
+ <div class="col-lg-6">
+ <h2>{{ _("Community Forum") }}</h2>
+ <p>
{% trans %}
- which is shared with the GNUnet project.
- You can also report bugs or feature requests to the
- mailing list.
+ Our community forum for Taler is located at<a href="https://ich.taler.net/" target="_blank" rel="noopener noreferrer"> the Integration Community Hub (TALER ICH)</a>.
{% endtrans %}
</p>
</div>
<div class="col-lg-6">
- <h2>{{ _("General inquiries") }}</h2>
+ <h2>{{ _("Sales and Marketing") }}</h2>
<p>
{% trans %}
- You can reach a group of team members handling
- general inquiries at <tt>contact AT taler.net</tt>.
- {% endtrans %}
+ You can reach our Head of Marketing handling your requests by sending an email to
+ <a href="mailto:sales'AT'taler.net">sales'AT'taler.net</a> respectively
+ <a href="mailto:marketing'AT'taler.net">marketing'AT'taler.net</a>.{% endtrans %}
</p>
</div>
<div class="col-lg-6">
- <h2>{{ _("Executive team") }}</h2>
+ <h2>{{ _("Onboarding") }}</h2>
<p>
{% trans %}
- For non-technical commercial requests, please contact
- <tt>ceo AT taler-systems.com</tt>.
- {% endtrans %}
+ If you want to contribute to GNU Taler you can send us an email to
+ <a href="mailto:onboarding'AT'taler-systems.com">onboarding'AT'taler-systems.com</a> or look up
+ <a href="https://taler-systems.com/en/company.html" target="_blank" rel="noopener noreferrer">open positions and job opportunities</a>.{% endtrans %}
+ </p>
+ </div>
+
+ <div class="col-lg-6">
+ <h2>{{ _("Public Relations and Media Contact") }}</h2>
+ <p>
+ {% trans %}
+ You can reach our team members responsible for PR, press and media contacts via email to
+ <a href="mailto:press'AT'taler.net">press'AT'taler.net</a>.{% endtrans %}
</p>
</div>
+
</div>
</div>
{% endblock body_content %}
diff --git a/template/copyright.html.j2 b/template/copyright.html.j2
index 1c9fa039..f46f036c 100644
--- a/template/copyright.html.j2
+++ b/template/copyright.html.j2
@@ -1,6 +1,6 @@
{% extends "common/base.j2" %}
{% block body_content %}
-
+<main id="maincontent">
<div class="jumbotron">
<div class="container text-center">
<h1>{{ _("Copyright Assignment") }}</h1>
diff --git a/template/development.html.j2 b/template/development.html.j2
new file mode 100644
index 00000000..421970bf
--- /dev/null
+++ b/template/development.html.j2
@@ -0,0 +1,174 @@
+{% extends "common/base.j2" %}
+{% block body_content %}
+<main id="maincontent">
+<div class="container">
+ <div class="row">
+ <div class="col">
+ <h1>{{ _("GNU Taler: Links and Information for Code Development")}}</h1>
+ </div>
+ </div>
+
+ <div class="row mt-5">
+ </div>
+ <div class="row justify-content-center text-center">
+ <div class="col-8">
+ <h2>{{ _("Developer Services")}}</h2>
+ </div>
+ </div>
+ <div class="row mt-5">
+ </div>
+ <div class="row">
+ <div class="col-lg-4 mb-4">
+ <a href="https://git.taler.net" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-git-2407191.svg') }}" height=60>
+ <h3>{{ _("Git Repositories") }}</h3>
+ </a>
+ {{ _("Git repositories for all of GNU Taler.") }}
+ </div>
+
+ <div class="col-lg-4 mb-4">
+ <a href="https://lcov.taler.net" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/icon-lcov.svg') }}" height=60>
+ <h3>{{ _("lcov Results") }}</h3>
+ </a>
+ {{ _("Shows results of the code coverage analysis for our test suite.") }}
+ </div>
+
+ <div class="col-lg-4 mb-4">
+ <a href="https://buildbot.taler.net" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-continuous-integration-4368507.svg') }}" height=60>
+ <h3>{{ _("Continuous Integration") }}</h3>
+ </a>
+ {{ _("Continuous integration and deployment is managed by our Buildbot.") }}
+ </div>
+
+ <div class="col-lg-4 mb-4">
+ <a href="https://weblate.taler.net/" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-translate-5177522.svg') }}" height=60>
+ <h3>{{ _("Internationalization")}}</h3>
+ </a>
+ {% trans %}
+ By using <a href="https://weblate.taler.net/" target="_blank" rel="noopener noreferrer">Weblate</a>
+ everyone in the community can contribute with translations to the web pages and the GNU Taler applications.
+ {% endtrans %}
+ </div>
+
+ <div class="col-lg-4 mb-4">
+ <a href="https://git.taler.net/twister.git/" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-twister-2280690.svg') }}" height=60>
+ <h3>{{ _("Twister") }}</h3>
+ </a>
+ {% trans %}
+ HTTP modifying man-in-the-middle proxy to test error handling.
+ {% endtrans %}
+ </div>
+ </div>
+
+ <div class="row mt-5">
+ </div>
+
+ <div class="row justify-content-center text-center">
+ <div class="col-8">
+ <h2>{{ _("Experimental Work")}}</h2>
+ </div>
+ </div>
+
+ <div class="row mt-5">
+ </div>
+
+ <div class="row">
+ <div class="col-lg-4 mb-4">
+ <a href="https://git.gnunet.org/libbrandt.git/" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-auction-5172639.svg') }}" height=60>
+ <h3>{{ _("SMC Auctions") }}</h3>
+ </a>
+ {{ _("Secure multiparty auction protocol (future Taler Exchange extension).") }}
+ </div>
+
+ <div class="col-lg-4 mb-4">
+ <a href="https://git.taler.net/mch2022.git/" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-id-badge-348401.svg') }}" height=60>
+ <h3>{{ _("MCH 2022 Badge Integration") }}</h3>
+ </a>
+ {% trans %}
+ Accept GNU Taler payments on your MCH 2022 badge.
+ {% endtrans %}
+ </div>
+
+<!-- <div class="col-lg-4 mb-4">
+ <a href="" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-point-of-sale-3185628.svg') }}" height=60>
+ <h3>{{ _("EMVco Integration") }}</h3>
+ </a>
+ {{ _("Integration with EMVco PoS systems (to be started soon).") }}
+ </div>
+
+ <div class="col-lg-4 mb-4">
+ <a href="" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-vault-1775866.svg') }}" height=60>
+ <h3>{{ _("Taler Vault") }}</h3>
+ </a>
+ {{ _("Hardware security module for GNU Taler (to be started soon).") }}
+ </div>
+
+ <div class="col-lg-4 mb-4">
+ <a href="" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-e-commerce-218402.svg') }}" height=60>
+ <h3>{{ _("Payage Payment Plugin") }}</h3>
+ </a>
+ {% trans %}
+ GNU Taler payment plugin for Payage/Joomla! (coming soon).
+ {% endtrans %}
+ </div>
+-->
+</div>
+
+ <div class="row mt-5">
+ </div>
+ <div class="row justify-content-center text-center">
+ <div class="col-8">
+ <h2>{{ _("Community Interaction")}}</h2>
+ </div>
+ </div>
+ <div class="row mt-5">
+ </div>
+
+ <div class="row">
+ <div class="col-lg-4 mb-4">
+ <a href="https://lists.gnu.org/mailman/listinfo/taler" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-email-list-4339749.svg') }}" height=60>
+ <h3>{{ _("Mailing List")}}</h3>
+ </a>
+ {{ _("The public GNU Taler mailing list.") }}
+ </div>
+
+ <div class="col-lg-4 mb-4">
+ <a href="https://ich.taler.net/" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-chat-5180308.svg') }}" height=60>
+ <h3>{% trans %}Community Forum{% endtrans %}</h3>
+ </a>
+ {% trans %}
+ Our community forum for Taler is located at<a href="https://ich.taler.net/" target="_blank" rel="noopener noreferrer"> the Integration Community Hub (TALER ICH)</a>.
+ {% endtrans %}
+ </div>
+
+ <div class="col-lg-4 mb-4">
+ <a href="https://bugs.taler.net/" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-bug-tracking-2119186.svg') }}" height=60>
+ <h3>{{ _("Bug Tracker")}}</h3>
+ </a>
+ {{ _("Our bug tracker for bugs and feature requests.") }}
+ </div>
+
+ <div class="col-lg-4 mb-4">
+ <a href="https://docs.taler.net/taler-developer-manual.html" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-onboarding-2896490.svg') }}" height=60>
+ <h3>{{ _("Onboarding")}}</h3>
+ </a>
+ {% trans %}
+ Description of our taler.net setup and how to contribute.
+ {% endtrans %}
+ </div>
+ </div>
+</div>
+{% endblock body_content %}
diff --git a/template/docs.html.j2 b/template/docs.html.j2
index e19dddac..ba170a0c 100644
--- a/template/docs.html.j2
+++ b/template/docs.html.j2
@@ -1,5 +1,6 @@
{% extends "common/base.j2" %}
{% block body_content %}
+<main id="maincontent">
<div class="container">
<div class="row">
<div class="col">
@@ -12,18 +13,16 @@
{% trans %}
This is an overview of documentation and other resources for GNU Taler.
The full documentation contents can be found
- <a href="https://docs.taler.net/">here</a>.
+ <a href="https://docs.taler.net/" target="_blank" rel="noopener noreferrer">here</a>.
{% endtrans %}
</div>
</div>
-
<div class="row mt-5">
</div>
-
<div class="row justify-content-center text-center">
<div class="col-8">
- <h2>{{ _("Components")}}</h2>
+ <h2>{{ _("Core Component Documentation")}}</h2>
</div>
</div>
@@ -31,86 +30,80 @@
</div>
<div class="row">
- <div class="col-lg-4">
- <a href="https://{{ siteconf['docshost'] }}/taler-merchant-manual.html">
+ <div class="col-lg-4 mb-4">
+ <a href="https://{{ siteconf['docshost'] }}/taler-merchant-manual.html" target="_blank" rel="noopener noreferrer">
<img src="{{ url('icons/icon-backend.svg') }}" height=60>
<h3>{{ _("Merchant Backend Administration")}}</h3>
</a>
{% trans docshost=siteconf['docshost'] %}
Tutorial and manual for operating a merchant.
- Also available as <a href="https://{{ docshost }}/pdf/taler-merchant-manual.pdf">PDF</a>.
{% endtrans %}
</div>
- <div class="col-lg-4">
- <a href="https://{{ siteconf['docshost'] }}/taler-merchant-api-tutorial.html">
+ <div class="col-lg-4 mb-4">
+ <a href="https://{{ siteconf['docshost'] }}/taler-merchant-api-tutorial.html" target="_blank" rel="noopener noreferrer">
<img src="{{ url('icons/icon-market.svg') }}" height=60>
<h3>{{ _("Merchant API Tutorial") }}</h3>
</a>
{% trans %}
Tutorial for processing Taler payments using the merchant backend API.
{% endtrans %}
- {{ gettext('Also available as <a href="%(link)s">PDF</a>.', link="https://" + siteconf['docshost'] + "/pdf/taler-merchant-api-tutorial.pdf") }}
</div>
- <div class="col-lg-4">
- <a href="https://{{ siteconf['docshost'] }}/taler-exchange-manual.html">
- <img src="{{ url('icons/icon-exchange.svg') }}" height=60>
- <h3>{{ _("Exchange")}}</h3>
+ <div class="col-lg-4 mb-4">
+ <a href="https://{{ siteconf['docshost'] }}/core/api-merchant.html" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/icon-backoffice.svg') }}" height=60>
+ <h3>{{ _("Back Office") }}</h3>
</a>
{% trans %}
- Operator&#39;s manual for the GNU Taler exchange.
+ Manual to run the back-office Web application.
{% endtrans %}
- {{ gettext('Also available as <a href="%(link)s">PDF</a>.', link="https://" + siteconf['docshost'] + "/pdf/taler-exchange-manual.pdf") }}
</div>
- <div class="col-lg-4">
- <a href="https://{{ siteconf['docshost'] }}/taler-bank-manual.html">
- <img src="{{ url('icons/icon-bank.svg') }}" height=60>
- <h3>{{ _("Bank Integration") }}</h3>
+ <div class="col-lg-4 mb-4">
+ <a href="https://{{ siteconf['docshost'] }}/taler-merchant-pos-terminal.html" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-tablet-4084423.svg') }}" height=60>
+ <h3>{{ _("Merchant POS Terminal") }}</h3>
</a>
{% trans %}
- Manual for tightly integrating Taler with banking applications.
+ Manual for configuring and using the point of sale app.
{% endtrans %}
- {{ gettext('Also available as <a href="%(link)s">PDF</a>.', link="https://" + siteconf['docshost'] + "/pdf/taler-bank-manual.pdf") }}
</div>
- <div class="col-lg-4">
- <a href="https://{{ siteconf['docshost'] }}/taler-wallet.html">
- <img src="{{ url('icons/icon-wallet.svg') }}" height=60>
- <h3>{{ _("Wallet") }}</h3>
+ <div class="col-lg-4 mb-4">
+ <a href="https://{{ siteconf['docshost'] }}/taler-exchange-manual.html" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/icon-exchange.svg') }}" height=60>
+ <h3>{{ _("Exchange")}}</h3>
</a>
{% trans %}
- Manual about the Taler wallets (WebExtensions, Android, CLI).
- You can download pre-packaged binaries from
- <a href="wallet.html">the Taler wallet Web site</a>.
+ Operator&#39;s manual for the GNU Taler Exchange.
{% endtrans %}
</div>
- <div class="col-lg-4">
- <a href="https://{{ siteconf['docshost'] }}/taler-backoffice-manual.html">
- <img src="{{ url('icons/icon-backoffice.svg') }}" height=60>
- <h3>{{ _("Back office") }}</h3>
+ <div class="col-lg-4 mb-4">
+ <a href="https://{{ siteconf['docshost'] }}/core/api-bank-integration.html" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/icon-bank.svg') }}" height=60>
+ <h3>{{ _("Bank Integration") }}</h3>
</a>
{% trans %}
- Manual to run the back-office Web application.
+ Manual for tightly integrating Taler with banking applications.
{% endtrans %}
- {{ gettext('Also available as <a href="%(link)s">PDF</a>.', link="https://" + siteconf['docshost'] + "/pdf/taler-backoffice-manual.pdf") }}
</div>
- <div class="col-lg-4">
- <a href="https://{{ siteconf['docshost'] }}/taler-merchant-pos-terminal.html">
- <img src="{{ url('icons/icon-market.svg') }}" height=60>
- <h3>{{ _("Merchant POS Terminal") }}</h3>
+ <div class="col-lg-4 mb-4">
+ <a href="https://{{ siteconf['docshost'] }}/taler-wallet.html" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-digital-wallet-5004389.svg') }}" height=60>
+ <h3>{{ _("Wallet") }}</h3>
</a>
{% trans %}
- Manual for configuring and using the point of sale app.
+ Manual about the Taler wallets (WebExtensions, Android, iOS, CLI).
+ You can download pre-packaged binaries from
+ <a href="wallet.html" target="_blank" rel="noopener noreferrer">the Taler wallet Web site</a>.
{% endtrans %}
- {{ gettext('Also available as <a href="%(link)s">PDF</a>.', link="https://" + siteconf['docshost'] + "/pdf/taler-merchant-pos-terminal.pdf") }}
</div>
- <div class="col-lg-4">
- <a href="{{ url_localized('cashier.html') }}">
+ <div class="col-lg-4 mb-4">
+ <a href="{{ url_localized('cashier.html') }}" target="_blank" rel="noopener noreferrer">
<img src="{{ url('icons/icon-cashier.svg') }}" height=60>
<h3>{{ _("Cashier") }}</h3>
</a>
@@ -119,7 +112,16 @@
{% endtrans %}
</div>
-
+ <div class="col-lg-4 mb-4">
+ <a href="/papers/esorics2022-age-restriction.pdf" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-parental-discretion-233685.svg') }}" height=60>
+ <h3>{{ _("Age Restrictions")}}</h3>
+ </a>
+ {% trans %}
+ Cryptographic background on how parents can set age-restrictions on Taler coins
+ to protect minors from inappropriate purchases while preserving privacy for everyone.
+ {% endtrans %}
+ </div>
</div>
<div class="row mt-5">
@@ -127,7 +129,7 @@
<div class="row justify-content-center text-center">
<div class="col-8">
- <h2>{{ _("Internals")}}</h2>
+ <h2>{{ _("Supplemental services")}}</h2>
</div>
</div>
@@ -135,25 +137,65 @@
</div>
<div class="row">
- <div class="col-lg-4">
- <a href="https://{{ siteconf['docshost'] }}/core/index.html">
- <img src="{{ url('icons/icon-api.svg') }}" height=60>
- <h3>{{ _("HTTP API")}}</h3>
+ <div class="col-lg-4 mb-4">
+ <a href="https://anastasis.lu/" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-recovery-4887278.svg') }}" height=60>
+ <h3>{{ _("GNU Anastasis") }}</h3>
</a>
{% trans %}
- Reference for the HTTP-based API for Taler components.
+ Privacy-preserving distributed key escrow and recovery services.
+ {% endtrans %}
+ </div>
+
+ <div class="col-lg-4 mb-4">
+ <a href="https://git.taler.net/libeufin.git/" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-bank-5178441.svg') }}" height=60>
+ <h3>{{ _("libeufin") }}</h3>
+ </a>
+ {% trans %}
+ Implementation of the Taler wire gateway over the EBICS/FinTS protocol suite,
+ including stand-alone bank (for regional currencies).
+ {% endtrans %}
+ </div>
+
+ <div class="col-lg-4 mb-4">
+ <a href="https://git.taler.net/depolymerization.git/" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-blockchain-4878073.svg') }}" height=60>
+ <h3>{{ _("Depolymerization") }}</h3>
+ </a>
+ {% trans %}
+ Implementation of the Taler wire gateway over the Bitcoin and Ethereum blockchains.
+ {% endtrans %}
+ </div>
+
+ <div class="col-lg-4 mb-4">
+ <a href="https://git.taler.net/sync.git/" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-synchronization-5156797.svg') }}" height=60>
+ <h3>{{ _("Sync") }}</h3>
+ </a>
+ {% trans %}
+ Encrypted data backup and recovery service.
+ {% endtrans %}
+ </div>
+
+ <div class="col-lg-4 mb-4">
+ <a href="https://git.taler.net/taler-mailbox.git/" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-mailbox-5176593.svg') }}" height=60>
+ <h3>{{ _("Taler Mailbox") }}</h3>
+ </a>
+ {% trans %}
+ Reliably deliver payment messages between Taler wallets.
{% endtrans %}
</div>
- <div class="col-lg-4">
- <a href="https://{{ siteconf['docshost'] }}/developers-manual.html">
- <img src="{{ url('icons/icon-developers.svg') }}" height=60>
- <h3>{{ _("Onboarding")}}</h3>
+ <div class="col-lg-4 mb-4">
+ <a href="https://git.taler.net/taldir.git/" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-directory-1024875.svg') }}" height=60>
+ <h3>{{ _("TalDir") }}</h3>
</a>
{% trans %}
- Description of our taler.net setup and how to contribute.
+ Directory to associate addresses (e-mail, phone numbers, etc.) with Taler wallets.
{% endtrans %}
- {{ gettext('Also available as <a href="%(link)s">PDF</a>.', link="https://" + siteconf['docshost'] + "/pdf/developers-manual.pdf") }}
</div>
</div>
@@ -162,36 +204,51 @@
<div class="row justify-content-center text-center">
<div class="col-8">
- <h2>{{ _("Community")}}</h2>
+ <h2 id="extensions">{{ _("Extensions")}}</h2>
</div>
- </div>
-
- <div class="row mt-5">
- </div>
+ </div>
<div class="row">
- <div class="col-lg-4">
- <a href="https://lists.gnu.org/mailman/listinfo/taler">
- <img src="{{ url('icons/icon-share.svg') }}" height=60>
- <h3>{{ _("Mailing List")}}</h3>
+ <div class="col-lg-4 mb-4">
+ <a href="https://git.taler.net/taler-mdb.git/" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-vending-machine-4884056.svg') }}" height=60>
+ <h3>{{ _("Taler-MDB") }}</h3>
+ </a>
+ {% trans %}
+ Integration of GNU Taler with the Multi-Drop-Bus (MDB) protocol commonly used in vending machines.
+ Deployed at a coffee-and-snack machine at <a href="https://www.bfh.ch/ti/de/aktuell/medienmitteilungen/2020/die-technik-von-taler-ueberzeugt/" target="_blank" rel="noopener noreferrer">BFH</a>.
+ {% endtrans %}
+ </div>
+
+ <div class="col-lg-4 mb-4">
+ <a href="https://git.taler.net/gnu-taler-payment-for-woocommerce.git/" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-e-commerce-218402.svg') }}" height=60>
+ <h3>{{ _("WooCommerce Payment Backend") }}</h3>
</a>
- {{ _("The official GNU Taler mailing list.") }}
+ {% trans %}
+ GNU Taler payment plugin for the WooCommerce e-commerce solution
+ (itself based on WordPress).
+ {% endtrans %}
</div>
- <div class="col-lg-4">
- <a href="https://webchat.freenode.net/?channels=taler">
- <img src="{{ url('icons/icon-share.svg') }}" height=60>
- <h3>{{ _("IRC")}}</h3>
+ <div class="col-lg-4 mb-4">
+ <a href="https://github.com/pretix/pretix-taler" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-tickets-5179896.svg') }}" height=60>
+ <h3>{{ _("Pretix Payment Backend") }}</h3>
</a>
- {{ _("Our IRC channel is #taler on freenode.") }}
+ {% trans %}
+ GNU Taler payment plugin for the Pretix ticketing system.
+ {% endtrans %}
</div>
- <div class="col-lg-4">
- <a href="https://gnunet.org/bugs/">
- <img src="{{ url('icons/icon-share.svg') }}" height=60>
- <h3>{{ _("Bug Tracker")}}</h3>
+ <div class="col-lg-4 mb-4">
+ <a href="https://git.taler.net/joomla-payage-taler-plugin.git/" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-e-commerce-218402.svg') }}" height=60>
+ <h3>{{ _("Joomla! Payment Backend") }}</h3>
</a>
- {{ _("Our bug tracker for bugs and feature request.") }}
+ {% trans %}
+ GNU Taler payment plugin for the Joomla! e-commerce solution.
+ {% endtrans %}
</div>
</div>
@@ -201,7 +258,7 @@
<div class="row justify-content-center text-center">
<div class="col-8">
- <h2>{{ _("Code")}}</h2>
+ <h2>{{ _("Internals Documentation")}}</h2>
</div>
</div>
@@ -209,32 +266,35 @@
</div>
<div class="row">
-
- <div class="col-lg-4">
- <a href="https://git.taler.net">
- <img src="{{ url('icons/icon-code.svg') }}" height=60>
- <h3>{{ _("Git repositories") }}</h3>
+ <div class="col-lg-4 mb-4">
+ <a href="https://{{ siteconf['docshost'] }}/core/index.html" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/icon-api.svg') }}" height=60>
+ <h3>{{ _("HTTP API")}}</h3>
</a>
- {{ _("Git repositories for all of GNU Taler.") }}
+ {% trans %}
+ Reference for the HTTP-based API for Taler components.
+ {% endtrans %}
</div>
- <div class="col-lg-4">
- <a href="https://lcov.taler.net">
- <img src="{{ url('icons/icon-lcov.svg') }}" height=60>
- <h3>{{ _("lcov results") }}</h3>
+ <div class="col-lg-4 mb-4">
+ <a href="https://tutorials.taler.net/" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/video.svg') }}" height=60>
+ <h3>{{ _("Tutorials")}}</h3>
</a>
- {{ _("Shows results of the code coverage analysis for our test suite.") }}
+ {% trans %}
+ Video tutorials for working with GNU Taler.
+ {% endtrans %}
</div>
- <div class="col-lg-4">
- <a href="https://buildbot.taler.net">
- <img src="{{ url('icons/buildbot.svg') }}" height=60>
- <h3>{{ _("Continuous integration") }}</h3>
+ <div class="col-lg-4 mb-4">
+ <a href="kyc.html" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url('icons/noun-kyc-2913646.svg') }}" height=60>
+ <h3>{{ _("Know-your-customer")}}</h3>
</a>
- {{ _("Continuous integration and deployment is managed by our Buildbot.") }}
+ {% trans %}
+ Overview on Know-your-customer (KYC) integrations for a Taler Exchange.
+ {% endtrans %}
</div>
-
</div>
-
</div>
{% endblock body_content %}
diff --git a/template/faq.html.j2 b/template/faq.html.j2
index c7992785..158f402a 100644
--- a/template/faq.html.j2
+++ b/template/faq.html.j2
@@ -1,7 +1,12 @@
{% extends "common/base.j2" %}
{% block body_content %}
+<main id="maincontent">
<div class="container">
-
+ <div class="row">
+ <div class="col">
+ <h1>{{ _("GNU Taler: Frequently Asked Questions") }}</h1>
+ </div>
+ </div>
<h2>{{ _("How is Taler related to Bitcoin or Blockchains?") }}</h2>
<p>
@@ -26,17 +31,16 @@
<h2>{{ _("Where is the balance in my wallet stored?") }}</h2>
<p>
{% trans %}
- Your wallet stores digital coins and thus ultimately your computer
- holds your balance. The exchange keeps funds matching all unspent
- coins in an escrow bank account.
+ Your wallet stores digital cash and thus ultimately your computer holds your balance.
+ The Taler Exchange keeps funds matching all unspent digital cash in a settlement account.
{% endtrans %}
</p>
<h2>{{ _("What if my wallet is lost?") }}</h2>
<p>
{% trans %}
- Since the digital coins of value in your wallet are anonymized, the
- exchange can not assist you in recovering a lost or stolen wallet.
+ Since Taler's digital cash in your wallet is anonymized, the
+ exchange cannot assist you in recovering a lost or stolen wallet.
Just like with a physical wallet for cash, you are responsible for
keeping it safe.
{% endtrans %}
@@ -52,24 +56,35 @@
<h2>{{ _("What if my computer is hacked?") }}</h2>
<p>
{% trans %}
- In case of a compromise of one of your devices, an attacker can
- spend coins from your wallet. Checking your balance might reveal
- to you that your device has been compromised.
+ In case of a compromise of one of your devices, an attacker can spend digital cash from your wallet.
+ Checking your balance might reveal to you whether your device has eventually been compromised.
+ If a coin has been spent, this coin cannot be spent a second time.
+ The Exchange examines every coin whether it has been spent and thus makes double spending impossible.
{% endtrans %}
</p>
- <h2>{{ _("Can I send money to my friend with Taler?") }}</h2>
+ <h2>{{ _("How do I install a Taler wallet on my browser?") }}</h2>
<p>
- {% trans %}
- If your friend provides goods or services for you in exchange for a
- payment, they can easily set up a Taler merchant and receive the
- payment in their bank account.
+ {% trans %}Please visit the <a href="https://wallet.taler.net/" target="_blank" rel="noopener noreferrer">
+ Taler wallet install page</a> for browser extensions and select the wallet matching with your browser type.
+ {% endtrans %}
+ </p>
+
+ <h2>{{ _("How do I install a Taler wallet on my phone?") }}</h2>
+ <p>
+ {% trans %}Please visit an app store matching with your smartphone and select the Taler app.
+ You will find links on <a href="https://wallet.taler.net/" target="_blank" rel="noopener noreferrer">
+ the wallet install page</a> guiding you to the respective app stores.
{% endtrans %}
</p>
+
+ <h2>{{ _("Can I send money to my friends with Taler?") }}</h2>
<p>
{% trans %}
- Future versions of the Taler wallet may allow exchanging coins
- among friends directly as well.
+ Taler supports push and pull payments between wallets (also known as peer-to-peer payments).
+ While the payment appears to be directly between wallets, technically the operation
+ is intermediated by the payment service provider which will typically be legally required
+ to identify the recipient of the funds before allowing the transaction to complete.
{% endtrans %}
</p>
@@ -140,21 +155,29 @@
<p>
{% trans %}
The exchange would be operated by a bank or in cooperation with a bank, and that bank
- would hold the funds in escrow. Note that this bank could be a regular bank or a central
- bank for a centrally banked electronic currency. Regardless, the bank would fall under
- the respective banking regulations establishing a reason why consumers would have faith
- in the conversion from Taler coins into regular bank money.
+ would hold the funds in escrow respectively on an internal settlement account.
+ Note that this bank could be a regular bank or a central bank for a central bank digital currency.
+ Irrespective of this, the bank would fall under the relevant financial services regulations,
+ which is one reason why consumers can rely on the conversion of Taler coins into normal bank money.
{% endtrans %}
</p>
<h2>{{ _("To whom would consumers complain to in case of non-conversion or non-compliance?") }}</h2>
<p>
{% trans %}
- Any exchange should be audited by one or more independent auditors. Merchants and
- consumer wallets will report certain issues automatically to the auditors, but auditors
- may also provide a method for manual submission of issues. The auditors are expected
- to make their reports available to the respective regulatory authorities, or even
- the general public.
+ From a technical point of view, any exchange is audited by one or more independent auditors.
+ Merchants and consumer wallets will report certain issues automatically to the auditors,
+ but auditors may also provide a method for manual submission of issues.
+ The auditors are expected to make their reports available to the respective regulatory authorities, or even the general public.
+ </p>
+ <p>
+ From a legal point of view, users can always turn to their national authority responsible for
+ settling disputes concerning the management of exchange services.
+ For exchange services conducting business in Germany, this would be the general authority
+ in charge of disputes (<a href="https://www.verbraucher-schlichter.de">Universalschlichtungsstelle des Bundes</a>).
+ In addition to this, the European Online Dispute Resolution (see <a href="http://ec.europa.eu/odr">ODR</a>)
+ as a platform provided by the European Commission can be called for the settlement of disputes
+ concerning exchange services headquartered in member states of the European Union.
{% endtrans %}
</p>
@@ -166,7 +189,7 @@
in discussions with several regular banks as well as several central banks
about the project. That said, there are currently no products in the
market yet, and we believe this would be premature given the state of
- the project (see also <a href="https://gnunet.org/bugs/">our bugtracker</a>
+ the project (see also <a href="https://bugs.gnunet.org/" target="_blank" rel="noopener noreferrer">our bugtracker</a>
for a list of open issues).
{% endtrans %}
</p>
@@ -191,5 +214,94 @@
{% endtrans %}
</p>
+ <h2>{{ _("How do wire fees work?") }}</h2>
+ <p>
+ {% trans %}
+ A <b>wire fee</b> is charged by Taler operators
+ on outgoing wire transfers when Taler is used to wire
+ funds into a bank account. Merchants are encouraged to allow Taler to
+ delay and then aggregate many small payments into a single collective
+ wire transfer to minimize wire transfer fees. For example, by
+ configuring a <b>wire deadline</b> of one week, all payments within a
+ week could be aggregated into a single wire transfer, and thus the wire
+ transfer fee would only be charged once per week. The fee is simply
+ subtracted from the total amount wired.
+ {% endtrans %}
+ </p>
+
+ <h2>{{ _("How do deposit fees work?") }}</h2>
+ <p>
+ {% trans %}
+ Withdrawing 5&nbsp;CHF creates electronic coins with
+ denominations of 0.04&nbsp;CHF, 0.16&nbsp;CHF, 0.32&nbsp;CHF,
+ 0.64&nbsp;CHF, 1.28&nbsp;CHF, and 2.56&nbsp;CHF. Paying 3.23&nbsp;CHF
+ might then use the 0.04&nbsp;CHF, 0.64&nbsp;CHF and 2.56&nbsp;CHF coins,
+ resulting in a total of 3.24&nbsp;CHF with 0.01&nbsp;CHF returned as
+ change.
+ {% endtrans %}
+ </p>
+ <p class="flex-1">
+ {% trans %}
+ <b>Deposit fees</b> charged by Taler payment providers depend on the
+ electronic coins used in the transaction. For example,
+ the deposit fee could be higher for a $1.28&nbsp;CHF coin than for a a $0.01&nbsp;CHF coin. Your wallet will
+ automatically try to select coins that minimize the
+ fees you have to pay.
+ Merchants can offer to pay
+ deposit fees up to a specified limit; customers have to pay deposit
+ fees that exceed what the merchant is willing to cover. Taler wallets
+ inform customers about applicable deposit fees they have to pay before
+ every transaction.
+ {% endtrans %}
+ </p>
+
+ <h2>{{ _("How do bounce fees work?") }}</h2>
+ <p>
+ {% trans %}
+ A <b>bounce fee</b> is charged by
+ Taler operators to wire transfers that return funds to customers when
+ either the Taler wallet did not withdraw the amount after
+ <b>4 weeks</b>, or immediately if a wire transfer subject was used that
+ is missing the required code to associate a wallet with the wire
+ transfer. The fee is deducted from the amount transferred back to the
+ original account.
+ {% endtrans %}
+ </p>
+ <p>
+ {% trans %}
+ To avoid paying bounce fees payers should be careful when
+ entering the wire transfer subject, and ensure that their wallet is
+ online within a month of initiating the withdrawal.
+ {% endtrans %}
+ </p>
+
+ <h2>{{ _("How to avoid digital cash expiration?") }}</h2>
+ <p>
+ {% trans %}
+ Taler e-money is issued with a validity period.
+ One month before the expiration
+ date, you wallet should automatically exchange any digital cash that is about
+ to expire for new digital cash with an extended validity period. However, if
+ your wallet is offline for an extended period of time, it may be unable
+ to do so. Ensure your wallet is regularly online to avoid losing money
+ due to expiration!
+ {% endtrans %}
+ </p>
+
+ <h2>{{ _("To whom would consumers complain to in case of non-conversion or non-compliance?") }}</h2>
+ <p>
+ {% trans %}
+ In case that customers or merchants have reason to complain about the Taler payment system,
+ Taler Operations AG will be their first point of contact. We are always grateful for your suggestions
+ for improvement and for error messages. The best way to file these is done via our
+ <a href="https://bugs.gnunet.org" target="_blank" rel="noopener noreferrer">bug tracker</a>.
+ The ticket system makes it possible to submit reports anonymously.
+ </p>
+ <p>
+ Taler Operations AG is a member at VQF, a Swiss association for the quality assurance of financial services
+ (Verein zur Qualitätssicherung von Finanzdienstleistungen, General-Guisan-Str. 6, 6300 Zug,
+ phone +41 41 763 28 20) where users could also turn to in case of complaints.
+ {% endtrans %}
+ </p>
</div>
{% endblock body_content %}
diff --git a/template/features.html.j2 b/template/features.html.j2
index cb3df6e6..edd9ac3f 100644
--- a/template/features.html.j2
+++ b/template/features.html.j2
@@ -1,6 +1,6 @@
{% extends "common/base.j2" %}
{% block body_content %}
-
+<main id="maincontent">
<div class="container">
<div class="row">
<div class="col">
@@ -39,7 +39,7 @@
<p>
{% trans %}
- When making a payment, customers only need a charged wallet.
+ When making a payment, customers only need a loaded wallet.
A merchant can accept payments
<span class="tlr">without making their customers register</span>
on the merchant&#39;s Website.
@@ -57,7 +57,7 @@
</p>
</div>
<div class="col-lg-6">
- <img class="img-fluid" src="{{ url_static('images/diagram-simple.png') }}">
+ <img class="img-fluid" src="{{ url_static('images/TalerDiagram.svg') }}" width="600px">
</div>
</div>
</div>
@@ -77,13 +77,13 @@
</p>
<p>
{% trans %}
- Once the wallet is charged, payments on websites take only one click,
+ Once the wallet is loaded, payments on websites take only one click,
are never falsely rejected by fraud detection and do not pose any risk
of phishing or identity theft.
{% endtrans %}
</p>
<p>
- <a href="https://demo.taler.net">
+ <a href="https://demo.taler.net" target="_blank" rel="noopener noreferrer">
{% trans %}
Try it yourself with the interactive demo!
{% endtrans %}
@@ -108,7 +108,7 @@
{% endtrans %}
</p>
<p>
- <a href="https://docs.taler.net/taler-merchant-api-tutorial.html">
+ <a href="https://docs.taler.net/taler-merchant-api-tutorial.html" target="_blank" rel="noopener noreferrer">
{% trans %}
See how merchant integration works in our developer documentation!
{% endtrans %}
@@ -143,7 +143,7 @@
{% trans %}
Taler does not introduce a new currency. Taler
uses a digital wallet storing coins and payment service
- providers with escrow accounts in existing currencies.
+ providers with settlement accounts in existing currencies.
Thus, Taler&#39;s cryptographic coins correspond to existing
currencies, such as US Dollars, Euros or even Bitcoins.
{% endtrans %}
@@ -196,12 +196,12 @@
<p>
{% trans %}
- Taler provides protocols and reference implementations that in
- principle enables anybody to run their own payment infrastructure,
- be it individuals, organizations or whole countries. Since the
- reference implementation is a
+ Taler provides protocols and reference implementations that,
+ in principle, enable anyone to run their own payment infrastructure,
+ whether they are individuals, organizations, or entire countries.
+ Since the reference implementation is a
{% endtrans %}
- <a href="https://www.gnu.org/">GNU</a>
+ <a href="https://www.gnu.org/" target="_blank" rel="noopener noreferrer">GNU</a>
{% trans %}
package, it will always remain free software.
{% endtrans %}
diff --git a/template/financial-news.html.j2 b/template/financial-news.html.j2
index f104cbc5..9d6c4cd8 100644
--- a/template/financial-news.html.j2
+++ b/template/financial-news.html.j2
@@ -1,6 +1,6 @@
{% extends "common/base.j2" %}
{% block body_content %}
-
+<main id="maincontent">
<div class="jumbotron">
<div class="container text-center">
<h1>{{ _("Financial News") }}</h1>
diff --git a/template/funding.html.j2 b/template/funding.html.j2
index d5db2680..24e415bb 100644
--- a/template/funding.html.j2
+++ b/template/funding.html.j2
@@ -5,38 +5,58 @@
<header>
<h1>{{ _("Support for GNU Taler") }}</h1>
</header>
-
+<main id="maincontent">
<h3>{{ _("Current funding") }}</h3>
<p>
<ul>
<li>
{% trans %}
- This project will be about integrating GNU Taler with offerings
- of media partners to improve monetization in the media industry.
- (Launching in Q3 2021.)
+ This project is about adding KYC and AML support to GNU Taler by
+ integrating rules for conditions that require users to authenticate
+ or exchange operators to review records for AML. We will be integrating
+ support for KYC via the open OAuth2.0 standard as well as a few
+ (sadly) proprietary APIs to enable compliance. We will also be
+ implementing a (simple) address verification service using the
+ OAuth 2.0 API.
{% endtrans %}
<br>
- <a href="https://stadiem.eu/">STADIEM</a><br>
- <img style="width: 35%" src="{{ url('images/stadiem.png') }}" alt="STADIEM logo">
+ <a href="https://www.ngi.eu/ngi-projects/ngi-zero-entrust/">NGI ZERO ENTRUST</a><br>
+ <img style="width: 35%" src="{{ url('images/ngi_zero_entrust.svg') }}" alt="NGI ZERO ENTRUST logo">
</li>
<li>
{% trans %}
- This project is about making GNU Taler more programmable.
- (Launching in 2021.)
+ This project is about implementing a GNU Taler wallet for the
+ iOS platform. The wallet is to support all of the features of
+ the existing Android and WebExtension wallets.
{% endtrans %}
<br>
- <a href="https://pointer.ngi.eu/">NGI POINTER</a><br>
- <img style="width: 35%" src="{{ url('images/ngi_pointer.png') }}" alt="NGI POINTER logo">
+ <a href="https://www.ngi.eu/ngi-projects/ngi-zero-entrust/">NGI ZERO ENTRUST</a><br>
+ <img style="width: 35%" src="{{ url('images/ngi_zero_entrust.svg') }}" alt="NGI ZERO ENTRUST logo">
</li>
<li>
{% trans %}
- This project is about improving the security of the GNU Taler exchange
- via an external code audit, and creating a competent external security
- auditor to help with safely operating the Taler payment system.
+ This project is about implementing a GNU Name System registrar
+ with GNU Taler support for privacy-preserving payments to register domain names.
{% endtrans %}
<br>
- <a href="https://www.ngi.eu/ngi-projects/ngi-zero/">NGI ZERO</a><br>
- <img style="width: 35%" src="{{ url('images/ngi_zero.png') }}" alt="NGI ZERO logo">
+ <a href="https://www.ngi.eu/ngi-projects/ngi-zero-entrust/">NGI ZERO ENTRUST</a><br>
+ <img style="width: 35%" src="{{ url('images/ngi_zero_entrust.svg') }}" alt="NGI ZERO ENTRUST logo">
+ </li>
+ <li>
+ {% trans %}
+ This project is about improving the usability of GNU Taler for
+ regional currencies. It improves account management in libeufin
+ to turn it into a comprehensive stand-alone bank service. We
+ are also adding currency conversion to enable users to convert
+ from and to the regional currency. Furthermore, some time was
+ spent on requirements analysis, revealing the need for merchants
+ without digital infrastructure to receive payments, resulting in
+ us implementing templating support that enables payments to
+ merchants that are fully offline.
+ {% endtrans %}
+ <br>
+ <a href="https://www.ngi.eu/ngi-projects/ngi-zero-entrust/">NGI ZERO ENTRUST</a><br>
+ <img style="width: 35%" src="{{ url('images/ngi_zero_entrust.svg') }}" alt="NGI ZERO ENTRUST logo">
</li>
</ul>
<br>
@@ -66,6 +86,31 @@
{% endtrans %}
<ul>
<li>
+ {% trans %}
+ We received funding under NGI POINTER to add P2P payments and
+ make GNU Taler more programmable. P2P payments allow wallets
+ to request payments (invoicing) and to offer digital cash
+ directly to other wallets. We also implemented age-restricted
+ payments that allow merchants to validate the age of buyers
+ without disclosing additional information. Finally, we
+ created an early prototype for auctions (but without full
+ integration across all GNU Taler components).
+ {% endtrans %}
+ <br>
+ <a href="https://pointer.ngi.eu/">NGI POINTER</a><br>
+ <img style="width: 35%" src="{{ url('images/ngi_pointer.png') }}" alt="NGI POINTER logo">
+ </li>
+ <li>
+ {% trans %}
+ This project improved the security of the GNU Taler exchange
+ via an external code audit, and created a competent external security
+ auditor to help with safely operating the Taler payment system.
+ {% endtrans %}
+ <br>
+ <a href="https://www.ngi.eu/ngi-projects/ngi-zero/">NGI ZERO</a><br>
+ <img style="width: 35%" src="{{ url('images/ngi_zero.png') }}" alt="NGI ZERO logo">
+ </li>
+ <li>
<p>
{% trans %}
This project has received funding from the European Union’s Horizon
diff --git a/template/governments.html.j2 b/template/governments.html.j2
index 78fbd487..8d861614 100644
--- a/template/governments.html.j2
+++ b/template/governments.html.j2
@@ -1,6 +1,6 @@
{% extends "common/base.j2" %}
{% block body_content %}
-
+<main id="maincontent">
<div class="jumbotron">
<div class="container text-center">
<h1>{{ _("Advantages for Governments") }}</h1>
@@ -74,8 +74,8 @@
particular, the Taler design mandates the existence of an
independent auditor who checks cryptographic proofs that
accumulate at the exchange to ensure that the escrow
- account is managed honestly. This ensures that the
- exchange does not threaten the economy due to fraud.
+ account (or internal settlement account) is managed honestly.
+ This ensures that the exchange does not threaten the economy due to fraud.
{% endtrans %}
</p>
</div>
diff --git a/template/ideas.html.j2 b/template/ideas.html.j2
new file mode 100644
index 00000000..9e635a5f
--- /dev/null
+++ b/template/ideas.html.j2
@@ -0,0 +1,78 @@
+{% extends "common/base.j2" %}
+{% block body_content %}
+<main id="maincontent">
+ <div class="container">
+ <h1>{% trans %}Project ideas{% endtrans %}</h1>
+ <p>
+ This page lists various ideas for projects related to GNU Taler
+ that might be suitable for the right person to work on, possibly
+ under an <a href="https://nlnet.nl/propose">NLnet NGI Open Call</a>.
+ For each idea, we give a rough estimate for how long it is expected
+ to take and how difficult it should be.
+ </p>
+ <h2>{% trans %}Open{% endtrans %}</h2>
+ <ul>
+ <li>Update Pretix integration to latest Taler APIs, making use of the
+ newly added support for WebHooks and using refunds, possibly via
+ the rewards API (120h, moderate difficulty)</li>
+ <li>Integrate Taler with Adobe e-commerce (aka Magento), including
+ configuring backend access, payment and refunds (240h, moderate difficulty)</li>
+ <li>Extend the Point-of-Sale App with multi-currency support. The
+ configuration should specify multiple currencies and their conversion
+ rate. During payment, the user should be given the choice of currency
+ to pay with. (30h, easy)</li>
+ <li>Extend the Point-of-Sale App with optional support for product previews,
+ allowing items to be shown to be populated from the backend inventory and
+ showing images of the products based on inventory data. (30h, easy)</li>
+ <li>Implement a Web-based generator for the JSON configuration file
+ of the Point-of-Sale App (60h, easy)</li>
+ <li>Extend the Point-of-Sale App with the ability to enter a table number
+ (for restaurants), and include the table in the contract terms. Implement
+ a second app that shows active orders to kitchen staff and allows them
+ to mark orders as completed. (300h, moderate difficulty)</li>
+ <li>Add self-service Web frontend to the merchant backend that allows
+ non-admin visitors to order (and pay for) the creation of
+ merchant instances hosted by a (trusted) merchant backend provider.
+ This should make it trivial for non-technical users to sign up at
+ a merchant backend hoster to obtain an instance at that hoster.
+ The Web frontend should collect contact information, warn the user
+ if their service agreement is about to expire, and delete (and
+ eventually purge) instances for which the payment has expired.
+ (600h, moderate difficulty)</li>
+ <li>Implement a currency conversion service by enhancing the merchant
+ backend to allow a wallet to pay with one currency for signatures
+ on blindly signed tokens in another currency. (300h, hard)</li>
+ <li>Add the merchant backend database plugin that supports sqlite3. (600h, tedious)</li>
+ <li>Add sales analytics (how many products are sold when)
+ to the merchant backend (120h, easy)</li>
+ <li>Add merchant backend inventory alerts (Webhooks that fire when inventory falls below
+ certain thresholds) to the merchant backend (60h, easy).</li>
+ <li>Add exchange command-line tool to re-encrypt exchange KYC attributes to a different
+ symmetric key to enable changing the encryption key (for example,
+ when it was accidentally disclosed). (60h, easy)</li>
+ <li>Implement improved coin-selection algorithm in wallet-core
+ that is better at minimizing state size and customer fees,
+ and spends coins before they would require a refresh (to prevent expiration).
+ (300h, hard)</li>
+ <li>Implement wallet-based fee simulator to compute STEFAN curve parameters given
+ a fee structure and a target confidence interval. (300h, hard)</li>
+ <li>A wallet should have a way to export its reserve public key (for P2P payments)
+ as a QR code and users should be able to scan this QR code to trigger arbitrary
+ payments into that wallet. Wallets should periodically fetch the reserve history
+ of their reserve to observe such payments. This would be like the merchant backend
+ templating mechanism (buyer enters amount and subject, or they might also be
+ pre-set in the QR code) but work without a merchant backend or bank account
+ (transfers go wallet-to-wallet). (600h, moderate difficulty)</li>
+ <li>See <a href="https://bugs.taler.net/">our bugtracker</a> for further ideas.</li>
+ </ul>
+ <h2>{% trans %}Claimed{% endtrans %}</h2>
+ <ul>
+ <li></li>
+ </ul>
+ <h2>{% trans %}Finished{% endtrans %}</h2>
+ <ul>
+ <li></li>
+ </ul>
+
+ </div>
+{% endblock body_content %}
diff --git a/template/index.html.j2 b/template/index.html.j2
index a7a291f5..ab6fd2f7 100644
--- a/template/index.html.j2
+++ b/template/index.html.j2
@@ -1,14 +1,10 @@
{% extends "common/base.j2" %}
{% block body_content %}
+<main id="maincontent">
<div class="container">
<div class="row justify-content-center">
- <div style="width:40vw;" >
- <img alt="{{ _("Taler logo") }}" style="width:100%; height: auto; display: block" src="{{ url_static('images/logo-2021.svg') }}">
- </div>
- </div>
-
- <div class="row mt-5">
+ <img alt="{{ _("Taler logo") }}" style="width:40vw; display: block; margin-top: 10px; margin-bottom: 25px" src="{{ url_static('images/logo-2021.svg') }}">
</div>
<div class="row">
@@ -38,10 +34,12 @@
</li>
<li>
<img class="checkmark" height=18 width=18 alt="checkmark" src="{{ url_static('images/checkmark.png') }}">
- <a href="https://gnu.org/philosophy/free-sw.html">{{ _("Free Software") }}</a>
+ <a href="https://gnu.org/philosophy/free-sw.html" target="_blank" rel="noopener noreferrer">{{ _("Free Software") }}</a>
</li>
</ul>
- <form action="{{ "https://demo.taler.net/" + lang + "/" }}" style="display:inline;"><button type="submit" class="btn btn-primary">{{ _("Try Demo!")}}</button></form> <form action="https://docs.taler.net/" style="display:inline;"><button type="submit" class="btn btn-secondary">{{ _("Read Docs")}}</button></form>
+ <form action="{{ "https://demo.taler.net/" + lang + "/" }}" target="_blank" rel="noopener noreferrer" style="display:inline;"><button type="submit" class="btn btn-primary">{{ _("Try Demo!")}}</button></form>
+ <form action="https://docs.taler.net/" target="_blank" rel="noopener noreferrer" style="display:inline;"><button type="submit" class="btn btn-secondary">{{ _("Read Docs")}}</button></form>
+ <form action="https://taler-systems.com/" target="_blank" rel="noopener noreferrer" style="display:inline;"><button type="submit" class="btn btn-secondary">{{ _("Commercial Support")}}</button></form>
</p>
</div>
<div class="col-lg-4">
@@ -57,7 +55,7 @@
</div>
{% for item in newsdata[:3] %}
<div class="col-12">
- <a href="{{ url_localized(item['page']) }}" title="{{ item['date']}}">{{ item['date'] }}: {{ item['title'] }}</a>
+ <a href="{{ url_localized('news/' + item['page']) }}" title="{{ item['date']}}">{{ item['date'] }}: {{ item['title'] }}</a>
</div>
{% endfor %}
</div>
diff --git a/template/kyc-done.html.j2 b/template/kyc-done.html.j2
new file mode 100644
index 00000000..b9304cc4
--- /dev/null
+++ b/template/kyc-done.html.j2
@@ -0,0 +1,13 @@
+{% extends "common/base.j2" %}
+{% block body_content %}
+<main id="maincontent">
+ <div class="container">
+ <h1>{% trans %}Identification complete{% endtrans %}</h1>
+ <p>
+ {% trans %}
+ Thank you for providing your identity information.
+ Processing your GNU Taler transaction will now continue.
+ {% endtrans %}
+ </p>
+</div>
+{% endblock body_content %}
diff --git a/template/kyc.html.j2 b/template/kyc.html.j2
new file mode 100644
index 00000000..0ed6ebbc
--- /dev/null
+++ b/template/kyc.html.j2
@@ -0,0 +1,233 @@
+{% extends "common/base.j2" %}
+{% block body_content %}
+<main id="maincontent">
+ <article class="container">
+ <h1>KYC providers</h1>
+ <p>
+ GNU Taler operators need to satisfy regulatory requirements in terms
+ of Know-your-customer (KYC) regulation and risk assessment (which
+ usually starts with checking for politically exposed persons (PEPs)).
+ KYC usually requires at the minimum for the customer to upload some
+ identity documents, which then must be verified. KYC often also
+ requires some kind of lifeness checks to ensure that the owner of the
+ documents is the one passing the documentation along.
+ To this end, we have tried to find KYC "solutions" that would
+ help us address this.
+ </p>
+ <p>
+ Naturally, the goal is to do this with Free Software. However, all
+ of the solutions we found so far are proprietary
+ <a href="https://www.gnu.org/philosophy/who-does-that-server-really-serve.html">SaaSS</a>.
+ If you know of a solution that is actually Free Software, we would be
+ eager to hear from you.
+ </p>
+ <p>
+ In the absence of a proper FLOSS solution, we have looked at other
+ important criteria, such as the solution offering at least FLOSS
+ integration on the client-side, having an open API specification
+ (no NDA!), or even supporting a standard API. Technically, we
+ also need the KYC provider to work nicely over the
+ Web (not just with a smartphone), and from a business perspective
+ we like transparent pricing (alas, this is the least important
+ point).
+ </p>
+ <h3>Criteria Summary</h3>
+ <p>
+ Thus, these are the key evaluation criteria we have:
+ <ul>
+ <li>Supports collecting and validating KYC information, including PEP lists and ID documents from Europe
+ </li>
+ <li>Open API specification (no NDA, directly on web site)
+ </li>
+ <li>Web interface support (no required app-only integration, can run KYC process just in a browser)
+ </li>
+ <li>Supports standard open API (OpenID, OIDC, etc.)
+ </li>
+ <li>Client-side code is FLOSS (no proprietary JavaScript and/or FLOSS app integrations)
+ </li>
+ <li>Transparent pricing (prices not only upon inquiry)
+ </li>
+ <li>Server-side is fully FLOSS (not SaaSS)
+ </li>
+ </ul>
+ The list is not intended to be complete. Other criteria would include where
+ data is hosted, and how privacy-friendly the solution is overall (e.g. is
+ additional data collected, can profiles be easily deleted, etc.). However,
+ already the above list narrows down the field to basically nobody.
+ </p>
+ <h3>Supported Providers</h3>
+ <p>
+ These are the KYC solutions for which a GNU Taler integration is
+ available or under active development:
+ <table>
+ <tr><td></td>
+ <th>KYC?</th><th>Open API?</th><th>Web?</th>
+ <th>Standard API?</th><th>FLOSS client?</th><th>Pricing?</th>
+ <th>FLOSS server?</th></tr>
+ <tr><th><a href="https://git.taler.net/challenger.git/">Challenger</a></th>
+ <td>&#10060;</td><td>&#9989;</td><td>&#9989;</td>
+ <td>&#9989;</td><td>&#9989;</td><td>free</td>
+ <td>&#9989;</td></tr>
+ <tr><th>kycaid.com</th>
+ <td>&#9989;</td><td>&#9989;</td><td>&#9989;</td>
+ <td>&#10060;</td><td>&#10060;</td><td>&#9989;</td>
+ <td>&#10060;</td></tr>
+ <tr><th>withpersona.com</th>
+ <td>&#9989;</td><td>&#9989;</td><td>&#9989;</td>
+ <td>&#10060;</td><td>some</td><td>some</td>
+ <td>&#10060;</td></tr>
+ </table>
+ <a href="https://docs.taler.net/taler-challenger-manual.html">Challenger</a>
+ is our own home-brewed address validation service
+ (under development); it doesn't actually do real KYC by our
+ definition, but may still be useful in some legal scenarios.
+ We additionally selected KYCAID and WithPersona for our
+ first implementations as they seem closest to our objectives
+ (see below for lists of other providers we considered),
+ and we needed <em>some</em> KYC support.
+ That said, there is room for improvement for both of these
+ solutions towards respecting their users' freedom.
+ </p>
+ <p>
+ Adding support for additional KYC providers largely requires
+ implementing a KYC plugin, that is a shared library exporting
+ the <a href="https://git.taler.net/exchange.git/tree/src/include/taler_kyclogic_plugin.h">
+ KYC plugin API</a>. If you need help implementing additional
+ KYC adapters, please do not hesitate to contact
+ <a href="https://taler-systems.com/en/company.html#contact">us</a>, we will
+ be happy to support your efforts!
+ </p>
+ <h3>Other providers</h3>
+ <p>
+ Here is a list of other KYC solutions we have found and evaluated against the
+ criteria above.
+ <table>
+ <tr><td></td>
+ <th>KYC?</th><th>Open API?</th><th>Web?</th>
+ <th>Standard API?</th><th>FLOSS client?</th><th>Pricing?</th>
+ <th>FLOSS server?</th></tr>
+ <tr><th>Actico.com</th>
+ <td>&#9989;</td><td>&#10060;</td><td>?</td>
+ <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
+ <td>&#10060;</td></tr>
+ <tr><th>iDenfy.com</th>
+ <td>&#9989;</td><td>&#9989;</td><td>&#9989;</td>
+ <td>&#10060;</td><td>some</td><td>&#10060;</td>
+ <td>&#10060;</td></tr>
+ <tr><th>idnow.io</th>
+ <td>&#9989;</td><td>&#9989;</td><td>&#9989;</td>
+ <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
+ <td>&#10060;</td></tr>
+ <tr><th>idscan.net</th>
+ <td>&#9989;</td><td>&#9989;</td><td>&#10060;</td>
+ <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
+ <td>&#10060;</td></tr>
+ <tr><th>jumio.com</th>
+ <td>&#9989;</td><td>&#10060;</td><td>?</td>
+ <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
+ <td>&#10060;</td></tr>
+ <tr><th>kyc2020.com</th>
+ <td>&#9989;</td><td>&#10060;</td><td>&#9989;</td>
+ <td>&#10060;</td><td>&#10060;</td><td>&#9989;</td>
+ <td>&#10060;</td></tr> <!-- consider -->
+ <tr><th>metamap.com</th>
+ <td>&#9989;</td><td>&#9989;</td><td>&#9989;</td>
+ <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
+ <td>&#10060;</td></tr>
+ <tr><th>passbase.com</th>
+ <td>&#9989;</td><td>&#9989;</td><td>&#9989;</td>
+ <td>&#9989;</td><td>&#10060;</td><td>&#9989;</td>
+ <td>&#10060;</td></tr> <!-- consider -->
+ <tr><th>plaid.com</th>
+ <td>&#9989;</td><td>&#9989;</td><td>&#9989;</td>
+ <td>&#10060;</td><td>some</td><td>&#10060;</td>
+ <td>&#10060;</td></tr> <!-- consider -->
+ <tr><th>shuftipro.com</th>
+ <td>&#9989;</td><td>&#9989;</td><td>&#10060;</td>
+ <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
+ <td>&#10060;</td></tr>
+ <tr><th>SumSub.com</th>
+ <td>&#9989;</td><td>&#9989;</td><td>&#9989;</td>
+ <td>&#10060;</td><td>&#10060;</td><td>&#9989;</td>
+ <td>&#10060;</td></tr>
+ <tr><th>swiftdil.com</th>
+ <td>&#9989;</td><td>&#9989;</td><td>tricky</td>
+ <td>&#10060;</td><td>&#10060;</td><td>&#9989;</td>
+ <td>&#10060;</td></tr>
+ <tr><th>tokenoftrust.com</th>
+ <td>&#9989;</td><td>weird</td><td>&#9989;</td>
+ <td>&#10060;</td><td>some</td><td>&#10060;</td>
+ <td>&#10060;</td></tr>
+ <tr><th>Trulioo.com</th>
+ <td>&#9989;</td><td>&#10060;</td><td>?</td>
+ <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
+ <td>&#10060;</td></tr>
+ <tr><th>Ondato.com</th>
+ <td>&#9989;</td><td>&#10060;</td><td>?</td>
+ <td>&#10060;</td><td>&#10060;</td><td>&#9989;</td>
+ <td>&#10060;</td></tr>
+ <tr><th>onfido.com</th>
+ <td>&#9989;</td><td>&#9989;</td><td>?</td>
+ <td>&#10060;</td><td>some</td><td>&#10060;</td>
+ <td>&#10060;</td></tr>
+ </table>
+ </p>
+ <h3>Not quite KYC Providers</h3>
+ <p>
+ Here is a list of identity management solutions we found
+ searching for KYC providers that don't actually do the kind
+ of KYC (with identity document verification and PEP list checks)
+ that would be needed.
+ Note that not offering KYC support with document validation
+ and PEP lists is a absolutely hard
+ criteria against the solution: we believe such providers
+ would not usually satisfy the legal requirements.
+ These providers
+ are only listed so that they do not get re-evaluated as they
+ came up in a search (and it took time to understand that
+ they do not actually offer KYC).
+ <table>
+ <tr><td></td>
+ <th>KYC?</th><th>Open API?</th><th>Web?</th>
+ <th>Standard API?</th><th>FLOSS client?</th><th>Pricing?</th>
+ <th>FLOSS server?</th></tr>
+ <tr><th>accubits/smart-kyc</th>
+ <td>&#10060;</td><td>&#9989;</td><td>&#9989;</td>
+ <td>&#10060;</td><td>&#9989;</td><td>free</td>
+ <td>&#9989;</td></tr>
+ <tr><th>Authlete.com</th>
+ <td>&#10060;</td><td>&#9989;</td><td>?</td>
+ <td>&#9989;</td><td>n/a</td><td>&#9989;</td>
+ <td>&#10060;</td></tr>
+ <tr><th>Gluu.org</th>
+ <td>&#10060;</td><td>&#9989;</td><td>?</td>
+ <td>&#9989;</td><td>?</td><td>free</td>
+ <td>&#9989;</td></tr>
+ <tr><th>microblink.com</th>
+ <td>&#10060;</td><td>&#10060;</td><td>?</td>
+ <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
+ <td>&#10060;</td></tr>
+ <tr><th>nomidio.com</th>
+ <td>&#10060;</td><td>&#9989;</td><td>?</td>
+ <td>&#9989;</td><td>?</td><td>&#9989;</td>
+ <td>&#10060;</td></tr>
+ <tr><th>privo.com</th>
+ <td>&#10060;</td><td>&#10060;</td><td>?</td>
+ <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
+ <td>&#10060;</td></tr>
+ <tr><th>scytales.com</th>
+ <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
+ <td>&#10060;</td><td>&#10060;</td><td>&#10060;</td>
+ <td>&#10060;</td></tr>
+ <tr><th>Seon.io</th>
+ <td>&#10060;</td><td>&#9989;</td><td>&#10060;</td>
+ <td>&#10060;</td><td>&#10060;</td><td>&#9989;</td>
+ <td>&#10060;</td></tr>
+ <tr><th>Signicat.com</th>
+ <td>&#10060;</td><td>&#9989;</td><td>&#9989;</td>
+ <td>&#9989;</td><td>?</td><td>&#10060;</td>
+ <td>&#10060;</td></tr>
+ </table>
+ </p>
+</article>
+{% endblock body_content %}
diff --git a/template/news/2015-12.html.j2 b/template/news/2015-12.html.j2
index f443e614..dabef437 100644
--- a/template/news/2015-12.html.j2
+++ b/template/news/2015-12.html.j2
@@ -4,7 +4,7 @@
<p>
We finally have a first simple demo for Taler online. The Firefox-variant
still needs some love, but you can start to try out the demo using
- the Chrome/Chromium browser at <a href="https://demo.taler.net/">demo.taler.net</a>.
- Please provide feedback to our <a href="https://gnunet.org/bugs/">bug tracker</a>.
+ the Chrome/Chromium browser at <a href="https://demo.taler.net/" target="_blank" rel="noopener noreferrer">demo.taler.net</a>.
+ Please provide feedback to our <a href="https://bugs.gnunet.org/" target="_blank" rel="noopener noreferrer">bug tracker</a>.
</p>
{% endblock body_content %}
diff --git a/template/news/2020-12.html.j2 b/template/news/2020-12.html.j2
deleted file mode 100644
index b9762838..00000000
--- a/template/news/2020-12.html.j2
+++ /dev/null
@@ -1,59 +0,0 @@
-{% extends "common/news.j2" %}
-{% block body_content %}
-<h1>2020-11: GNU Taler v0.8 released</h1>
-<p>
-We are happy to announce the release of GNU Taler v0.8.
-</p>
-<p>
-We have addressed over 200 individual issues, our bug tracker
-has the <a href="https://bugs.gnunet.org/changelog_page.php?version_id=294">full list</a>.
-Notable changes include:
-</p>
-<ul>
-<li>Support for terms of service endpoints in exchange and merchant</li>
-<li>Improved the HTTP API of the merchant to be more RESTful and easier to use</li>
-<li>Optional inventory management by the merchant backend</li>
-<li>Product image previews in contracts</li>
-<li>Improved message flow for tipping and refunds to ensure merchant knows
- exact state and to reduce bandwidth required by the wallet</li>
-<li>Improved security of order claiming by introducing claim tokens</li>
-<li>Simplified development of merchant frontends by having the backend
- generate HTML pages for wallet interactions</li>
-<li>Implemented long-polling support for refunds</li>
-<li>Packaged merchant point-of-sale and cashier Apps for F-Droid</li>
-<li>Significantly reduced permissions required to use the wallet WebExtension</li>
-<li>Redesigned transactions view in the wallet, which unifies pending operations, history and error reporting</li>
-<li>Improved usability, error reporting, robustness and stability of the wallet</li>
-<li>Availability of a documented API for the wallet core, now used by all user interfaces</li>
-<li>Various minor bugfixes and documentation improvements</li>
-</ul>
-
-<h4>Download links</h4>
-<p>
-The wallet has its own download site <a
-href="https://wallet.taler.net/">here</a>. The exchange, merchant backend,
-sync and bank components are distributed via the GNU FTP mirrors.
-</p>
-<ul>
-
-<li><a href="http://ftpmirror.gnu.org/taler/taler-exchange-0.8.1.tar.gz">http://ftpmirror.gnu.org/taler/taler-exchange-0.8.1.tar.gz</a></li>
-<li><a href="http://ftpmirror.gnu.org/taler/taler-exchange-0.8.1.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-exchange-0.8.1.tar.gz.sig</a></li>
-<li><a href="http://ftpmirror.gnu.org/taler/taler-merchant-0.8.0.tar.gz">http://ftpmirror.gnu.org/taler/taler-merchant-0.8.0.tar.gz</a></li>
-<li><a href="http://ftpmirror.gnu.org/taler/taler-merchant-0.8.0.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-merchant-0.8.0.tar.gz.sig</a></li>
-<li><a href="http://ftpmirror.gnu.org/taler/taler-bank-0.8.1.tar.gz">http://ftpmirror.gnu.org/taler/taler-bank-0.8.1.tar.gz</a></li>
-<li><a href="http://ftpmirror.gnu.org/taler/taler-bank-0.8.1.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-bank-0.8.1.tar.gz.sig</a></li>
-
-<!-- STILL TO BE UPLOADED!
-<li><a href="http://ftpmirror.gnu.org/taler/taler-wallet-webex-0.6.0.tar.gz">http://ftpmirror.gnu.org/taler/taler-wallet-webex-0.6.0.tar.gz</a></li>
-<li><a href="http://ftpmirror.gnu.org/taler/taler-wallet-webex-0.6.0.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-wallet-webex-0.6.0.tar.gz.sig</a></li>
--->
-<li><a href="http://ftpmirror.gnu.org/taler/sync-0.8.1.tar.gz">http://ftpmirror.gnu.org/taler/sync-0.8.1.tar.gz</a></li>
-<li><a href="http://ftpmirror.gnu.org/taler/sync-0.8.1.tar.gz.sig">http://ftpmirror.gnu.org/taler/sync-0.8.1.tar.gz.sig</a></li>
-<li><a href="http://ftpmirror.gnu.org/taler/taler-mdb-0.8.1.tar.gz">http://ftpmirror.gnu.org/taler/taler-mdb-0.8.1.tar.gz</a></li>
-<li><a href="http://ftpmirror.gnu.org/taler/taler-mdb-0.8.1.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-mdb-0.8.1.tar.gz.sig</a></li>
-</ul>
-You must install GNUnet v0.14.0 to compile GNU Taler 0.8.
-
-You must first install <a href="https://gnunet.org/en/news/2020-11-0.14.0.html">GNUnet v0.14.0</a> to compile GNU Taler 0.8.
-
-{% endblock body_content %}
diff --git a/template/news/2021-01.html.j2 b/template/news/2021-01.html.j2
index 517af76a..ea892416 100644
--- a/template/news/2021-01.html.j2
+++ b/template/news/2021-01.html.j2
@@ -11,6 +11,9 @@ With the emergence of Bitcoin and recently proposed stablecoins from BigTechs, s
<ul>
<li><a href="https://www.snb.ch/en/mmr/papers/id/working_paper_2021_03">SNB working paper series</a></li>
<li><a href="/papers/cbdc2021en.pdf">Local mirror of the PDF (English)</a></li>
+<li><a href="/papers/cbdc2021fr.pdf">Miroir local du PDF (français)</a></li>
+<li><a href="/papers/cbdc2021es.pdf">Espejo local del PDF (español)</a></li>
+<li><a href="/papers/cbdc2021it.pdf">Mirror locale del PDF (italian)</a></li>
<li><a href="https://grothoff.org/christian/cbdc.bib">BibTeX file</a></li>
</ul>
diff --git a/template/news/2021-03.html.j2 b/template/news/2021-03.html.j2
index 6f4ddfa2..c2c8769c 100644
--- a/template/news/2021-03.html.j2
+++ b/template/news/2021-03.html.j2
@@ -34,5 +34,14 @@ the risks.
<ul>
<li><a href="/papers/euro-bearer-online-2021.pdf">PDF (English)</a></li>
</ul>
+<h4>Related exploits published after our article</h4>
+<ul>
+<li><a href="https://kb.cert.org/vuls/id/782720">TCG TPM 2.0 (2023)</a></li>
+<li><a href="https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00767.html">Intel SGX (2023)</a></li>
+<li><a href="https://developer.arm.com/documentation/ka005159/1-0">AMD Trust Zone (2022)</a></li>
+<li><a href="https://ieeexplore.ieee.org/document/9933270">ATECC608B (2022)</a></li>
+<li><a href="https://arxiv.org/abs/2304.14717">AMD Platform Security Processor (2023)</a></li>
+<li><a href="https://downfall.page/">Intel SGX (2023)</a></li>
+</ul>
{% endblock body_content %}
diff --git a/template/news/2021-07.html.j2 b/template/news/2021-07.html.j2
new file mode 100644
index 00000000..86411e46
--- /dev/null
+++ b/template/news/2021-07.html.j2
@@ -0,0 +1,33 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>2021-7: &quot;Comment émettre une monnaie numérique de banque centrale&quot; disponible</h1>
+<p>
+Nous sommes heureux de vous annoncer la publication de notre article sur &quot;Comment émettre une monnaie numérique de banque centrale&quot; par le <a href="https://snb.ch/">Banque nationale suisse</a>.
+</p>
+<p>
+Avec l’émergence du Bitcoin et des cryptomonnaies stables des géants du web
+(comme le Diem, anciennement Libra), les banques centrales doivent faire face
+à une concurrence accrue des acteurs privés qui développent leur propre
+solution numérique en vue de contourner les espèces. Nous ne nous penchons pas
+sur la question normative de savoir si les banques centrales devraient émettre
+une monnaie numérique de banque centrale (MNBC). Nous contribuons au débat
+actuel de la recherche en montrant comment une banque centrale pourrait
+réaliser un tel projet si elle le souhaitait. Nous proposons un système par
+jetons, sans registre distribué, et montrons comment les monnaies
+électroniques purement logicielles émises par le passé peuvent être améliorées
+pour préserver la confidentialité des transactions, répondre aux critères
+réglementaires et offrir une protection de niveau post-quantique contre les
+risques systémiques pour la protection de la vie privée. Ni la politique
+monétaire ni la stabilité financière ne seraient réellement affectées par ce
+système puisque la MNBC imiterait les espèces plutôt que les dépôts bancaires.
+</p>
+<h4>Liens de téléchargement</h4>
+<ul>
+<li><a href="/papers/cbdc2021fr.pdf">miroir local du PDF (français)</a></li>
+<li><a href="/papers/cbdc2021en.pdf">Local mirror of the PDF (English)</a></li>
+<li><a href="/papers/cbdc2021es.pdf">Espejo local del PDF (español)</a></li>
+<li><a href="https://www.snb.ch/en/mmr/papers/id/working_paper_2021_03">série de documents de travail SNB</a></li>
+<li><a href="https://grothoff.org/christian/cbdc.bib">BibTeX file</a></li>
+</ul>
+
+{% endblock body_content %}
diff --git a/template/news/2021-08.html.j2 b/template/news/2021-08.html.j2
new file mode 100644
index 00000000..b5ba553d
--- /dev/null
+++ b/template/news/2021-08.html.j2
@@ -0,0 +1,20 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>2021-8: Code Blau GmbH deploys first external Taler auditor</h1>
+<p>
+ We received a grant from <a href="https://nlnet.nl/">NLnet
+ foundation</a> with the goal to qualify <a href="https://codeblau.de/">Code Blau</a> GmbH
+ to act as an external auditor for GNU Taler.
+ To do this, we created a <a href="https://docs.taler.net/taler-auditor-manual.html">guide</a>
+ that describes how to deploy a Taler auditor and then practiced the
+ steps using the existing Taler exchange deployment at <a href="https://bfh.ch/">BFH</a>.
+ Code Blau wrote a <a href="https://taler.net/papers/taler-auditor-setup-202108.pdf">report</a>
+ detailing all the steps taken. Finally, we have created a
+ <a href="https://taler.net/papers/codeblau-bank.pdf">draft</a> of
+ the kind of business agreement that Code Blau would enter with banks
+ operating the Taler payment system.
+ We thank CodeBlau for their work, and NLnet and the European
+ Commission's Horizion 2020 <a href="https://www.ngi.eu/">NGI initiative</a>
+ for funding this work.
+</p>
+{% endblock body_content %}
diff --git a/template/news/2021-09.html.j2 b/template/news/2021-09.html.j2
new file mode 100644
index 00000000..5fbf55aa
--- /dev/null
+++ b/template/news/2021-09.html.j2
@@ -0,0 +1,73 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>2021-9: GNU Taler v0.8 released</h1>
+<p>
+We are happy to announce the release of GNU Taler v0.8.
+</p>
+<p>
+We have addressed over 400 individual issues, our bug tracker
+has the <a href="https://bugs.gnunet.org/changelog_page.php?version_id=294">full list</a>.
+Notable changes include:
+</p>
+<ul>
+<li>NEW: Wallet(-core) now supports backup and restore</li>
+<li>NEW: WebExtension wallet now works with GNU IceCat</li>
+<li>NEW: Support for terms of service endpoints in exchange and merchant</li>
+<li>NEW: Optional inventory management by the merchant backend</li>
+<li>NEW: Product image previews in contracts</li>
+<li>NEW: Packaged merchant point-of-sale and cashier Apps for F-Droid</li>
+<li>NEW: Better isolation of online private keys</li>
+<li>NEW: Better isolation of sensitive exchange configuration options</li>
+<li>Implemented long-polling support for refunds</li>
+<li>Improved the HTTP API of the merchant to be more RESTful and easier to use</li>
+<li>Improved message flow for tipping and refunds to ensure merchant knows
+ exact state and to reduce bandwidth required by the wallet</li>
+<li>Improved security of order claiming by introducing claim tokens</li>
+<li>Simplified development of merchant frontends by having the backend
+ generate HTML pages for wallet interactions</li>
+<li>Significantly reduced permissions required to use the wallet WebExtension</li>
+<li>Redesigned transactions view in the wallet, which unifies pending operations, history and error reporting</li>
+<li>Improved usability, error reporting, robustness and stability of the wallet</li>
+<li>Availability of a documented API for the wallet core, now used by all user interfaces</li>
+<li>Various minor bugfixes and documentation improvements</li>
+</ul>
+
+<p>
+Some of the major changes are based on the security audit performed by Code
+Blau in 2020. Addressing these recommendations was done as part of the NLnet
+Grant 2019-06-28 funded by the European Commissions great <a
+href="https://ngi.eu/">Next Generation Internet</a> initiative under grant
+agreement number 825310. In particular, Code Blau had recommended
+strengthening the isolation of the private keys, which is now implemented
+using the <tt>taler-exchange-secmod-*</tt> binaries that can run under a
+different user ID than the network-facing <tt>taler-exchange-httpd</tt>
+process. Our detailed response to the audit is available
+<a href="https://taler.net/papers/response-202109.pdf">here</a>.
+</p>
+
+<h4>Download links</h4>
+<p>
+The wallet has its own download site <a
+href="https://wallet.taler.net/">here</a>. The exchange, merchant backend,
+sync and bank components are distributed via the GNU FTP mirrors.
+</p>
+<ul>
+
+<li><a href="http://ftpmirror.gnu.org/taler/taler-exchange-0.8.4.tar.gz">http://ftpmirror.gnu.org/taler/taler-exchange-0.8.4.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-exchange-0.8.4.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-exchange-0.8.4.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-bank-0.8.2.tar.gz">http://ftpmirror.gnu.org/taler/taler-bank-0.8.2.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-bank-0.8.2.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-bank-0.8.2.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-merchant-0.8.3.tar.gz">http://ftpmirror.gnu.org/taler/taler-merchant-0.8.3.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-merchant-0.8.3.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-merchant-0.8.3.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-wallet-0.8.2.tar.gz">http://ftpmirror.gnu.org/taler/taler-wallet-0.8.2.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-wallet-0.8.2.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-wallet-0.8.2.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/sync-0.8.3.tar.gz">http://ftpmirror.gnu.org/taler/sync-0.8.3.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/sync-0.8.3.tar.gz.sig">http://ftpmirror.gnu.org/taler/sync-0.8.3.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-mdb-0.8.2.tar.gz">http://ftpmirror.gnu.org/taler/taler-mdb-0.8.2.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-mdb-0.8.2.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-mdb-0.8.2.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-twister-0.8.2.tar.gz">http://ftpmirror.gnu.org/taler/taler-twister-0.8.2.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-twister-0.8.2.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-twister-0.8.2.tar.gz.sig</a></li>
+</ul>
+You must first install <a href="https://gnunet.org/en/news/2021-08-0.15.0.html">GNUnet v0.15.2</a> to compile GNU Taler 0.8.
+
+{% endblock body_content %}
diff --git a/template/news/2021-10.html.j2 b/template/news/2021-10.html.j2
new file mode 100644
index 00000000..0b8938cf
--- /dev/null
+++ b/template/news/2021-10.html.j2
@@ -0,0 +1,37 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>2021-10: &quot;Cómo Emitir una Moneda Digital del Banco Central&quot; disponible</h1>
+<p>
+Nos complace anunciar la publicación de nuestro artículo sobre
+&quot;Cómo Emitir una Moneda Digital del Banco Central&quot;
+que es un trabajo conjunto con el <a href="https://snb.ch/">Banque nationale suisse</a>.
+</p>
+<p>
+Con la aparición de Bitcoin y monedas estables propuestas recientemente
+por grandes empresas tecnológicas como Diem (antes Libra), los bancos
+centrales se enfrentan a la creciente competencia de particulares que
+ofrecen su propia alternativa digital al dinero en efectivo. No
+abordamos la cuestión normativa de si un un banco central debería o no
+emitir una moneda digital del banco central (Central Bank Digital
+Currency -- CBDC). Contribuimos en cambio al actual debate de
+investigación mostrando de qué manera un banco central podría hacerlo si
+así lo deseara. Proponemos un sistema basado en tokens sin tecnología de
+libro mayor distribuido, y mostramos que el efectivo electrónico ya
+implementado solo mediante software se puede mejorar para preservar la
+privacidad en las transacciones, cumplir con los requisitos
+reglamentarios de modo convincente y ofrecer un nivel de protección de
+resistencia cuántica contra los riesgos sistémicos que amenazan la
+privacidad. Ni la política monetaria ni la estabilidad financiera se
+verían materialmente afectadas porque una CBDC con este diseño
+replicaría el efectivo físico en lugar de los depósitos bancarios.
+</p>
+<h4>Descargar</h4>
+<ul>
+<li><a href="/papers/cbdc2021es.pdf">Espejo local del PDF (español)</a></li>
+<li><a href="/papers/cbdc2021fr.pdf">Miroir local du PDF (français)</a></li>
+<li><a href="/papers/cbdc2021en.pdf">Local mirror of the PDF (English)</a></li>
+<li><a href="https://www.snb.ch/en/mmr/papers/id/working_paper_2021_03">série de documents de travail SNB</a></li>
+<li><a href="https://grothoff.org/christian/cbdc.bib">BibTeX file</a></li>
+</ul>
+
+{% endblock body_content %}
diff --git a/template/news/2021-11.html.j2 b/template/news/2021-11.html.j2
new file mode 100644
index 00000000..d47314d8
--- /dev/null
+++ b/template/news/2021-11.html.j2
@@ -0,0 +1,51 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>2021-11: &quot;Understanding and designing technologies for everyday financial collaboration&quot; published</h1>
+<p>
+We are happy to announce that Belén finished her PhD thesis
+on&quot;Understanding and designing technologies for everyday financial
+collaboration&quot; which contains many inspirational ideas for future
+payment systems like GNU Taler:
+</p>
+<p>
+Perhaps enticed by the promise of reduced marginal costs per customer and other
+“operational efficiencies”, the financial industry seems to take for granted that
+introducing technology into their services delivers convenience and makes it easier
+for people to manage their money. The overwhelmingly positive discourse that
+surrounds financial technologies portrays them as the inevitable next step in the
+evolution of money, and as driving consumer empowerment by reducing costs and
+improving quality of service. Research, however, has linked those very same
+technologies to new and existing forms of financial exclusion. This raises the
+question of how we can design financial technologies that promote access and
+fairness.
+</p>
+<p>
+In this thesis, I take on this question by casting a critical lens over the design of
+financial technologies through experiences of financial difficulty and financial third
+party access. I conducted qualitative studies with a team inside the banking industry
+tasked with servicing customers deemed “vulnerable”; and with a group of people
+who live under the “double trouble” (Topor et al., 2016) of mental illness and
+financial difficulty. The latter trialled a new financial third party access digital service
+for 3 months. These varied perspectives on financial difficulty and third party access
+reveal the unintended consequences of introducing technology into our interactions
+with money, and the theories and assumptions concealed in the design of existing
+financial technologies.
+</p>
+<p>
+Based on the insights of these studies, and a synthesis of the literature on the
+nature of money, this thesis contributes alternative paradigms that may help us
+design financial technologies differently. Such technologies would reflect an
+understanding of money as a social relation, and of our finances as a collaborative
+endeavour. Rather than focusing on efficiency, resource optimisation and asset
+protection, they would encourage flexibility, complementarity, reflection,
+appropriation, positive forms of security, collaboration and participation. By
+designing financial technologies under different theoretical premises and with
+different priorities, we may promote access, fairness and democratic oversight in
+financial service provision, particularly for those experiencing financial difficulty.
+</p>
+<h4>Download links</h4>
+<ul>
+<li><a href="/papers/thesis_belen_barros_pena.pdf">PDF (English)</a></li>
+</ul>
+
+{% endblock body_content %}
diff --git a/template/news/2022-01.html.j2 b/template/news/2022-01.html.j2
new file mode 100644
index 00000000..c9bb0c56
--- /dev/null
+++ b/template/news/2022-01.html.j2
@@ -0,0 +1,38 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>2022-02: Pubblichiamo &quot;Come una banca centrale dovrebbe emettere una moneta digitale&quot;</h1>
+<p>
+Siamo lieti di annunciare la pubblicazione del nostro articolo su
+&quot;Come emettere una moneta digitale di banca centrale&quot;
+che è un lavoro congiunto con la <a href="https://snb.ch/">Banque nationale suisse</a>.
+</p>
+<p>
+Con l'emergere di Bitcoin e delle criptovalute stabili (per es. Diem,
+già nota come Libra) recentemente proposte dai colossi del web, le
+banche centrali affrontano una crescente concorrenza da parte di
+operatori privati che offrono la propria alternativa digitale al
+contante fisico. Non trattiamo qui la questione normativa se una banca
+centrale debba emettere o meno una moneta digitale. Contribuiamo invece
+all'attuale dibattito di ricerca spiegando in che modo una banca centrale
+potrebbe farlo, se lo volesse. Proponiamo un sistema basato su token
+senza tecnologia di registro distribuito, e mostriamo che le monete
+elettroniche emesse in passato, basate solo su software, possono essere
+migliorate per tutelare la privacy nelle transazioni, soddisfare i
+requisiti normativi in modo efficace e offrire un livello di protezione
+resistente ai computer quantistici contro il rischio sistemico per
+la privacy. Né la politica monetaria né la stabilità del sistema
+finanziario sarebbero realmente interessate dal sistema che proponiamo,
+dal momento che una moneta emessa in questo modo replicherebbe il contante
+fisico anziché i depositi bancari.
+</p>
+<h4>Scarica</h4>
+<ul>
+<li><a href="/papers/cbdc2021it.pdf">Mirror locale del PDF (italian)</a></li>
+<li><a href="/papers/cbdc2021es.pdf">Espejo local del PDF (español)</a></li>
+<li><a href="/papers/cbdc2021fr.pdf">Miroir local du PDF (français)</a></li>
+<li><a href="/papers/cbdc2021en.pdf">Local mirror of the PDF (English)</a></li>
+<li><a href="https://www.snb.ch/en/mmr/papers/id/working_paper_2021_03">série de documents de travail SNB</a></li>
+<li><a href="https://grothoff.org/christian/cbdc.bib">BibTeX file</a></li>
+</ul>
+
+{% endblock body_content %}
diff --git a/template/news/2022-02.html.j2 b/template/news/2022-02.html.j2
new file mode 100644
index 00000000..a4068dbd
--- /dev/null
+++ b/template/news/2022-02.html.j2
@@ -0,0 +1,59 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>2022-2: Adding Schnorr's Blind Signatures to Taler</h1>
+<p>
+Gian Demarmels and Lucien Heuzeveldt have finished their
+<a href="/papers/cs-thesis.pdf">Bachelor's thesis</a>
+which adds a second blind signature scheme to GNU Taler.
+</p>
+<h2>Introduction video</h2>
+<p>
+ <video id="video" poster="/images/logo-2021.svg" autobuffer="" height="360" width="640" controls="controls">
+ <source src="/videos/cs-movie.mp4" type="video/mp4" \>
+ </video>
+</p>
+<h2>Abstract</h2>
+<p>
+The goal of this thesis is to improve Taler’s performance and provide cipher agility by
+adding support for Schnorr’s blind signatures. To achieve this goal, the current state in
+research for Schnorr signatures needs to be analyzed. After choosing a signature scheme,
+it has to be integrated into the Taler protocols. Besides implementing the redesigned
+protocols in Taler, an implementation of the cryptographic routines is needed.
+The paper <a href="https://eprint.iacr.org/2019/877.pdf">”Blind Schnorr
+Signatures and Signed ElGamal Encryption in the Algebraic Group
+Model”</a> from 2019 (updated in 2021) introducing Clause Blind Schnorr Signatures
+is used as theoretical basis for our improvements. The paper explains why simple Blind
+Schnorr Signatures are broken and how the Clause Schnorr Blind Signature scheme is secured
+against this attack.
+</p>
+<p>
+Compared to the currently used RSA Blind Signatures, the new scheme has an additional
+request, two blinding factors instead of one and many calculations are done twice to
+prevent attacks.
+</p>
+<p>
+The Taler protocols were redesigned to support the Clause Blind Schnorr Signature scheme,
+including slight alterations to ensure abort-idempotency, and then further specified.
+Before starting with the implementation of the redesigned protocols, the cryptographic
+routines for Clause Blind Schnorr Signatures were implemented as part of the thesis.
+All of the implemented code is tested and benchmarks are added for the cryptographic
+routines.
+</p>
+<p>
+Multiple results were achieved during this thesis: The redesigned protocols Taler
+protocols with support for Clause Blind Schnorr Signatures, the implementation of the
+cryptographic routines, the implementation of Talers core protocols and a detailed comparison
+between RSA Blind Signatures and Clause Blind Schnorr Signatures. Overall, the Clause
+Blind Schnorr Signatures are significantly faster, require less disk space, and bandwidth
+and provide cipher agility for Taler.
+</p>
+<h2>Supplemental material</h2>
+<p>
+<ul>
+ <li><a href="/pdf/cs-slides.pdf">Defense presentation slides</a></li>
+ <li><a href="/pdf/cs-poster.pdf">Defense poster</a></li>
+ <li><a href="/papers/cs-thesis.pdf">Bachelor's thesis</a></li>
+</ul>
+</p>
+
+{% endblock body_content %}
diff --git a/template/news/2022-03.html.j2 b/template/news/2022-03.html.j2
new file mode 100644
index 00000000..b3490082
--- /dev/null
+++ b/template/news/2022-03.html.j2
@@ -0,0 +1,30 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>2022-3: &quot;Central Bank Accounts are Dangerous and Unnecessary&quot; published</h1>
+<p>
+In December 2021, the European Central Bank (ECB) published a report on ``<a
+href="https://www.ecb.europa.eu/pub/pdf/scpops/ecb.op286~9d472374ea.en.pdf">Central
+Bank Digital Currency: functional scope, pricing and controls</a>'' in its
+Occasional Paper Series, detailing various challenges for the
+Digital Euro. While the authors peripherally acknowledge the existence of
+token-based payment systems, the notion that a Digital Euro will somehow
+require citizens to have some kind of central bank account is pervasive in the
+paper. We argue that an account-based design cannot meet the ECB's stated
+design goals and that the ECB needs to fundamentally change its mindset when
+thinking about its role in the context of the Digital Euro if it wants the
+project to succeed.
+<br>
+Along the same lines, the French National Council for Digitalization published
+a report on ``<a
+href="https://cnnumerique.fr/billets-et-jetons-la-nouvelle-concurrence-des-monnaies-le-conseil-national-du-numerique-publie-son">Notes
+and Tokens, The New Competition of Currencies</a>''. Here, the authors make
+related incorrect claims about inevitable properties of Central Bank Digital
+Currencies (CBDCs), going as far as stating that a CBDC is not possible
+without an eID system. Our paper sets the record straight.
+</p>
+<h4>Download links</h4>
+<ul>
+<li><a href="/papers/accounts-dangerous-2022.pdf">PDF (English)</a></li>
+</ul>
+
+{% endblock body_content %}
diff --git a/template/news/2022-05.html.j2 b/template/news/2022-05.html.j2
new file mode 100644
index 00000000..b309807d
--- /dev/null
+++ b/template/news/2022-05.html.j2
@@ -0,0 +1,40 @@
+{% extends "common/news.j2" %} {% block body_content %}
+
+<h1>2022-5: &quot;Who comes after us? The correct mindset for designing a Central Bank Digital Currency&quot; published by SUREF</h1>
+
+<h2>Background</h2>
+<p>
+The title of the paper refers to the former DIRNSA, who claimed that
+"nobody comes after us" just before the NSA lost control of its data
+on Afghanistan collaborators to the Taliban. The paper urges for this
+cautionary tale to be considered when central banks are creating
+digital currencies.
+</p>
+
+<h2>Abstract</h2>
+<p>
+In December 2021 the European Central Bank (ECB) published a report on
+"Central Bank Digital Currency: functional scope, pricing and controls" in its
+Occasional Paper Series [BPT21], detailing various challenges for the Digital
+Euro. While the authors peripherally acknowledge the existence of token-based
+payment systems, the notion that a Digital Euro will somehow require citizens
+to have some kind of central bank account is pervasive in the paper. We argue
+that an account-based design cannot meet the ECB’s stated design goals and
+that the ECB needs to fundamentally change its mindset when thinking about its
+role in the context of the Digital Euro if it wants the project to
+succeed. Along the same lines, the French National Council for Digitalization
+published a report on "Notes and Tokens, The New Competition of Currencies"
+[DGTV21]. Here, the authors make related incorrect claims about inevitable
+properties of Central Bank Digital Currencies (CBDCs), going as far as stating
+that a CBDC is not possible without an eID system. Our paper sets the record
+straight.
+</p>
+<h4>Download links</h4>
+<ul>
+ <li><a href="https://www.suerf.org/policynotes/46097/who-comes-after-us-the-correct-mindset-for-designing-a-central-bank-digital-currency">HTML
+(English)</a></li>
+ <li><a
+href="https://www.suerf.org/docx/f_cd24c3cabd88307c9c9299817143ba5d_46097_suerf.pdf">PDF (English)</a></li>
+</ul>
+
+{% endblock body_content %}
diff --git a/template/news/2022-06.html.j2 b/template/news/2022-06.html.j2
new file mode 100644
index 00000000..9491a2f2
--- /dev/null
+++ b/template/news/2022-06.html.j2
@@ -0,0 +1,54 @@
+{% extends "common/news.j2" %} {% block body_content %}
+
+<h1>2022-6: &quot;GNU Taler Scalability: Measuring and Improving the Performance of GNU Taler on Grid’5000&quot;</h1>
+
+<h2>Background</h2>
+<p>
+Anonymity loves company. Hence, to provide the best
+possible anonymity to GNU Taler users, the scalability of
+individual installations of a Taler payment service matters.
+While our design scales nicely on paper,
+<a href="https://www.ngi.eu/ngi-projects/fed4fire/">NGI Fed4Fire+</a>
+enabled us to evaluate the transaction rates that could be achieved
+with the actual implementation. Experiments were conducted by Marco Boss for
+his Bachelor's thesis at the <a href="https://www.bfh.ch/">Bern
+University of Applied Sciences</a> to assess bottlenecks and suggest
+avenues for further improvement.
+</p>
+<h2>Introduction video</h2>
+<p>
+ <video id="video" poster="/images/logo-2021.svg" autobuffer="" height="360" width="640" controls="controls">
+ <source src="/videos/mboss2022video.mp4" type="video/mp4" \>
+ </video>
+</p>
+<h2>Abstract</h2>
+<p>
+This thesis is on the GNU Taler scalability experiments conducted
+on <a href="https://www.grid5000.fr/">Grid’5000</a> in the first
+half of 2022, which was preceded by preparations carried out in the second half of 2021
+supported by the Next Generation Internet initiative’s
+<a href="https://www.ngi.eu/ngi-projects/fed4fire/">NGI Fed4Fire+</a> program.
+<br>
+The primary goal of this study was to evaluate the scalability of GNU Taler in a real-world
+scenario. That is, moving away from the loopback system to a distributed network and identifying
+improvement opportunities therein to analyze and improve performance. While the
+basic framework was already known from the previous study, this work focuses on extending
+the framework and making further improvements to GNU Taler. This includes, among
+other things, the horizontal distribution of the PostgreSQL database.
+<br>
+We identified and fixed several bottlenecks in the GNU Taler software. We parallelized the
+execution of the cryptographic frontend, leaving the PostgreSQL database as the natural bottleneck.
+Here, we optimized queries and modified the schema to enable table partitioning.
+The scalability demonstrated in our experiments shows that Taler is very capable of processing
+enough transactions per second to be considered an acceptable payment system.
+Throughout this work, we were able to increase the performance of Taler by a factor of 95,
+from about 300 to 28.5k transactions per second, showing that Central Bank Digital Currencies
+based on Taler would require only a few exchanges per continent.
+</p>
+<h2>Download links</h2>
+<ul>
+ <li><a href="/presentations/boss2022poster.pdf">Poster PDF (English)</a></li>
+ <li><a href="/papers/boss2022thesis.pdf">Thesis PDF (English)</a></li>
+</ul>
+
+{% endblock body_content %}
diff --git a/template/news/2022-07.html.j2 b/template/news/2022-07.html.j2
new file mode 100644
index 00000000..823a2c35
--- /dev/null
+++ b/template/news/2022-07.html.j2
@@ -0,0 +1,39 @@
+{% extends "common/news.j2" %} {% block body_content %}
+
+<h1>2022-6: &quot;A digital euro and the future of cash&quot;</h1>
+
+<h2>Background</h2>
+<p>
+The <a href="https://www.oenb.at/">Central Bank of Austria</a> has
+published a report in the context of a workshop
+<a href="https://www.oenb.at/Termine/2022/2022-06-21-workshop-euroat20.html">celebrating 20 years of
+Euro-denominated cash</a>. The report discusses the future of cash,
+including account- and blockchain-based designs, as well as
+<a href="https://taler.net/">GNU Taler</a>.
+</p>
+<h2>Abstract</h2>
+<p>
+What is the discussion about a digital euro – and, more generally, digital
+central bank currencies – all about? We are focusing here on the future of
+cash. For strategic reasons, central banks are seeking to provide a credible
+and viable public anchor for digital money given that the future might be
+shaped more strongly by new private issuers of money. The technological
+structures and business model-driven incentives of the new players, which are
+associated with the internet economy and thrive on network effects, might lead
+to a concentration of significant market power in payments. Ultimately, this
+might even result in a fragmented monetary system and jeopardize universal
+access to public money. From a central bank’s perspective, the crucial
+question is therefore not so much about replacing cash with new payment
+technologies but about finding ways to ensure that the monetary system will
+continue to work in the public interest in a digital future. Cash will, and
+should, play a role also in a future monetary system. By creating a digital
+euro, central banks in the euro area aim to adapt cash in such a way that it
+meets the needs of the digital age.
+</p>
+<h2>Download links</h2>
+<ul>
+ <li><a href="https://www.oenb.at/dam/jcr:0e3c00d6-2e0a-4089-b23c-5604e60ebde5/07_Mop_Q1-2_22_A-digital-euro-and-the-future-of-cash.pdf">Original publication (Oesterreichische Nationalbank)</a></li>
+ <li><a href="/papers/digital-euro-and-the-future-of-cash.pdf">Local copy (mirror)</a></li>
+</ul>
+
+{% endblock body_content %}
diff --git a/template/news/2022-08.html.j2 b/template/news/2022-08.html.j2
new file mode 100644
index 00000000..7eff7bd1
--- /dev/null
+++ b/template/news/2022-08.html.j2
@@ -0,0 +1,13 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>2022-06: Vortrag zu &quot;Datenschutzfreundliches digitales Bezahlen&quot; beim Netzpolitischen Abend in Z&uuml;rich</h1>
+<p>
+ <video id="video" poster="https://taler.net/images/logo-2020.jpg" autobuffer="" height="360" width="640" controls="controls">
+ <source src="https://taler.net/videos/netpol2022.webm" type="video/webm" />
+ <source src="https://taler.net/videos/netpol2022.mp4" type="video/mp4" />
+ </video>
+</p>
+<p>
+ <a rel="license" href="https://creativecommons.org/licenses/by-nd/3.0/deed.en_US"><img alt="Creative Commons License" style="border-width:0" src="https://taler.net/images/ccby.png"></a><br>"<span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">Taler</span>" by <span xmlns:cc="http://creativecommons.org/ns#" property="cc:attributionName">Christian Grothoff, produced by c3voc.de</span> is licensed under a <a rel="license" href="https://creativecommons.org/licenses/by-nd/3.0/deed.en_US">Creative Commons Attribution NoDerivatives 3.0 Unported License</a>.
+</p>
+{% endblock body_content %}
diff --git a/template/news/2022-09.html.j2 b/template/news/2022-09.html.j2
new file mode 100644
index 00000000..c44f6de6
--- /dev/null
+++ b/template/news/2022-09.html.j2
@@ -0,0 +1,28 @@
+{% extends "common/news.j2" %} {% block body_content %}
+
+<h1>2022-9: &quot;Zero-Knowledge Age Restriction for GNU Taler&quot;</h1>
+
+<h2>Abstract</h2>
+<p>
+ We propose a design for a privacy-friendly method of age restriction in
+ e-commerce that is aligned with the principle of subsidiarity. The design
+ is presented as an extension of a privacy-friendly payment protocol with a
+ zero-knowledge scheme that cryprographically augments coins for this purpose.
+ Our scheme enables buyers to prove to be of sufficient age for a particular
+ transaction without disclosing it. Our modification preserves the privacy and
+ security properties of the payment system such as the anonymity of minors as
+ buyers as well as unlinkability of transactions. We show how our scheme can be
+ instantiated with ECDSA as well with a variant of EdDSA, respectively, and how
+ it can be integrated with the GNU Taler payment system. We provide formal
+ proofs and implementation of our proposal. Key performance measurements for
+ various CPU architectures and implementations are presented.
+</p>
+<h2>Download links</h2>
+<ul>
+ <li><a href="/papers/esorics2022-age-restriction.pdf">PDF (English)</a></li>
+ <li><a href="/presentations/esorics2022.pdf">PDF of presentation on ESORICS 2022 (English)</a></li>
+ <li>The paper has been <a href="https://link.springer.com/chapter/10.1007/978-3-031-17140-6_6">published in the proceedings to ESORICS 2022</a></li>
+
+</ul>
+
+{% endblock body_content %}
diff --git a/template/news/2022-10.html.j2 b/template/news/2022-10.html.j2
new file mode 100644
index 00000000..a522d810
--- /dev/null
+++ b/template/news/2022-10.html.j2
@@ -0,0 +1,57 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>2022-11: GNU Taler v0.9.0 released</h1>
+<p>
+We are happy to announce the release of GNU Taler v0.9.0.
+</p>
+<p>
+We have addressed over 200 individual issues, our bug tracker
+has the <a href="https://bugs.gnunet.org/changelog_page.php?version_id=295">full list</a>.
+Notable changes include:
+</p>
+<ul>
+<li>NEW: Support for peer-to-peer payments</li>
+<li>NEW: Support for age-restricted payments</li>
+<li>Improved accessibility of the demonstration</li>
+<li>Improved exchange database schema for performance and scalability</li>
+<li>libeufin sandbox replaces legacy Python bank</li>
+<li>WebExtension now supports <a href="https://www.eff.org/deeplinks/2021/12/chrome-users-beware-manifest-v3-deceitful-and-threatening">Manifest V3</a></li>
+<li>Various minor bugfixes and documentation improvements</li>
+</ul>
+<p>
+Many of the major new features were developed under an NGI POINTER grant
+funded by the European Commissions great <a href="https://ngi.eu/">Next
+Generation Internet</a> initiative under grant
+agreement number 871528.
+Performance measurements and improvements were funded by an NGI Fed4Fire+
+grant.
+</p>
+<p>
+To fund further development,
+<a href="https://taler-systems.com/">Taler Systems SA</a> is still
+<a href="2022-11.html">looking for investors.</a>
+</p>
+<h4>Download links</h4>
+<p>
+The wallet has its own download site <a
+href="https://wallet.taler.net/">here</a>. The exchange, merchant backend,
+sync and bank components are distributed via the GNU FTP mirrors.
+</p>
+<ul>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-exchange-0.9.0.tar.gz">http://ftpmirror.gnu.org/taler/taler-exchange-0.9.0.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-exchange-0.9.0.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-exchange-0.9.0.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-merchant-0.9.0.tar.gz">http://ftpmirror.gnu.org/taler/taler-merchant-0.9.0.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-merchant-0.9.0.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-merchant-0.9.0.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-wallet-0.9.0.tar.gz">http://ftpmirror.gnu.org/taler/taler-wallet-0.9.0.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-wallet-0.9.0.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-wallet-0.9.0.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/sync-0.9.0.tar.gz">http://ftpmirror.gnu.org/taler/sync-0.9.0.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/sync-0.9.0.tar.gz.sig">http://ftpmirror.gnu.org/taler/sync-0.9.0.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-mdb-0.9.0.tar.gz">http://ftpmirror.gnu.org/taler/taler-mdb-0.9.0.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-mdb-0.9.0.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-mdb-0.9.0.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-twister-0.9.0.tar.gz">http://ftpmirror.gnu.org/taler/taler-twister-0.9.0.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-twister-0.9.0.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-twister-0.9.0.tar.gz.sig</a></li>
+</ul>
+<p>
+You must first install <a href="https://gnunet.org/en/news/2022-11-0.18.0.html">GNUnet v0.18</a> to compile GNU Taler 0.9.0 from source.
+</p>
+{% endblock body_content %}
diff --git a/template/news/2022-11.html.j2 b/template/news/2022-11.html.j2
new file mode 100644
index 00000000..edaf5f11
--- /dev/null
+++ b/template/news/2022-11.html.j2
@@ -0,0 +1,21 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>2022-12: Taler Systems SA is looking for investors</h1>
+<p>
+To fund further development of GNU Taler,
+<a href="https://taler-systems.com/">Taler Systems SA</a>
+is still looking for investors. Our
+<a href="https://stallman.org/">chief moral officer</a>
+has recorded a special business pitch for those that are interested.
+</p>
+<p>
+ <video id="video" poster="/images/logo-2021.svg" autobuffer="" height="360" width="640" controls="controls">
+ <source src="/videos/rms2022.webm" type="video/webm" />
+ <source src="/videos/rms2022.m4v" type="video/mp4" />
+ </video>
+</p>
+<p>
+If you are interested to invest, contact us at
+<a href="mailto:invest@taler-systems.com">invest@taler-systems.com</a>.
+</p>
+{% endblock body_content %}
diff --git a/template/news/2023-01.html.j2 b/template/news/2023-01.html.j2
new file mode 100644
index 00000000..98a3acaa
--- /dev/null
+++ b/template/news/2023-01.html.j2
@@ -0,0 +1,44 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>2023-01: GNU Taler v0.9.1 released</h1>
+<p>
+We are happy to announce the release of GNU Taler v0.9.1.
+</p>
+<p>
+We have addressed over 60 individual issues, our bug tracker
+has the <a href="https://bugs.gnunet.org/changelog_page.php?version_id=352">full list</a>.
+Notable changes include:
+</p>
+<ul>
+<li>NEW: First official release of libeufin (<a href="https://en.wikipedia.org/wiki/Electronic_Banking_Internet_Communication_Standard">EBICS</a> implementation)</li>
+<li>NEW: Rudimentary support for KYC processes (trigger, status notification)</li>
+<li>Improved error reporting for insufficient balance</li>
+<li>Improved error handling for peer-to-peer payments</li>
+<li>Various minor UI bugfixes</li>
+</ul>
+<h4>Download links</h4>
+<p>
+The wallet has its own download site <a
+href="https://wallet.taler.net/">here</a>. The exchange, merchant backend,
+sync and bank components are distributed via the GNU FTP mirrors.
+</p>
+<ul>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-exchange-0.9.1.tar.gz">http://ftpmirror.gnu.org/taler/taler-exchange-0.9.1.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-exchange-0.9.1.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-exchange-0.9.1.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-merchant-0.9.1.tar.gz">http://ftpmirror.gnu.org/taler/taler-merchant-0.9.1.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-merchant-0.9.1.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-merchant-0.9.1.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-wallet-0.9.1.tar.gz">http://ftpmirror.gnu.org/taler/taler-wallet-0.9.1.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-wallet-0.9.1.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-wallet-0.9.1.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/sync-0.9.1.tar.gz">http://ftpmirror.gnu.org/taler/sync-0.9.1.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/sync-0.9.1.tar.gz.sig">http://ftpmirror.gnu.org/taler/sync-0.9.1.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/libeufin-0.9.1.tar.gz">http://ftpmirror.gnu.org/taler/libeufin-0.9.1.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/libeufin-0.9.1.tar.gz.sig">http://ftpmirror.gnu.org/taler/libeufin-0.9.1.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-mdb-0.9.1.tar.gz">http://ftpmirror.gnu.org/taler/taler-mdb-0.9.1.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-mdb-0.9.1.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-mdb-0.9.1.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-twister-0.9.1.tar.gz">http://ftpmirror.gnu.org/taler/taler-twister-0.9.1.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-twister-0.9.1.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-twister-0.9.1.tar.gz.sig</a></li>
+</ul>
+<p>
+You must first install <a href="https://www.gnunet.org/en/news/2023-01-0.19.2.html">GNUnet v0.19.2</a> to compile GNU Taler 0.9.1 from source.
+</p>
+{% endblock body_content %}
diff --git a/template/news/2023-04.html.j2 b/template/news/2023-04.html.j2
new file mode 100644
index 00000000..9e1849f0
--- /dev/null
+++ b/template/news/2023-04.html.j2
@@ -0,0 +1,44 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>2023-04: GNU Taler v0.9.2 released</h1>
+<p>
+We are happy to announce the release of GNU Taler v0.9.2.
+</p>
+<p>
+We have addressed over 60 individual issues, our bug tracker
+has the <a href="https://bugs.gnunet.org/changelog_page.php?version_id=401">full list</a>.
+Notable changes include:
+</p>
+<ul>
+<li>Android wallet now uses quickjs runtime (smaller, faster)</li>
+<li>Merchant backend supports webhooks</li>
+<li>Added support for partially batched withdraw operations in wallet-core</li>
+<li>Various minor bugfixes</li>
+<li>Various minor UI improvements</li>
+</ul>
+<h4>Download links</h4>
+<p>
+The wallet has its own download site <a
+href="https://wallet.taler.net/">here</a>. The exchange, merchant backend,
+sync and bank components are distributed via the GNU FTP mirrors.
+</p>
+<ul>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-exchange-0.9.2.tar.gz">http://ftpmirror.gnu.org/taler/taler-exchange-0.9.2.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-exchange-0.9.2.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-exchange-0.9.2.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-merchant-0.9.2.tar.gz">http://ftpmirror.gnu.org/taler/taler-merchant-0.9.2.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-merchant-0.9.2.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-merchant-0.9.2.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-wallet-0.9.2.tar.gz">http://ftpmirror.gnu.org/taler/taler-wallet-0.9.2.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-wallet-0.9.2.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-wallet-0.9.2.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/sync-0.9.2.tar.gz">http://ftpmirror.gnu.org/taler/sync-0.9.2.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/sync-0.9.2.tar.gz.sig">http://ftpmirror.gnu.org/taler/sync-0.9.2.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/libeufin-0.9.2.tar.gz">http://ftpmirror.gnu.org/taler/libeufin-0.9.2.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/libeufin-0.9.2.tar.gz.sig">http://ftpmirror.gnu.org/taler/libeufin-0.9.2.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-mdb-0.9.1.tar.gz">http://ftpmirror.gnu.org/taler/taler-mdb-0.9.1.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-mdb-0.9.1.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-mdb-0.9.1.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-twister-0.9.1.tar.gz">http://ftpmirror.gnu.org/taler/taler-twister-0.9.1.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-twister-0.9.1.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-twister-0.9.1.tar.gz.sig</a></li>
+</ul>
+<p>
+You must first install <a href="https://www.gnunet.org/en/news/2023-04-0.19.4.html">GNUnet v0.19.4</a> to compile GNU Taler 0.9.2 from source.
+</p>
+{% endblock body_content %}
diff --git a/template/news/2023-06.html.j2 b/template/news/2023-06.html.j2
new file mode 100644
index 00000000..372d9ca8
--- /dev/null
+++ b/template/news/2023-06.html.j2
@@ -0,0 +1,24 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>2023-6: SUERF Policy Brief &quot;Practical Offline Payments Using One-Time Passcodes&quot; published</h1>
+<p>
+We are happy to announce the publication on
+<a href="https://www.suerf.org/suerf-policy-brief/69851/practical-offline-payments-using-one-time-passcodes">&quot;Practical Offline Payments Using One-Time Passcodes&quot;</a> by <a href="https://suerf.org/">The European Money and Finance Forum</a>.
+</p>
+<p>
+Modern buyers enjoy the convenience of digital payments, but not all points of
+sale always have an Internet connection. Trusting the buyer’s device to
+honestly report that a payment was definitively made puts merchant’s revenue
+at risk. We present an inexpensive and usable solution for merchants to verify
+that a buyer correctly completed a payment even when the point of sale is
+offline.
+</p>
+<h4>Download links</h4>
+<ul>
+<li><a href="https://www.suerf.org/docx/f_8ec57b4b3e0f08f05b4793beef0bcd62_69851_suerf.pdf">Official PDF</a></li>
+<li><a href="/papers/suerf2023en.pdf">Local mirror of the PDF (English)</a></li>
+<li><a href="https://grothoff.org/christian/suerf2023.bib">BibTeX file</a></li>
+<li><a href="https://docs.taler.net/core/api-merchant.html#template">Relevant GNU Taler Templating API</a></li>
+</ul>
+
+{% endblock body_content %}
diff --git a/template/news/2023-11.html.j2 b/template/news/2023-11.html.j2
new file mode 100644
index 00000000..0f2c3c82
--- /dev/null
+++ b/template/news/2023-11.html.j2
@@ -0,0 +1,71 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>2023-11: GNU Taler v0.9.3 released</h1>
+<p>
+We are happy to announce the release of GNU Taler v0.9.3.
+</p>
+<p>
+We have addressed over 200 individual issues, our bug tracker
+has the <a href="https://bugs.gnunet.org/changelog_page.php?version_id=411">full list</a>.
+Notable changes include:
+</p>
+<ul>
+<li>NEW: Support for webhooks in merchant backend</li>
+<li>NEW: Support for templates in merchant backend (pay by scanning static QR code)</li>
+<li>NEW: Multi-currency support in the merchant backend</li>
+<li>NEW: Automatic bank transaction import into merchant backend for reconciliation</li>
+<li>NEW: Wallet database backed by sqlite3 on Android</li>
+<li>NEW: iOS wallet (alpha release, not feature complete)</li>
+<li>NEW: Support for secure payments where merchant point of sale is offline</li>
+<li>NEW: Exchange KYC address validation via OAuth 2.0-based challenger service</li>
+<li>NEW: Exchange KYC integrations into two additional providers for ID validation</li>
+<li>NEW: Exchange SPA with AML administration support</li>
+<li>NEW: improvements to how amounts are rendered</li>
+<li>NEW: Enhancements to make libeufin-bank suitable for regional currencies</li>
+<li>NEW: libeufin support for currency conversion for regional currencies</li>
+<li>NEW: libeufin-nexus now supports Postfinance bank EBICS 3.0 implementation</li>
+<li>NEW: libeufin release to support NetzBon under the NLNet grant: Taler for local currencies</li>
+<li>Major work towards API and database schema forwards-compatibility</li>
+<li>Various minor bugfixes, performance, user experience and documentation improvements</li>
+</ul>
+<p>
+The <a href="https://nlnet.nl/project/Taler-iOS-wallet/">iOS wallet development</a>
+and the work on <a href="https://nlnet.nl/project/GNUTaler-LocalCurrencies/">support for regional currencies</a>
+was
+funded by the European Commissions great <a href="https://ngi.eu/">Next
+Generation Internet</a> initiative. We also contine to receive some funding
+for the work on <a href="https://nlnet.nl/project/GNUTaler-KYC/">improving AML and KYC support</a>.
+</p>
+<p>
+To fund further development,
+<a href="https://taler-systems.com/">Taler Systems SA</a> is still
+<a href="2022-11.html">looking for investors.</a>
+</p>
+<h4>Download links</h4>
+<p>
+The wallet has its own download site <a
+href="https://wallet.taler.net/">here</a>. The exchange, merchant backend,
+sync and bank components are distributed via the GNU FTP mirrors.
+</p>
+<ul>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-exchange-0.9.3b.tar.gz">http://ftpmirror.gnu.org/taler/taler-exchange-0.9.3b.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-exchange-0.9.3b.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-exchange-0.9.3b.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-merchant-0.9.3a.tar.gz">http://ftpmirror.gnu.org/taler/taler-merchant-0.9.3.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-merchant-0.9.3a.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-merchant-0.9.3.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-wallet-0.9.3.tar.gz">http://ftpmirror.gnu.org/taler/taler-wallet-0.9.3.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-wallet-0.9.3.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-wallet-0.9.3.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/libeufin-0.9.3-sources.tar.gz">http://ftpmirror.gnu.org/taler/libeufin-0.9.3-sources.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/libeufin-0.9.3-sources.tar.gz.sig">http://ftpmirror.gnu.org/taler/libeufin-0.9.3-sources.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/sync-0.9.3.tar.gz">http://ftpmirror.gnu.org/taler/sync-0.9.3.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/sync-0.9.3.tar.gz.sig">http://ftpmirror.gnu.org/taler/sync-0.9.3.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-mdb-0.9.3.tar.gz">http://ftpmirror.gnu.org/taler/taler-mdb-0.9.3.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-mdb-0.9.3.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-mdb-0.9.3.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-twister-0.9.3.tar.gz">http://ftpmirror.gnu.org/taler/taler-twister-0.9.3.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-twister-0.9.3.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-twister-0.9.3.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/challenger-0.9.3.tar.gz">http://ftpmirror.gnu.org/taler/challenger-0.9.3.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/challenger-0.9.3.tar.gz.sig">http://ftpmirror.gnu.org/taler/challenger-0.9.3.tar.gz.sig</a></li>
+</ul>
+<p>
+You must first install <a href="https://gnunet.org/">GNUnet v0.21.0</a> (unreleased) or the current Git master to compile GNU Taler 0.9.3 from source.
+</p>
+{% endblock body_content %}
diff --git a/template/news/2023-12.html.j2 b/template/news/2023-12.html.j2
new file mode 100644
index 00000000..c95fbf52
--- /dev/null
+++ b/template/news/2023-12.html.j2
@@ -0,0 +1,15 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>2023-12: Live demo of GNU Taler at the g0v-hackath59n</h1>
+<p>
+Christian Grothoff will give a live demonstration of GNU Taler at the g0v hackath59n in the afternoon sessions.</p>
+<p>
+The venue is located at 新竹縣竹北市嘉豐南路一段 11 號, Taiwan. For more information please visit
+<a href="https://beta.hackfoldr.org/g0v-hackath59n" target="_blank" rel="noopener noreferrer">g0v web page</a>.
+</p>
+ <div class="row">
+ <div class="col-lg-6">
+ <img class="img-fluid" src="{{ url_static('images/g0v-hackath59n.png') }}">
+ </div>
+ </div>
+{% endblock body_content %}
diff --git a/template/news/2024-01.html.j2 b/template/news/2024-01.html.j2
new file mode 100644
index 00000000..0ffd7eee
--- /dev/null
+++ b/template/news/2024-01.html.j2
@@ -0,0 +1,10 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>2024-01: Launch of NGI TALER: A Privacy-Preserving Payment System Initiative</h1>
+<p>
+We are excited to announce the creation of an EU-funded consortium
+with the central objective to launch GNU Taler as a privacy-preserving payment system across Europe.
+You can find more information on
+<a href="/en/ngi-taler.html">the consortium page</a>.
+</p>
+{% endblock body_content %} \ No newline at end of file
diff --git a/template/news/2024-02.html.j2 b/template/news/2024-02.html.j2
new file mode 100644
index 00000000..a80ea8dd
--- /dev/null
+++ b/template/news/2024-02.html.j2
@@ -0,0 +1,54 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>New EU project NGI TALER will bring private and secure online payments to the Eurozone</h1>
+<p>
+We are excited to announce the creation of a European project December 1st 2023, which
+will run for the next 36 months. This Next Generation Internet pilot named "NGI TALER" is
+operated by a consortium of 11 partners from 8 European countries with the mandate to roll
+out an innovative electronic payment system for the greater benefit of European citizens,
+merchants, and banks. This payment system is different from current online payment
+methods, like credit cards or bank transfers, in that it offers privacy for the buyer:
+neither merchants nor banks can trace or link the payments. It is also a no-risk payment
+option for the merchant as there is no equivalent of fake or stolen credit cards, as
+payments are cleared and confirmed instantly. The payment system is socially, ecologically
+and fiscally responsible: it is not a new currency, there is no energy-consuming
+proof-of-work or proof-of-stake method and clearing is processed much faster than payments
+by credit cards. NGI TALER enforces transparency on the merchants so that states ensure
+that businesses can be held accountable for their income and pay their taxes.
+</p>
+<p>
+NGI TALER is funded as a pilot under the Next Generation Internet (NGI) initiative within
+the European Commission's Horizon Europe research funding program. This project is based
+on the free software GNU Taler which has been developed by the GNU community and Taler
+Systems S.A., and which has received wide praise from financial experts including experts
+from several central banks - including the Swiss National Bank (SNB). The goal is to make
+GNU Taler available as payment system via two European banks - GLS Bank (Germany) and
+MagNet Bank (Hungary). NGI TALER's ambition is to reach the European market during the
+project period and have the payment mechanism accepted and widely adopted by the end of
+the project.
+</p>
+<p>
+Under the hood, GNU Taler deploys state-of-the-art cryptography to achieve these features.
+The initial investment into the required infrastructure is low and the payment mechanism
+operates more cost efficiently than existing payment solutions, with lower transaction
+fees - a benefit that will be shared by consumers and merchants. This makes even
+micro-payments possible, creating an interesting and privacy preserving alternative to
+subscription- or advertisement-based revenue for newspapers and other publishers.
+</p>
+<p>
+NGI TALER is coordinated by the Coding Theory and Cryptology group at Eindhoven University
+of Technology and has 10 more partners:
+<ul>
+ <li>Bern University of Applied Sciences (BFH),</li>
+ <li>small for-profit (Code Blau GmbH, Taler Systems S.A., VisualVest),</li>
+ <li>non-profit structures (petites singularités, E-Seniors Association),</li>
+ <li>cooperative banks (GLS Bank, MagNet Bank),</li>
+ <li>a philanthropic organization (Stichting NLnet) and</li>
+ <li>a grassroots movement (Homo Digitalis).</li>
+</ul>
+</p>
+<p>
+For more information see <a href="https://www.taler.net/en/ngi-taler.html">the project's webpage at https://www.taler.net/en/ngi-taler.html</a>
+or contact the coordinator Tanja Lange.
+</p>
+{% endblock body_content %}
diff --git a/template/news/2024-03.html.j2 b/template/news/2024-03.html.j2
new file mode 100644
index 00000000..9a4051d6
--- /dev/null
+++ b/template/news/2024-03.html.j2
@@ -0,0 +1,12 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>NLnet open call with funding opportunities for GNU Taler integrators</h1>
+<p>
+Join us on our journey towards informational self-determination in payments!
+As part of NGI TALER, <a href="https://nlnet.nl/">NLnet Foundation</a>
+is running an <a href="https://nlnet.nl/taler">open call</a> and will award grants
+to third parties working on GNU Taler enhancements <b>globally</b>. The application
+process is <a href="https://nlnet.nl/propose">simple</a> and the first
+submission deadline is <b>April 1st 2024</b>.
+</p>
+{% endblock body_content %}
diff --git a/template/news/2024-04.html.j2 b/template/news/2024-04.html.j2
new file mode 100644
index 00000000..808a1aa1
--- /dev/null
+++ b/template/news/2024-04.html.j2
@@ -0,0 +1,126 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>GNU libmicrohttpd 1.0 released</h1>
+<p>
+We are glad to announce the release of GNU libmicrohttpd v1.0, and
+future plans for the library.
+</p>
+<h2>About GNU libmicrohttpd</h2>
+<p>
+GNU libmicrohttpd is a small C library that makes it easy to run an
+HTTP server as part of another application. GNU libmicrohttpd is free
+software and an official GNU package.
+</p>
+<p>
+Key features that distinguish
+GNU libmicrohttpd from other projects are:
+<ul>
+<li>C library: fast and small</li>
+<li>API is expressive and fully reentrant</li>
+<li>Implementation is HTTP 1.1 compliant</li>
+<li>HTTP server can listen on multiple ports</li>
+<li>Various threading modes</li>
+<li>Three different sockets polling modes</li>
+<li>Broad platform support</li>
+<li>Support for IPv4 and IPv6</li>
+<li>Support for incremental processing of POST data</li>
+<li>Support for basic and digest authentication</li>
+<li>Support for TLS (requires libgnutls)</li>
+</ul>
+<p>
+Do not use GNU libmicrohttpd if you are looking for a standalone HTTP
+server, there are many other projects out there that provide that kind
+of functionality already. However, if you want to be able to serve
+HTTP requests from within your C or C++ application, check it out!
+</p>
+<p>
+GNU libmicrohttpd has been primarily developed by the GNU maintainers
+Evgeny Grin and Christian Grothoff over the last 16 years with the
+help of a large community contributing features, bug reports and bug
+fixes. We are especially grateful for code security audits performed
+or paid for by Mozilla and Red Hat.
+</p>
+
+<h2>Changes</h2>
+<p>
+This is the first non-bugfix release since version 0.9.75 and the first
+ever stable release of GNU libmicrohttpd. It is a huge one with new features
+and fixes.
+</p>
+The major changes include:
+<ul>
+<li>Rewritten parsing of clients' requests, fully aligned with current
+ RFCs (9110 and 9112) requirements. Added detailed control of strict
+ or lenient specification enforcement. Application may choose between
+ more compatible mode or more strict and secure mode.</li>
+<li>Reworked Digest Auth, greater enhanced support for current RFC 7617
+ features. MHD currently is the only known server-side implementation
+ with support for SHA-512/256, userhash and username in extended
+ notation. At the same time the very old RFC2069 is supported, as
+ well as MD5 and SHA-256.</li>
+<li>Improved functionality in multi-threading environment, especially with
+ external sockets polling modes.</li>
+<li>Reworked Basic Auth, adding new convenient API functions.</li>
+<li>Re-implemented GnuTLS initialisation. Now supported
+ libmicrohttpd-specific system-wide configuration, as well as generic
+ GnuTLS system-wide configuration. Application may adjust settings based
+ on system configuration instead of specifying its own full
+ configuration.</li>
+<li>Tons of other new functionality and various fixes. For detailed changes
+ see the ChangeLog or Git commit logs.</li>
+</ul>
+
+<h2>Download</h2>
+<p>
+You can download GNU libmicrohttpd from:
+<ul>
+<li><a href="https://ftp.gnu.org/gnu/libmicrohttpd/ and all GNU FTP mirrors">https://ftp.gnu.org/gnu/libmicrohttpd/</a> and all GNU FTP mirrors.</li>
+<li>Our Git repository at <a href="https://git.gnunet.org/libmicrohttpd.git">https://git.gnunet.org/libmicrohttpd.git</a></li>
+</ul>
+</p>
+<p>
+Please report bugs to our
+<a href="https://bugs.gnunet.org/set_project.php?project_id=10">bugtracker</a>.
+</p>
+<p>
+The documentation (including a reference manual and tutorial) can be
+found at <a href="https://gnu.org/s/libmicrohttpd">https://gnu.org/s/libmicrohttpd</a>.
+</p>
+
+<h2>Future Development</h2>
+<p>
+We will now begin work on a 2nd major version of GNU libmicrohttpd. This
+version will have an easier to use API, add support for HTTP2 and HTTP3, as
+well as multiple TLS backends. Initial work on this will be done by <a
+href="https://taler-ops.ch/">Taler Operations AG</a> under a commission from
+the <a href="https://mastodon.social/@sovtechfund">German Sovereign Technology
+Fund</a>. The Sovereign Tech Fund supports the development, improvement, and
+maintenance of open digital infrastructure. Its goal is to sustainably
+strengthen the Free Software ecosystem, focusing on security, resilience,
+technological diversity, and the people behind the code. The result will of
+course be Free Software and continue to be released under the Lesser GNU
+General Public License.
+</p>
+
+<p> If you are interested in commercial support or would like to financially
+support our development, please <a href="mailto:mhd@taler-ops.ch">contact
+us</a>. We would like to see if we can transition from purely volunteer work
+to paid work to accelerate development. We would especially like to hear from
+you if your business might be interested in purchasing (CE) certifications for
+GNU libmicrohttpd (say for compliance with the EU
+<a href="https://digital-strategy.ec.europa.eu/en/policies/cyber-resilience-act">
+Cyber Resilience Act</a>). That would help Taler Operations AG to assess this
+potential business case.
+</p>
+
+<p>
+Of course we will continue our best to provide gratis support -- but
+no warranties -- to developers via the GNU libmicrohttpd mailing-list.
+</p>
+<p>
+Happy hacking!
+</p>
+<p>
+Evgeny &amp; Christian
+</p>
+{% endblock body_content %}
diff --git a/template/news/2024-05.html.j2 b/template/news/2024-05.html.j2
new file mode 100644
index 00000000..d269603b
--- /dev/null
+++ b/template/news/2024-05.html.j2
@@ -0,0 +1,54 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>2024-3: GNU Taler v0.9.4 released</h1>
+<p>
+We are happy to announce the release of GNU Taler v0.9.4.
+</p>
+<p>
+We have addressed over 300 individual issues, our bug tracker
+has the <a href="https://bugs.gnunet.org/changelog_page.php?version_id=412">full list</a>.
+Notable changes include:
+</p>
+<ul>
+<li>NEW: Asynchronous DNS resolution by wallet-core (no more user interface blocking on DNS issues)</li>
+<li>NEW: Support for two-factor authentication in libeufin-bank</li>
+<li>NEW: <tt>taler-mdb</tt> can now show advertisements and internal error messages</li>
+<li>NEW: <tt>taler-merchant-depositcheck</tt> now alerts merchants immediately about KYC requirements</li>
+<li>NEW: iOS wallet release to <a href="https://testflight.apple.com/join/4fjyoe1N">Testflight</a></li>
+<li><tt>taler-merchant-wirewatch</tt> now correctly imports settlement data from <tt>libeufin-bank</tt></li>
+<li>Various minor bugfixes, performance, user experience and documentation improvements</li>
+</ul>
+<p>
+Our work is funded by <a href="https://nlnet.nl/project/GNUTaler-KYC/">NLnet grant 2022-08-058</a>
+as well as by the European Commissions and the Swiss State Secretariat for Education, Research and
+Innovation (SERI) as part of the <a href="https://taler.net/en/ngi-taler.html">NGI TALER</a> project.
+</p>
+
+<h4>Download links</h4>
+<p>
+The wallet has its own download site <a
+href="https://wallet.taler.net/">here</a>. The exchange, merchant backend,
+sync and bank components are distributed via the GNU FTP mirrors.
+</p>
+<ul>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-exchange-0.9.4a.tar.gz">http://ftpmirror.gnu.org/taler/taler-exchange-0.9.4a.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-exchange-0.9.4a.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-exchange-0.9.4a.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-merchant-0.9.4b.tar.gz">http://ftpmirror.gnu.org/taler/taler-merchant-0.9.4b.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-merchant-0.9.4b.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-merchant-0.9.4b.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-wallet-0.9.4.tar.gz">http://ftpmirror.gnu.org/taler/taler-wallet-0.9.4.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-wallet-0.9.4.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-wallet-0.9.4.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/libeufin-0.9.4-sources.tar.gz">http://ftpmirror.gnu.org/taler/libeufin-0.9.4-sources.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/libeufin-0.9.4-sources.tar.gz.sig">http://ftpmirror.gnu.org/taler/libeufin-0.9.4-sources.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/sync-0.9.4a.tar.gz">http://ftpmirror.gnu.org/taler/sync-0.9.4a.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/sync-0.9.4a.tar.gz.sig">http://ftpmirror.gnu.org/taler/sync-0.9.4a.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-mdb-0.9.4.tar.gz">http://ftpmirror.gnu.org/taler/taler-mdb-0.9.4.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-mdb-0.9.4.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-mdb-0.9.4.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-twister-0.9.4.tar.gz">http://ftpmirror.gnu.org/taler/taler-twister-0.9.4.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-twister-0.9.4.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-twister-0.9.4.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/challenger-0.9.4a.tar.gz">http://ftpmirror.gnu.org/taler/challenger-0.9.4a.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/challenger-0.9.4a.tar.gz.sig">http://ftpmirror.gnu.org/taler/challenger-0.9.4a.tar.gz.sig</a></li>
+</ul>
+<p>
+You must first install <a href="https://gnunet.org/">GNUnet v0.21.0</a> or the current Git master to compile GNU Taler 0.9.4 from source.
+</p>
+{% endblock body_content %}
diff --git a/template/news/2024-06.html.j2 b/template/news/2024-06.html.j2
new file mode 100644
index 00000000..3a643c42
--- /dev/null
+++ b/template/news/2024-06.html.j2
@@ -0,0 +1,57 @@
+{% extends "common/news.j2" %}
+{% block body_content %}
+<h1>2024-4: GNU Taler v0.10 released</h1>
+<p>
+We are happy to announce the release of GNU Taler v0.10.
+</p>
+<p>
+We have addressed over 100 individual issues, our bug tracker
+has the <a href="https://bugs.gnunet.org/changelog_page.php?version_id=414">full list</a>.
+Notable changes include:
+</p>
+<ul>
+<li>NEW: Support for EBICS 3.0 key exchange by libeufin-nexus</li>
+<li>NEW: Public GET endpoint for templates in merchant (nicer UX of payments with static QR codes)</li>
+<li>NEW: iOS wallet release to Apple app store</li>
+<li>NEW: Better support for exchange entry management in wallets</li>
+<li>NEW: Wallet-core can now emit observability events for better diagnostics</li>
+<li>NEW: New wallet transaction type to represent lost funds due to expired coins, revoked or defunct denominations</li>
+<li>BUG: Transaction histories are now visible even if the balance is zero</li>
+<li>BUG: Wallets no longer report insufficient balance when funds are in the process of being refreshed</li>
+<li>PERF: Asynchronous /keys verification by wallet-core (no more slow start on first use)</li>
+<li>PERF: Wallet-core now caches queries for coin/denomination selection, and allows cancelling queries</li>
+<li>Various minor bugfixes, user experience and documentation improvements</li>
+</ul>
+<p>
+Our work is co-funded by the European Commissions and the Swiss State Secretariat for Education, Research and
+Innovation (SERI) as part of the <a href="https://taler.net/en/ngi-taler.html">NGI TALER</a> project.
+</p>
+
+<h4>Download links</h4>
+<p>
+The wallet has its own download site <a
+href="https://wallet.taler.net/">here</a>. The exchange, merchant backend,
+sync and bank components are distributed via the GNU FTP mirrors.
+</p>
+<ul>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-exchange-0.10.2.tar.gz">http://ftpmirror.gnu.org/taler/taler-exchange-0.10.2.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-exchange-0.10.2.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-exchange-0.10.2.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-merchant-0.10.2.tar.gz">http://ftpmirror.gnu.org/taler/taler-merchant-0.10.2.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-merchant-0.10.2.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-merchant-0.10.2.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-wallet-v0.10.6.tar.gz">http://ftpmirror.gnu.org/taler/taler-wallet-0.10.0.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-wallet-v0.10.6.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-wallet-0.10.0.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/libeufin-0.10.1-sources.tar.gz">http://ftpmirror.gnu.org/taler/libeufin-0.10.1-sources.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/libeufin-0.10.1-sources.tar.gz.sig">http://ftpmirror.gnu.org/taler/libeufin-0.10.1-sources.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/sync-0.10.1.tar.gz">http://ftpmirror.gnu.org/taler/sync-0.10.1.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/sync-0.10.1.tar.gz.sig">http://ftpmirror.gnu.org/taler/sync-0.10.1.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-mdb-0.10.0.tar.gz">http://ftpmirror.gnu.org/taler/taler-mdb-0.10.0.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-mdb-0.10.0.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-mdb-0.10.0.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-twister-0.9.4.tar.gz">http://ftpmirror.gnu.org/taler/taler-twister-0.9.4.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/taler-twister-0.9.4.tar.gz.sig">http://ftpmirror.gnu.org/taler/taler-twister-0.9.4.tar.gz.sig</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/challenger-0.10.1.tar.gz">http://ftpmirror.gnu.org/taler/challenger-0.10.1.tar.gz</a></li>
+<li><a href="http://ftpmirror.gnu.org/taler/challenger-0.10.1.tar.gz.sig">http://ftpmirror.gnu.org/taler/challenger-0.10.1.tar.gz.sig</a></li>
+</ul>
+<p>
+You must first install <a href="https://gnunet.org/">GNUnet v0.21.0</a> or the current Git master to compile GNU Taler 0.10 from source.
+</p>
+{% endblock body_content %}
diff --git a/template/news/index.html.j2 b/template/news/index.html.j2
index eb9edd6c..2d9b2745 100644
--- a/template/news/index.html.j2
+++ b/template/news/index.html.j2
@@ -1,5 +1,6 @@
{% extends "common/base.j2" %}
{% block body_content %}
+<main id="maincontent">
<div class="container-fluid">
<div class="container">
<article>
@@ -8,10 +9,7 @@
<h1>{{ _("News") }}<a name="news"></a></h1>
<section>
<p>
- {% trans %}
- News posts about changes related to
- GNUnet such as releases and events
- {% endtrans %}
+ {% trans %}News posts about changes related to GNU Taler such as releases and events{% endtrans %}
&#8211;
<a href="{{ url_localized('rss.xml') }}">{{ _("subscribe to our RSS feed") }}</a>
</p>
@@ -26,14 +24,14 @@
<li>
<section class="item-preview">
<header>
- <h3>{{ item['title']|e }}</h3>
+ <h5>{{ item['title']|e }}</h5>
<p class="item-date">
{{ item['date'] }}
</p>
</header>
<p class="item-abstract">
- {{ get_abstract(item['page'], 500) }} <br/>
- [<a href="{{ url_localized(item['page']) }}" title="{{ item['date']}}">{{ _("read more") }}</a>]
+ {{ get_abstract('news/' + item['page'], 500) }} <br/>
+ [<a href="{{ url_localized('news/' + item['page']) }}" title="{{ item['date']}}">{{ _("read more") }}</a>]
</p>
</section>
</li>
diff --git a/template/ngi-taler.html.j2 b/template/ngi-taler.html.j2
new file mode 100644
index 00000000..05be7ed0
--- /dev/null
+++ b/template/ngi-taler.html.j2
@@ -0,0 +1,241 @@
+{% extends "common/consortium.j2" %}
+{% block body_content %}
+<main id="maincontent">
+<div class="container consortium dark-grey-text">
+ <article>
+ <div class="row">
+ <div class="col-lg-6">
+ <img class="img-fluid" src="{{ url_static('images/logo-NGI_TALER_Bold.svg') }}" alt="NGI Taler logo" width="500px">
+ </div>
+ <h4 class="font-weight-bold pb-2 mb-4">NGI TALER</h4>
+ <!-- {# <div class="col col-md-auto"></div> #} project intro -->
+ <div class="col-md-11 col-md-4 mb-4 px-md-4">
+ <p class="w-responsive mx-auto mb-3">
+ GNU Taler (<em>Taxable Anonymous Libre Electronic Resources</em>) is a new secure
+ electronic payment system based on open standards, free software, and advanced cryptography.
+ GNU Taler provides privacy guarantees to the buyer while offering the possibility
+ to audit merchants, making sale incomes transparent and fraud difficult.
+ To online merchants and retailers, GNU Taler offers instant transaction clearance
+ without risks of fake payment methods. Computations needed to clear the payments
+ are efficient and scalable so that banks can pass on lower transaction costs to
+ consumers and merchants. Consumers can withdraw money from their existing bank account
+ into their GNU Taler wallet, detaching their spending habits from scrutiny, in the way cash does.
+ </p>
+ <p class="w-responsive mx-auto mb-3">
+ The NGI TALER project is funded under Horizon Europe (Pilots for the Next Generation Internet) with the aim of bringing GNU Taler to market across Europe.
+ </p>
+ <p class="w-responsive mx-auto mb-3">
+ To make GNU Taler accessible to European citizens, we need a commercially viable use of
+ the GNU Taler technology. We will achieve this through the four key project objectives.
+ </p>
+ <div class="accordion" id="accordionObjectives">
+ {% for objective in conf['objectives'] %}
+ <div class="accordion-item">
+ <h2 class="accordion-header" id="heading_{{ loop.index }}">
+ <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
+ data-bs-target="#collapse_{{ loop.index }}" aria-expanded="false"
+ aria-controls="collapse_{{ loop.index }}">
+ Objective {{ loop.index }}: {{ objective.title }}
+ </button>
+ </h2>
+ <div id="collapse_{{ loop.index }}" class="accordion-collapse collapse"
+ aria-labelledby="heading_{{ loop.index }}" data-bs-parent="#accordionObjectives">
+ <p class="accordion-body text-muted w-responsive">
+ {{ objective.text }}
+ </p>
+ </div>
+ </div>
+ {% endfor %}
+ </div>
+ </div>
+ </div>
+ </article>
+
+ <article>
+ <div class="row">
+ <h4 class="font-weight-bold pb-2 mb-4">Events</h4>
+ </div>
+
+ <div class="row mb-4">
+ <p>
+ The consortium will organize or participate in different types of events across Europe.
+ </p>
+ {# Events will include talks presenting GNU Taler and related technologies, expert panels discussing
+ financial problems and possible solutions, workshops to jointly work on GNU Taler integrations,
+ usability studies with interested volunteers, and public consultations to gather ideas and requirements
+ from the general public. #}
+
+ <div>
+ {% for year, yitem in eventsdata|groupby('date.year')|reverse %}
+ <p><b>{{ year }}</b></p>
+
+ <ul class="timeline">
+ {% for item in yitem|sort(attribute='date',reverse=true) %}
+ <li>
+ <section class="item-preview">
+ <header>
+ <h5> {{ item['date']}}: {{ item['title']|e }}</h5>
+ <p class="item-date">
+ {{ item['teaser'] }}
+ </p>
+ </header>
+ <p class="item-abstract">
+ {{ item['location']}} - Speaker: {{ item['speaker']}}
+ </p>
+ <p class="item-date">
+ <a href="{{ item['url_ext']}}" target="_blank" rel="noopener noreferrer">External link: {{ item['url_ext']}}</a>
+ </p>
+ </section>
+ </li>
+ {% endfor %}
+ </ul>
+ {% endfor %}
+ </div>
+ </div>
+ </article>
+
+{# DEPRECATED EVENTS AND DELIVERABLES IN CAROUSEL JS
+ <article>
+ <div class="row">
+ <h4 class="font-weight-bold pb-2 mb-4">Events</h4>
+ <div class="col-md-6 mb-6">
+ <!-- events carousel -->
+ <div class="container announce">
+ <div id="AnnouncCarousel" class="carousel slide" data-bs-ride="carousel">
+ <!-- Carousel indicators -->
+ <div class="carousel-indicators">
+ {% for number in range(0, conf['events']|count) %}
+ <button data-bs-target="#AnnouncCarousel" data-bs-slide-to="{{ number }}" {% if number==0 %}
+ class="active" {% endif %} aria-current="true" aria-label="Slide {{ number + 1 }}"></button>
+ {% endfor %}
+ </div>
+
+ <!-- Wrapper for carousel items -->
+ <div class="carousel-inner vevent">
+ {% for item in conf['events'] %}
+
+ <div {% if loop.first %} class="carousel-item active" {% else %} class="carousel-item" {% endif %}
+ data-bs-interval="5000">
+ <h5 class="summary">{{ item['title'] }}</h5>
+ <div class="img-box">
+ {% if item['url_ext'] is defined and item['url_ext'] and item['url_ext'] != "" %}
+ <a href="{{ item['url_ext'] }}" target="_blank" rel="noopener noreferrer">
+ {% endif %}
+ <img src="{{ url( item['url_img']|default('images/logo-2021.svg', true) ) }}" alt="" width="300px">
+ {% if item['url_ext'] is defined and item['url_ext'] and item['url_ext'] != "" %}
+ </a>
+ {% endif %}
+ </div>
+ <p class="description">
+ {{ item['teaser'] }}
+ </p>
+ <div class="contact">
+ <div class="fas fa-calendar-alt"> Date:
+ <span class="dtstart">
+ <abbr class="value" title="{{ item['date'] }}"> {{ item['date'] }}</abbr>
+ </span>
+ </div>
+ {% if item['url_ext'] is defined and item['url_ext'] and item['url_ext'] != "" %}
+ <div class="fa fa-globe"> <a target="_blank" href="{{ item['url_ext'] }}"> About</a></div>
+ {% endif %}
+ {% if item['location'] is defined and item['location'] and item['location'] != "" %}
+ <p class="fas fa-map-marker-alt"> Location: <span class="location">{{ item['location'] }}</span>
+ </p>
+ {% endif %}
+ <div class="fa fa-user"> <b>{{ item['speaker'] }}</b></div>
+ {% if item['email'] is defined and item['email'] and item['email'] != "" %}
+ <div class="fas fa-envelope"> <a href="mailto:{{ item['email'] }}?subject={{ item['title'] }}"><span
+ class="dark-grey-text"> Contact</span></a></div>
+ {% endif %}
+ </div>
+ </div>
+ {% endfor %}
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <!-- deliverables -->
+ <div class="col-md-4 mb-4">
+ {% if conf['deliverables'] is defined and conf['deliverables'] and conf['deliverables'] != "" %}
+ <h4 class="font-weight-bold pb-2 mb-4">Deliverables</h4>
+ <div class="list-group ">
+ {% for item in conf['deliverables'] %}
+ {% set ns = namespace(symbol='images/file-cancel.svg') %}
+
+ {% if item['url_pdf'] is defined and item['url_pdf'] and item['url_pdf'] != "" %}
+ <a href="{{ url(item['url_pdf']) }}" class="list-group-item list-group-item-action">
+ {% set ns.symbol = 'images/pdf.svg' %}
+ {% elif item['page'] is defined and item['page'] and item['page'] != "" %}
+ <a href="{{ url(item['page']) }}" class="list-group-item list-group-item-action">
+ {% set ns.symbol = 'images/html.svg' %}
+ {% else %}
+ <a href="#" class="list-group-item list-group-item-action">
+ {% endif %}
+ <div class="d-flex w-100 justify-content-between">
+ <h5 class="mb-1"><img border=0 alt="" width=24 height=24 src="{{ url_static(ns.symbol) }}"> {{
+ item['title'] }}</h5>
+ <small>{{ item['workpackage'] }}</small>
+ </div>
+ {% if item['comment'] is defined and item['comment'] and item['comment'] != "" %}
+ <p class="mb-1">{{ item['comment'] }}</p>
+ {% endif %}
+ </a>
+ {% endfor %}
+ </div>
+ {% endif %}
+ </div>
+ </div>
+ </article>
+#}
+
+ <article>
+ <div class="row">
+ <h4 class="font-weight-bold pb-2 mb-4">Partners</h4>
+ </div>
+
+ <div class="row mb-4">
+ <!-- intro -->
+ <div class="col-md-11 col-md-4 mb-4 px-md-4">
+ <p class="w-responsive mx-auto mb-3">
+ The NGI TALER consortium consists of 11 partners from 8 European countries (the Netherlands, Belgium, France,
+ Germany, Greece, Hungary, Luxembourg and Switzerland).
+ </p>
+ <p class="w-responsive mx-auto mb-3">
+ The consortium is diverse in terms of types of institutions, including research (Eindhoven University of Technology) and
+ applied science universities (Berner Fachhochschule BFH), small for-profit companies (Code Blau GmbH, Taler Systems S.A., VisualVest),
+ a structure (petites singularités), cooperative banks (GLS Bank, MagNet Bank), a foundation (Stichting NLnet)
+ and grassroots movements (E-Seniors Association, Homo Digitalis).
+ </p>
+ </div>
+ </div>
+
+ <div class="row row-cols-1 row-cols-md-3 g-4 text-center">
+ <!-- consortium board -->
+
+ {% for partner in conf['partners'] %}
+ <div class="col">
+ <div class="card border-0 h-100">
+ <a href="{{ partner.url }}" target="_blank" rel="noopener noreferrer">
+ <img src="{{ url(partner.logo) }}" height="100" class="card-header rounded-circle z-depth-3"
+ alt="{{ partner.id + ' avatar'}}">
+ </a>
+ {# <!-- <div class="card-note grey-text text-muted mt-3">{{ partner.contact }}</div> --> #}
+ <div class="card-body h-100">
+ <h5 class="card-title font-weight-bold grey-text">{{ partner.name }} </h5>
+ {# <!-- <p class="card-text grey-text text-muted word-wrap"> {{ partner.role }} </p> --> #}
+ </div>
+ {# <!-- <div class="card-footer">
+ <p><small class="text-body-secondary dark-grey-text text-muted word-wrap">
+ <i>{{ partner.statement }}</i>
+ </small></p>
+ </div> --> #}
+ </div>
+ </div>
+ {% endfor %}
+ </div>
+ </article>
+
+ </div>
+</main>
+{% endblock body_content %}
diff --git a/template/pos.html.j2 b/template/pos.html.j2
index 85222c11..c50a3e29 100644
--- a/template/pos.html.j2
+++ b/template/pos.html.j2
@@ -35,7 +35,7 @@
<h1 lang="en">Taler Point of Sale (PoS)</h1>
</div>
</div>
-
+<main id="maincontent">
<div class="container">
<div class="row">
diff --git a/template/press.html.j2 b/template/press.html.j2
index 13b9aee8..c3971fc2 100644
--- a/template/press.html.j2
+++ b/template/press.html.j2
@@ -1,10 +1,61 @@
{% extends "common/base.j2" %}
{% block body_content %}
+<main id="maincontent">
<div class="container">
<h1>{{ _("GNU Taler in the Press")}}</h1>
+ <h2>{{ _("2024")}}</h2>
+ <ul>
+ <li><a href="https://opensource.ellak.gr/2024/02/22/ngi-taller/">Πρόσκληση χρηματοδότησης του έργου NGI TALER για επεκτάσεις ανοιχτού κώδικα σχετικά με το σύστημα ψηφιακών πληρωμών GNU Taler</a></li>
+ <li><a href="https://www.umweltdialog.de/de/verbraucher/finanzen/2024/NGI-Taler-digitales-Bezahlsystem-fuer-Anonymitaet-und-Nachhaltigkeit.php">NGI Taler: digitales Bezahlsystem für Anonymität und Nachhaltigkeit</a></li>
+ <li><a href="https://gnulinux.ch/gnu-taler-organisiert-sich">GNU Taler organisiert sich</a></li>
+ <li><a href="https://dielinke.berlin/zusammenschluesse/lag-netzpolitik/detail/bitcoin-digitaler-euro/">Bitcoin, Kryptowährungen und digitaler Euro - wo steht Die Linke?</a></li>
+ <li><a href="https://www.experten.de/2024/01/anonym-digital-bezahlen-das-taler-projekt/">Anonym &amp; digital bezahlen: Das Taler Projekt</a></li>
+ <li><a href="https://t3n.de/news/gls-bank-taler-digitaler-euro-konkurrenz-1604885/">Konkurrenz für den Digitalen Euro? Das steckt hinter dem Projekt &quot;Taler&quot;</a></li>
+ <li><a href="https://www.techhut.tv/gnu-online-payments-framework/">GNU to Power Online Payments, Framework Laptop 16 Reviews, and more!"</a></li>
+ <li><a href="https://finanzbusiness.de/nachrichten/banken/article16791813.ece">Digitaler Euro bekommt Konkurrenz vom "Taler"</a></li>
+ <li><a href="https://www.boersen-zeitung.de/banken-finanzen/wer-den-bitcoin-nicht-ehrt-ist-des-talers-nicht-wert">Wer den Bitcoin nicht ehrt, ist des Talers nicht wert</a></li>
+ <li><a href="https://news.ycombinator.com/item?id=39039209">Hacker News</a></li>
+ </ul>
+ <h2>{{ _("2023")}}</h2>
+ <ul>
+ <li><a href="https://www.srf.ch/play/tv/einstein/video/bitcoin-twint-oder-e-franken-was-ist-das-geld-der-zukunft?urn=urn:srf:video:913581f3-4078-4c2a-8c9d-daf6efbefd40">SRF Einstein: Bitcoin, Twint oder E-Franken: Was ist das Geld der Zukunft?</a></li>
+ <li><a href="https://www.youtube.com/watch?v=48eDbbqyGIs&t=218s" target="_blank" rel="noopener noreferrer">SRF Einstein: Bitcoin, Twint oder E-Franken: Was ist das Geld der Zukunft? as YT-stream</a></li>
+ <li><a href="https://blog.xot.nl/2023/03/03/a-proposal-for-a-privacy-friendly-digital-euro-using-the-existing-payment-infrastructure/index.html">A proposal for a privacy friendly digital euro, using the existing payment infrastructure</a></li>
+ <li><a href="https://blog.xot.nl/2023/12/04/analysing-the-proposal-to-regulate-the-digital-euro/index.html">Analysing the proposal to regulate the digital euro</a></li>
+ <li><a href="https://www.opensourceforu.com/2023/03/non-free-programs-are-a-threat-to-everyones-freedom/">Non-free programs are a threat to everyone’s freedom</a></li>
+ <li><a href="https://background.tagesspiegel.de/cybersecurity/quelloffene-freie-software-fuer-mehr-sicherheit">Quelloffene freie Software für mehr Sicherheit?</a></li>
+ <li><a href="https://www.heise.de/news/Weltwirtschaftsforum-Ukraine-auf-der-Ueberholspur-bei-digitaler-Waehrung-7463764.html">Weltwirtschaftsforum: Ukraine auf der Überholspur bei digitaler Währung</a></li>
+ <li><a href="https://business-review.eu/tech/the-story-of-gnu-taler-a-privacy-respecting-digital-payment-system-made-in-europe-246730">The Story Of GNU Taler, A Privacy-Respecting Digital Payment System Made In Europe</a></li>
+ <li><a href="https://outsourcing-today.ro/?p=9117">The story of GNU TALER, a privacy-respecting digital payment system made in Europe</a></li>
+ <li><a href="https://gnulinux.ch/daempfer-fuer-den-gnu-taler">Dämpfer für den GNU Taler</a></li>
+ </ul>
+ <h2>{{ _("2022")}}</h2>
+ <ul>
+ <li><a href="https://gnulinux.ch/kommt-der-gnu-taler">Kommt der GNU Taler?</a></li>
+ <li><a href="https://www.netzwoche.ch/news/2022-11-02/bares-ist-rares">Bares ist Rares</a></li>
+ <li><a href="https://www.tagesanzeiger.ch/wir-nehmen-nur-bargeld-oh-nein-819982297571">«Wir nehmen nur Bargeld» - «Oh nein!»</a></li>
+ <li><a href="https://www.srf.ch/news/schweiz/digitales-geld-bezahlsystem-gnu-taler-eine-ueberweisung-kostet-0-001-rappen">Bezahlsystem GNU Taler: «Eine &Uuml;berweisung kostet 0.001 Rappen»</a></li>
+ <li><a href="https://paperjam.lu/article/luxembourgeoise-taler-au-coeur">La luxembourgeoise Taler au cœur du franc suisse digital</a></li>
+ <li><a href="https://www.kuketz-blog.de/gnu-taler-datenschutzfreundliche-online-bezahlmethode/">GNU Taler: Datenschutzfreundliche Online-Bezahlmethode</a></li>
+ <li><a href="https://www.trendsderzukunft.de/digitales-bargeld-schweiz-mit-gnu-taler-in-der-vorreiterrolle/">Digitales Bargeld: Schweiz mit GNU Taler in der Vorreiterrolle?</a></li>
+ <li><a href="https://www.blick.ch/politik/glp-maeder-will-digitales-bargeld-e-franken-soll-anonymes-zahlen-ermoeglichen-id17943890.html">E-Franken soll anonymes Zahlen ermöglichen</a></li>
+ <li><a href="https://www.heise.de/news/Digitales-Bargeld-Schweizer-Parlament-soll-Verwendung-von-GNU-Taler-pruefen-7283842.html">Digitales Bargeld: Schweizer Parlament soll Verwendung von GNU Taler prüfen</a></li>
+ <li><a href="https://www.watson.ch/digital/schweiz/567383477-gnu-taler-bundesrat-soll-einfuehrung-von-digitalem-bargeld-pruefen">GNU-Taler: Bundesrat soll Einführung von digitalem Bargeld prüfen</a></li>
+ <li><a href="https://www.srf.ch/news/gesellschaft/kreislaufwirtschaft-sharing-economy-mieten-statt-besitzen-oder-wegwerfen">GNU Taler im Vergleich zu Ethereum (Minute 59:40-1:00:27)</a></li>
+ <li><a href="https://www.it-finanzmagazin.de/gnu-taler-das-bessere-digitalgeld-146341/">GNU-Taler – das „bessere“ Digitalgeld?</a></li>
+ <li><a href="https://news.slashdot.org/story/22/04/16/2222229/richard-stallman-speaks-on-cryptocurrency-blockchain-gnu-taler-and-encryption">Richard Stallman Speaks on Cryptocurrency, Blockchain, GNU Taler, and Encryption</a></li>
+ </ul>
<h2>{{ _("2021")}}</h2>
<ul>
+ <li><a href="https://www.ledgerinsights.com/a-digital-dollar-cbdc-may-use-this-privacy-preserving-design/">A digital dollar CBDC may use this privacy preserving design</li>
+ <li><a href="https://token-information.com/ch/der-gnu-taler-digitales-bargeld-ohne-blockchain/">Der GNU-Taler – digitales Bargeld ohne Blockchain</a></li>
+ <li><a href="https://www.lffl.org/2021/10/gnu-taler-pagamenti-anonimi.html">GNU Taler: un sistema di pagamento anonimo, tassabile e sicuro</a></li>
+ <li><a href="https://www.archyworldys.com/digital-money-gnu-taler-the-cash-of-the-future-can-do-that-news/">Digital money – GNU Taler: The cash of the future can do that</a></li>
+ <li><a href="https://gigazine.net/news/20210301-gnu-taler/">GNUプロジェクトの一部として開発されているプライバシー重視の決済サービス</a></li>
+ <li><a href="https://twitter.com/TspBackgroundDi/status/1414838761880444930">Tagesspiegel: Porträt Leon Schumacher</a> (leider mit Falschaussage zu Taler und Blockchain)</li>
+ <li><a href="https://www.srf.ch/play/radio/digital-podcast/audio/schleppen-kinder-bald-keinen-schulrucksack-mehr?id=7d9c6624-539d-4160-b189-84b393426454">Digitales Geld: Der GNU Taler</a></li>
+ <li><a href="https://www.srf.ch/play/radio/echo-der-zeit/audio/welche-vorteile-bringt-digitales-bargeld?id=07c4cba0-f134-4293-861d-73b0bc507ae8">Welche Vorteile bringt digitales Bargeld</a></li>
<li><a href="https://mauxe-press.com/taler-systems-could-help-central-banks-issue-digital-currency-for-all/">Taler Systems could help central banks issue digital currency for all</a></li>
<li><a href="https://cbpaymentsnews.com/assets/CBPN_Volume4/CBPN_2021-March_4.3.pdf">Central Bank Payment News: Reports in Review</a></li>
<li><a href="https://www.ashoka-deutschland.org/blog/digitales-bezahlen-hat-bislang-viele-viele-nachteile/">Digitales Bezahlen hat bislang viele Nachteile</a></li>
@@ -23,7 +74,8 @@
<li><a href="https://bitcoinnews.ch/24944/berner-fachhochschule-ein-vorschlag-fuer-den-digitalen-euro-aus-der-schweiz/">Berner Fachhochschule: Ein Vorschlag für den Digitalen Euro aus der Schweiz</a></li>
<li><a href="https://mediageek.ru/news/shvejczarskij-naczionalnyj-bank-vybral-tehnologiyu-dlya-svoej-cbdc.html">Швейцарский национальный банк выбрал технологию для своей CBDC</a></li>
<li><a href="https://thepaypers.com/cryptocurrencies/swiss-national-bank-releases-paper-regarding-cbdc-and-gnu-talers--1247465">Swiss National Bank releases paper regarding CBDC and GNU Talers</a></li>
- <li><a href="https://www.europarl.europa.eu/doceo/document/E-9-2020-006895_EN.html">So will ein SNB-Vorstand den E-Franken umsetzen</a></li>
+ <li><a href="https://www.inside-it.ch/post/so-will-ein-snb-vorstand-den-e-franken-umsetzen-20210225">So will ein SNB-Vorstand den E-Franken umsetzen</a></li>
+ <li><a href="https://www.europarl.europa.eu/doceo/document/E-9-2020-006895_EN.html">Free software-based GNU Taler electronic payment system</a></li>
<li><a href="https://news.ycombinator.com/item?id=26261314">Hacker News</a></li>
<li><a href="https://news.ycombinator.com/item?id=26260524">Hacker News</a></li>
</ul>
diff --git a/template/principles.html.j2 b/template/principles.html.j2
index 683b7449..8d1e5de4 100644
--- a/template/principles.html.j2
+++ b/template/principles.html.j2
@@ -1,6 +1,6 @@
{% extends "common/base.j2" %}
{% block body_content %}
-
+<main id="maincontent">
<script>
function expand(n) {
var x = document.getElementById(n);
@@ -41,23 +41,21 @@
For countries, Free/Libre
software means GNU Taler can not compromise sovereignty by imposing
restrictions or requirements. And for exchange operators, transparency is crucial to satisfy
- <a href="https://en.wikipedia.org/wiki/Kerckhoffs's_principle">Kerckhoff's principle</a>
+ <a href="https://en.wikipedia.org/wiki/Kerckhoffs's_principle">Kerckhoffs's principle</a>
and to establish public confidence.
{% endtrans %}
</p>
<p>
{% trans %}
- Customers benefit from Free/Libre Software
- because anyone is free to modify the wallet software support additional platforms.
- The source code must be available and make it easy to verify that
- user-hostile features such as tracking or telemetry are absent.
+ Customers benefit from Free/Libre Software because anyone is free to modify the wallet software to support additional platforms.
+ The source code must be available and make it easy to verify that user-hostile features such as tracking or telemetry are absent.
{% endtrans %}
</p>
</div>
</div>
<div class="row">
<div class="col-lg-12">
- <h2>{{ _("2. Protect the privacy of buyers") }}</h2>
+ <h2 id="privacy">{{ _("2. Protect the privacy of buyers") }}</h2>
<!-- From https://www.pixabay.com/ -->
<img style="width:20vw;float:left;padding:15px" src="{{ url_static('images/2-buyer-privacy.png') }}" alt="{{_("You deserve some privacy")}}">
<p>
@@ -122,12 +120,11 @@
<p>
{% trans %}
The privacy of buyers is given particular priority as part of
- principle (2). However, other parties - such as merchants - also
+ <a href="#privacy">principle #2</a>. However, other parties - such as merchants - also
must have data protection.
- Generally, GNU Taler must collect the minimum information necessary:
- data that is not collected or is no longer stored can not be
- compromised.
+ Generally, GNU Taler must only collect the minimum information necessary:
+ Data that is not collected or is no longer stored cannot be compromised.
{% endtrans %}
</p>
</div>
@@ -160,7 +157,7 @@
{% trans %}
GNU Taler must be designed to be efficient.
Quite simply, efficiency means fewer things to break, and it means more
- transactions per second and lowers our environmental impact. Efficiency
+ transactions per second and lower environmental impact. Efficiency
is also critical for GNU Taler to be used for micropayments.
Therefore certain expensive primitives, such as proof-of-work,
must not be used by GNU Taler.
@@ -211,6 +208,6 @@
</div>
</div>
</div>
-</div>
+
{% endblock body_content %}
diff --git a/template/rss.xml.j2 b/template/rss.xml.j2
index 3ffe6d38..482a0896 100644
--- a/template/rss.xml.j2
+++ b/template/rss.xml.j2
@@ -36,7 +36,7 @@
<description>
<![CDATA[
<article>
- {{ get_abstract(newspostitem['page'], 1000) }}
+ {{ get_abstract('news/' + newspostitem['page'], 1000) }}
</article>
]]>
</description>
diff --git a/template/schemafuzz.html.j2 b/template/schemafuzz.html.j2
index 2908ed6a..17675f2d 100644
--- a/template/schemafuzz.html.j2
+++ b/template/schemafuzz.html.j2
@@ -1,5 +1,6 @@
{% extends "common/base.j2" %}
{% block body_content %}
+<main id="maincontent">
<!-- Jumbotron -->
<div class="jumbotron">
<div class="container text-center">
diff --git a/template/wallet-android-privacy-policy.html.j2 b/template/wallet-android-privacy-policy.html.j2
index 87f74c33..d7da6900 100644
--- a/template/wallet-android-privacy-policy.html.j2
+++ b/template/wallet-android-privacy-policy.html.j2
@@ -1,18 +1,18 @@
{% extends "common/base.j2" %}
{% block body_content %}
-
+<main id="maincontent">
<div class="container">
-<h1>GNU Taler Android Wallet Privacy Policy</h1>
+<h1>GNU Taler Mobile Wallet Privacy Policy</h1>
-<p>The GNU Taler Android Wallet allows its users to interact with third-party
+<p>The GNU Taler Mobile Wallet allows its users to interact with third-party
service providers (such as exchanges, banks and merchants) through the GNU
-Taler protocol. When using the GNU Taler Android Wallet to interact with such
+Taler protocol. When using the GNU Taler Mobile Wallet to interact with such
service providers, these interactions are subject to the Privacy Policy of the
respective service provider.</p>
-<p>The GNU Taler Android Wallet does not automatically collect and send data to
+<p>The GNU Taler Mobile Wallet does not automatically collect and send data to
the developers of the app or any third party.</p>
<h2>Why are camera permissions required?</h2>
diff --git a/template/wallet-privacy-policy.html.j2 b/template/wallet-privacy-policy.html.j2
new file mode 100644
index 00000000..d7da6900
--- /dev/null
+++ b/template/wallet-privacy-policy.html.j2
@@ -0,0 +1,25 @@
+{% extends "common/base.j2" %}
+{% block body_content %}
+<main id="maincontent">
+<div class="container">
+
+<h1>GNU Taler Mobile Wallet Privacy Policy</h1>
+
+<p>The GNU Taler Mobile Wallet allows its users to interact with third-party
+service providers (such as exchanges, banks and merchants) through the GNU
+Taler protocol. When using the GNU Taler Mobile Wallet to interact with such
+service providers, these interactions are subject to the Privacy Policy of the
+respective service provider.</p>
+
+
+<p>The GNU Taler Mobile Wallet does not automatically collect and send data to
+the developers of the app or any third party.</p>
+
+<h2>Why are camera permissions required?</h2>
+
+<p>The camera permissions are required to scan QR codes. The images taken are
+processed locally on your devices and never sent to a third party.</p>
+
+</div>
+
+{% endblock body_content %}
diff --git a/template/wallet-webextension-privacy-policy.html.j2 b/template/wallet-webextension-privacy-policy.html.j2
new file mode 100644
index 00000000..cd9a20e6
--- /dev/null
+++ b/template/wallet-webextension-privacy-policy.html.j2
@@ -0,0 +1,20 @@
+{% extends "common/base.j2" %}
+{% block body_content %}
+<main id="maincontent">
+<div class="container">
+
+<h1>GNU Taler Browser Extension Privacy Policy</h1>
+
+<p>The GNU Taler Browser Extension allows its users to interact with third-party
+service providers (such as exchanges, banks and merchants) through the GNU
+Taler protocol. When using the GNU Taler Browser Wallet to interact with such
+service providers, these interactions are subject to the Privacy Policy of the
+respective service provider.</p>
+
+
+<p>The GNU Taler Browser Wallet does not automatically collect and send data to
+the developers of the app or any third party.</p>
+
+</div>
+
+{% endblock body_content %}
diff --git a/template/wallet.html.j2 b/template/wallet.html.j2
index 1febffae..abbb5a73 100644
--- a/template/wallet.html.j2
+++ b/template/wallet.html.j2
@@ -27,7 +27,7 @@
for the JavaScript code in this page.
*/
-var chrome_min_version = '51';
+var chrome_min_version = 51;
function installWallet() {
if (window.chrome) {
@@ -53,7 +53,7 @@ function onLoad() {
document.getElementById("error-chrome").style.display = "inherit";
} else {
var m = navigator.userAgent.match(/Chrome\/([0-9.]+)/);
- if (null == m || m[1] < chrome_min_version) {
+ if (null == m || m[1].split('.')[0] < chrome_min_version) {
document.getElementById('chrome-min-version').appendChild(document.createTextNode(chrome_min_version));
document.getElementById('error-chrome-version').style.display = "inherit";
}
@@ -91,10 +91,10 @@ document.addEventListener('DOMContentLoaded', onLoad);
{% endblock head_content %}
{% block body_content %}
- <!-- Jumbotron -->
+<main id="maincontent">
<div class="jumbotron">
<div class="text-center">
- <h1 lang="en">Taler Wallet</h1>
+ <h1 lang="en">{% trans %}Taler Wallet{% endtrans %}</h1>
</div>
</div>
@@ -103,89 +103,62 @@ document.addEventListener('DOMContentLoaded', onLoad);
<div class="row">
<div class="col-lg-12">
<p class="greenbox" id="box-present" style="display:none">
- {% trans %}
- Congratulations, you have installed the Taler wallet.
- Check out the
- {% endtrans %}
- <a href="https://demo.taler.net/">
- {% trans %}
- demo
- {% endtrans %}
- </a>.
+ {% trans %}Congratulations, the Taler wallet is installed on your device.
+ Check out the <a href="https://demo.taler.net/">demonstration</a>.{% endtrans %}
</p>
<p class="bluebox" id="box-not-present" style="display:none">
- {% trans %}
- You don&#39;t have a wallet installed yet.
- {% endtrans %}
+ {% trans %}You don&#39;t have a wallet installed yet.{% endtrans %}
</p>
- </div> <!-- /col-lg-12 -->
- </div> <!-- /row -->
+ </div>
+ </div>
- <div class="row">
+ <div class="row wallet-teaser-text">
<div class="col-lg-12">
- {% trans %}
- Install the wallet for your browser below, then check out the
- {% endtrans %}
- <a href="https://demo.taler.net">
- {% trans %}
- demonstration
- {% endtrans %}
- </a>.
+ {% trans %}Install the wallet for your browser below, then check out the
+ <a href="https://demo.taler.net">demonstration</a>.
+ The source code is provided <a href="https://taler.net/files/wallet/" target="_blank" rel="noopener noreferrer">here</a>.{% endtrans %}
</div>
- </div> <!-- /row -->
+ </div>
- <div class="row">
+ <div class="row extension">
<div class="col-lg-6">
- <h2><a href="https://chrome.google.com/webstore/detail/gnu-taler-wallet/millncjiddlpgdmkklmhfadpacifaonc">Google Chrome / Chromium 51+</a></h2>
+ <h2><a href="https://chrome.google.com/webstore/detail/gnu-taler-wallet/millncjiddlpgdmkklmhfadpacifaonc" target="_blank" rel="noopener noreferrer">
+ {% trans %}Google Chrome / Chromium 51+{% endtrans %}</a></h2>
<p id="error-chrome" class="error">
- <a href="https://www.google.com/chrome">Google Chrome</a>
- {% trans %}
- or
- {% endtrans %}
- <a href="https://www.chromium.org/">Chromium</a>
- {% trans %}
- is required, but it appears you don&#39;t have it installed.
- {% endtrans %}
+ {% trans %}<a href="https://www.google.com/chrome" target="_blank" rel="noopener noreferrer">Google Chrome</a> or
+ <a href="https://www.chromium.org/" target="_blank" rel="noopener noreferrer">Chromium</a>
+ is required, but it appears you don&#39;t have it installed.{% endtrans %}
</p>
<p id="error-chrome-version" class="error">
- <a href="https://www.google.com/chrome">Google Chrome</a>
- {% trans %}
- or
- {% endtrans %}
- <a href="https://www.chromium.org/">Chromium</a>
- {% trans %}
- version
- {% endtrans %}
- <span id="chrome-min-version"></span>
- {% trans %}
- or newer is required, but it appears you have an older version.
- {% endtrans %}
+ {% trans %}<a href="https://www.google.com/chrome" target="_blank" rel="noopener noreferrer">Google Chrome</a> or
+ <a href="https://www.chromium.org/" target="_blank" rel="noopener noreferrer">Chromium</a>
+ version <span id="chrome-min-version"></span> or newer is required,
+ but it appears you have an older version.{% endtrans %}
</p>
<div id="inline-install-chrome">
<form target="_blank" action="https://chrome.google.com/webstore/detail/gnu-taler-wallet/millncjiddlpgdmkklmhfadpacifaonc">
- <button action="submit">
- {% trans %}
- Install wallet
- {% endtrans %}
+ <button action="submit" class="install-button">
+ {% trans %}Install wallet{% endtrans %}
</button>
</form>
<noscript>
<em style="color:darkred;">
- {% trans %}
- JavaScript is disabled, installation won&#39;t work.
- {% endtrans %}
+ {% trans %}JavaScript is disabled, the installation won&#39;t work.{% endtrans %}
</em>
</noscript>
<div id="install-result"></div>
</div>
- </div> <!-- /col-lg-6 -->
+ </div>
<div class="col-lg-6">
- <h2><a href="https://addons.mozilla.org/en-US/firefox/addon/taler-wallet/">Mozilla Firefox 57+</a></h2>
+ <h2><a href="https://addons.mozilla.org/en-US/firefox/addon/taler-wallet/" target="_blank" rel="noopener noreferrer">
+ {% trans %}Mozilla Firefox 57+{% endtrans %}</a></h2>
<div id="inline-install-chrome">
<form action="https://addons.mozilla.org/firefox/downloads/latest/taler-wallet/">
- <input type="submit" value="Install wallet" />
+ <button action="submit" class="install-button">
+ {% trans %}Install wallet{% endtrans %}
+ </button>
</form>
</div>
@@ -203,67 +176,66 @@ document.addEventListener('DOMContentLoaded', onLoad);
<li><a href="/releases/taler-wallet/taler-wallet-stable.xpi">Install the wallet</a></li>
</ol>
-->
- </div> <!-- /col-lg-6 -->
+ </div>
<div class="col-lg-6">
- <h2>Opera 36+</h2>
+ <h2>{% trans %}Opera 36+{% endtrans %}</h2>
<ol>
<li>
- <a href="https://addons.opera.com/en/extensions/details/download-chrome-extension-9/">
- {% trans %}
- Install Download Chrome Extension
- {% endtrans %}
+ <a href="https://addons.opera.com/en/extensions/details/download-chrome-extension-9/" target="_blank" rel="noopener noreferrer">
+ {% trans %}Install Download Chrome Extension{% endtrans %}
</a>
</li>
<li>
- <a href="https://chrome.google.com/webstore/detail/gnu-taler-wallet/millncjiddlpgdmkklmhfadpacifaonc">
- {% trans %}
- Install GNU Taler
- {% endtrans %}
- </a>
- {% trans %}
- from the Chrome Web Store
- {% endtrans %}
+ {% trans %}<a href="https://chrome.google.com/webstore/detail/gnu-taler-wallet/millncjiddlpgdmkklmhfadpacifaonc" target="_blank" rel="noopener noreferrer">
+ Install the Taler wallet from the Chrome Web Store</a>{% endtrans %}
</li>
</ol>
- </div> <!-- /col-lg-6 -->
-
+ </div>
<div class="col-lg-6">
- <h2>Android 4.4 (API 18) or later</h2>
+ <h2>{% trans %}Android 4.4 (API 18) or later{% endtrans %}</h2>
<ul>
<li>
- <a href="https://play.google.com/store/apps/details?id=net.taler.wallet">
- {% trans %}
- Install Android App from Google App Store, or
- {% endtrans %}
+ <p>{% trans %}You can
+ <a href="https://taler.net/files/wallet/wallet-nightly-debug-1667560285.apk" target="_blank" rel="noopener noreferrer">
+ download the APK for Android</a> directly.{% endtrans %}</p>
+ </li>
+ <li>
+ <a href="https://play.google.com/store/apps/details?id=net.taler.wallet" target="_blank" rel="noopener noreferrer">
+ {% trans %}Install the Android App from Google App Store.{% endtrans %}
</a>
</li>
<li>
- <a href="https://f-droid.org/en/packages/net.taler.wallet.fdroid/">
- {% trans %}
- Download Android App from F-Droid (bypassing Google registration).
- {% endtrans %}
+ <a href="https://f-droid.org/en/packages/net.taler.wallet.fdroid/" target="_blank" rel="noopener noreferrer">
+ {% trans %}Download the Android App from F-Droid (bypassing Google registration).{% endtrans %}
</a>
</li>
</ul>
- </div> <!-- /col-lg-6 -->
+ </div>
- </div> <!-- /row -->
+ </div>
- <div class="row">
+ <div class="row extension">
<div class="col-lg-6">
- <h2>{{ _("Other browsers") }}</h2>
+ <h2>{% trans %}Other browsers{% endtrans %}</h2>
<p>
- {% trans %}
- Wallets for other browsers will be provided in the near future.
- {% endtrans %}
+ {% trans %}Wallets for other browsers will be provided in the near future.{% endtrans %}
</p>
- </div> <!-- /col-lg-6 -->
+ </div>
- </div> <!-- /row -->
- </div> <!-- /container -->
+ <div class="col-lg-6">
+ <h2>iOS</h2>
+ <p>
+ {% trans %}The iOS wallet is in the
+ <a href="https://apps.apple.com/app/taler-wallet/id6463440117">App Store</a>.{% endtrans %}
+ </p>
+ </p>
+ </div>
+
+ </div>
+</div>
{% endblock body_content %}