gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-marketing] branch master updated: draft for taler://


From: gnunet
Subject: [taler-marketing] branch master updated: draft for taler://
Date: Sun, 25 Sep 2022 00:59:14 +0200

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository marketing.

The following commit(s) were added to refs/heads/master by this push:
     new fb6ac66  draft for taler://
fb6ac66 is described below

commit fb6ac66b6e3cd516a13b01d8d7d07cf4f398e5c1
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sun Sep 25 00:59:06 2022 +0200

    draft for taler://
---
 standards/Makefile                 |   3 +-
 standards/draft-grothoff-taler.xml | 574 +++++++++++++++++++++++++++++++++++++
 2 files changed, 576 insertions(+), 1 deletion(-)

diff --git a/standards/Makefile b/standards/Makefile
index 3de8381..9c8e4a5 100644
--- a/standards/Makefile
+++ b/standards/Makefile
@@ -2,7 +2,8 @@ all: txt html
 
 html:
        xml2rfc --html draft-dold-payto.xml
+       xml2rfc --html draft-grothoff-taler.xml
 
 txt:
        xml2rfc draft-dold-payto.xml
-
+       xml2rfc draft-grothoff-taler.xml
diff --git a/standards/draft-grothoff-taler.xml 
b/standards/draft-grothoff-taler.xml
new file mode 100644
index 0000000..7641f82
--- /dev/null
+++ b/standards/draft-grothoff-taler.xml
@@ -0,0 +1,574 @@
+<?xml version="1.0" encoding="US-ASCII"?>
+<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
+<!ENTITY RFC3986 SYSTEM 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.3986.xml";>
+<!ENTITY RFC3629 SYSTEM 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.3629.xml";>
+<!ENTITY RFC2119 SYSTEM 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml";>
+<!ENTITY RFC5234 SYSTEM 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.5234.xml";>
+<!ENTITY RFC8174 SYSTEM 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.8174.xml";>
+<!ENTITY RFC8126 SYSTEM 
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.8126.xml";>
+]>
+<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
+
+<?rfc strict="yes" ?>
+<?rfc toc="yes" ?>
+<?rfc symrefs="yes"?>
+<?rfc sortrefs="yes" ?>
+<?rfc compact="yes" ?>
+<?rfc subcompact="no" ?>
+
+<rfc category="info"
+     docName="draft-grothoff-taler-0"
+     ipr="trust200902">
+
+  <front>
+    <title abbrev="The 'taler' URI scheme">
+      The 'taler' URI scheme for GNU Taler Wallet interactions
+    </title>
+
+    <author fullname="Christian Grothoff" initials="C.G." surname="Grothoff">
+      <organization>BFH</organization>
+      <address>
+        <postal>
+          <street>H&ouml;heweg 80</street>
+          <street></street>
+          <city>Biel/Bienne</city>
+             <code>CH-2501</code>
+          <country>CH</country>
+        </postal>
+        <email>christian.grothoff@bfh.ch</email>
+      </address>
+    </author>
+
+    <author fullname="Florian Dold" initials="F.D." surname="Dold">
+      <organization>Taler Systems SA</organization>
+      <address>
+        <postal>
+          <street>7, rue de Mondorf</street>
+          <city>Erpeldange</city>
+          <code>L-5421</code>
+          <country>LU</country>
+        </postal>
+        <email>dold@taler.net</email>
+      </address>
+    </author>
+
+    <date day="01" month="August" year="2022" />
+
+    <!-- Meta-data Declarations -->
+    <area>General</area>
+    <workgroup>Independent Stream</workgroup>
+    <keyword>payments</keyword>
+
+    <abstract>
+
+      <t>
+        This document defines the 'taler' Uniform Resource Identifier (URI) 
scheme
+        for triggering interactions with a GNU Taler wallet.
+      </t>
+
+      <t>
+        This URI scheme allows applications to trigger interactions with the 
GNU Taler wallet,
+        such as withdrawing money, making payments, receiving refunds and 
restoring a wallet
+        from a backup.  Applications may receive such URIs in many ways 
(including via NFC,
+        QR codes, Web links or messaging applications), or might generate them 
internally to
+        interact with a wallet.  By having a Taler wallet handle the 
respective URIs,
+        applications can integrate Taler payments without having to support 
the Taler protocol
+        directly. Furthermore, by passing control to a Taler wallet process, 
the wallet's
+        database with its finanical data might be better protected from 
application failures.
+      </t>
+
+    </abstract>
+
+  </front>
+
+  <middle>
+
+<section anchor="introduction" title="Introduction">
+<t>
+  This document defines the 'taler' Uniform Resource Identifier (URI) <xref 
target="RFC3986" /> scheme
+  for triggering interactions with GNU Taler wallets.
+</t>
+
+<section title="Objective">
+<t>
+  A 'taler' URI always instructs a GNU Taler wallet to perform a particular 
operation.
+  A 'taler' URI consists of a action and optional parameters.
+</t>
+<t>
+  The interpretation of the optional parameters depends on the action.
+</t>
+</section>
+<section title="Requirements Language">
+<t>
+   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
+   "OPTIONAL" in this document are to be interpreted as described in BCP 14
+   <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when,
+   they appear in all capitals, as shown here.
+</t>
+</section>
+
+</section>
+
+<section anchor="syntax"
+  title="Syntax of a 'taler' URI">
+  <t>
+  This document uses the Augmented Backus-Naur Form (ABNF) of <xref 
target="RFC5234"/>.
+  </t>
+  <figure>
+  <artwork type="abnf"><![CDATA[
+  taler-URI = ("taler://" / "TALER://") action path-abempty [ "?" opts ]
+  action = ALPHA *( ALPHA / DIGIT / "-" / "." )
+  opts = opt *( "&" opt )
+  opt = opt-name "=" opt-value
+  opt-name = ALPHA *( ALPHA / DIGIT / "-" / "." )
+  opt-value = *pchar
+]]>
+  </artwork>
+  </figure>
+  <t>
+    'path-abempty' is defined in <xref target="RFC3986" /> in Section 3.3.
+    'pchar' is defined in <xref target="RFC3986" />, Appendix A.
+  </t>
+</section>
+
+<section anchor="semantics" title="Semantics">
+<t>
+  The action of a Taler URI identifies the operation requested from the Taler
+  wallet.  Actions are not case-sensitive.  The actions are defined in the 
"Taler
+  URI Actions" sub-registry, see <xref target="taler-registry" />.
+
+  The path component of the URI typically provides a network address needed to
+  locate additional information or services relevant to the requested 
operation.
+  Paths are case-sensitive, but may contain case-insensitive portions, such
+  as domain names.
+
+  The query component of the URI provides immediate additional parameters or
+  options for the operation.  The query is case-sensitive.
+
+  The default operation of applications that invoke a URI with the taler scheme
+  MUST be to launch a Taler wallet (if available).  If no taler URI handler is
+  available, an application SHOULD show a QR code with the contents of the URI.
+  If multiple Taler wallets are registered, the user SHOULD be able to choose 
which application to launch.
+  This allows users with multiple wallets (each possibly with its own money)
+  to choose which wallet to perform the operation with.
+
+  An application SHOULD allow dereferencing a taler URI even
+  if the action of that URI is not registered in the "Taler URI Actions" 
sub-registry.
+
+</t>
+</section>
+
+<section anchor="examples" title="Examples">
+<figure>
+  <artwork><![CDATA[
+  
taler://pay/example.com/2022.268-03G33PTAY2C6T/00f68430-363a-46b7-8e33-241a0e49c430?c=KKBWMSTF4AZSP8XS0FFNE9KM5M
+  
taler://pay-push/bank.com/3BBW6N8PVDYBRT0DERT8YYARQGFYHVQFG3WVAN1D58FRP5JG3M4G
+  
TALER://PAY-PULL/BANK.COM/WB361HXN7BZ9ND1B9YP1Y20NB4H5WS0RNM4K8AFZ5Q2VRW577BPG
+]]>
+  </artwork>
+</figure>
+
+</section>
+
+<section anchor="tracking" title="Tracking Taler URI Actions">
+  <t>
+    A registry of Taler URI Actions is described in <xref 
target="taler-registry" />.
+
+    The registration policy for this registry is "Expert Review",
+    as described in <xref target="RFC8126" />.
+When requesting new entries, careful consideration of the following criteria 
is strongly advised:
+<list style="numbers">
+  <t>The description clearly defines the syntax and semantics of the action 
and optional parameters if applicable.</t>
+  <t>Relevant references are provided if they are available.</t>
+  <t>The chosen name is appropriate for the operation, and avoids potential to 
confuse users.</t>
+  <t>A libre software reference implementation is available.</t>
+</list>
+</t>
+<t>
+Documents that support requests for new registry entries should
+ provide the following information for each entry:
+<list style="symbols">
+<t>Name: The name of the Taler URI action (case insensitive ASCII string, 
restricted to alphanumeric characters,
+dots and dashes)</t>
+<t>Description: A description of the action, including
+      the semantics of the path in the URI if applicable.</t>
+<t>Example: At least one example URI to illustrate the action.</t>
+<t>Contact: The contact information of a person to contact for further 
information</t>
+<t>References: Optionally, references describing the action (such as an RFC) 
and target-specific options.</t>
+</list>
+</t>
+<t>
+This document populates the registry with $COUNT entries as follows (see
+also <xref target="taler-registry" />).
+</t>
+
+<section anchor="registry-entry-withdraw" title="Withdraw">
+<t>
+<list style="symbols">
+<t>Name: withdraw</t>
+<t>Description: FIXME
+</t>
+<t>Example: taler://withdraw/example.com/XXX</t>
+<t>Contact: N/A</t>
+<t>References: [this.I-D]</t>
+</list>
+</t>
+</section>
+
+<section anchor="registry-entry-pay" title="Pay">
+<t>
+<list style="symbols">
+<t>Name: pay</t>
+<t>Description:
+</t>
+<t>Example: taler://pay/SOGEDEFFXXX</t>
+<t>Contact: N/A</t>
+<t>References: [this.I-D]</t>
+</list>
+</t>
+</section>
+
+<section anchor="registry-entry-refund" title="Refund">
+<t>
+<list style="symbols">
+<t>Name: refund</t>
+<t>Description:
+</t>
+<t>Example:
+  taler://refund/
+</t>
+<t>Contact: N/A</t>
+<t>References: [this.I-D]</t>
+</list>
+</t>
+</section>
+
+<section anchor="registry-entry-tip" title="tip">
+<t>
+<list style="symbols">
+<t>Name: tip</t>
+<t>Description:
+  </t>
+<t>Example: taler://tip/merchant.com/</t>
+<t>Contact: N/A</t>
+<t>References: [this.I-D]</t>
+</list>
+</t>
+</section>
+
+<section anchor="registry-entry-pay-push" title="pay-push">
+<t>
+<list style="symbols">
+<t>Name: pay-push</t>
+<t>Description:
+</t>
+<t>Example: taler://pay-push/bank.com/</t>
+<t>Contact: N/A</t>
+<t>References: [this.I-D]</t>
+</list>
+</t>
+</section>
+
+<section anchor="registry-entry-pay-pull" title="pay-pull">
+<t>
+<list style="symbols">
+<t>Name: pay-pull</t>
+<t>Description:
+</t>
+<t>Example: taler://pay-pull/bank.com/</t>
+<t>Contact: N/A</t>
+<t>References: [this.I-D]</t>
+</list>
+</t>
+</section>
+
+<section anchor="registry-entry-exchange" title="exchange">
+<t>
+<list style="symbols">
+<t>Name: exchange</t>
+<t>Description:
+</t>
+<t>Example: taler://exchange/bank.com/</t>
+<t>Contact: N/A</t>
+<t>References: [this.I-D]</t>
+</list>
+</t>
+</section>
+
+<section anchor="registry-entry-auditor" title="auditor">
+<t>
+<list style="symbols">
+<t>Name: auditor</t>
+<t>Description:
+</t>
+<t>Example: taler://auditor/bank.com/</t>
+<t>Contact: N/A</t>
+<t>References: [this.I-D]</t>
+</list>
+</t>
+</section>
+
+<section anchor="registry-entry-auditor" title="restore">
+<t>
+<list style="symbols">
+<t>Name: restore</t>
+<t>Description:
+</t>
+<t>Example: taler://restore/backup.com/KEY</t>
+<t>Contact: N/A</t>
+<t>References: [this.I-D]</t>
+</list>
+</t>
+</section>
+
+<section anchor="registry-entry-error" title="error">
+<t>
+<list style="symbols">
+<t>Name: error</t>
+<t>
+  Description:
+</t>
+<t>Example: payto://error/xxx</t>
+<t>Contact: N/A</t>
+<t>References: [this.I-D]</t>
+</list>
+</t>
+</section>
+
+</section><!-- tracking -->
+
+<section anchor="security" title="Security Considerations">
+<t>
+  Interactive applications handling the taler URI scheme MUST NOT initiate any
+  unsafe payment operations prior review and confirmation from the user,
+  and MUST take measures to prevent clickjacking <xref target="HMW12"/>.
+</t>
+<t>
+  The authentication/authorization mechanisms and transport security services
+  used to process a payment encoded in a taler URI
+  are handled by the application and are not in scope of this document.
+</t>
+</section>
+
+<section anchor="iana" title="IANA Considerations">
+
+<t>
+IANA maintains a registry called the "Uniform Resource Identifier
+(URI) Schemes" registry.
+</t>
+
+<section anchor="payto-uri" title="URI Scheme Registration">
+<t>
+  IANA maintains the "Uniform Resource Identifier (URI) Schemes"
+  registry that contains an entry for the 'taler' URI scheme.  IANA is
+  requested to update that entry to reference this document when
+  published as an RFC.
+</t>
+</section>
+</section>
+
+<section anchor="taler-registry" title="Taler URI Actions">
+<t>
+   This document specifies a list of Taler URI Actions.  It is
+   possible that future work will need to specify additional
+   actions.  The GNUnet Assigned Numbers Authority (GANA) <xref target="GANA" 
/>
+   operates the "taler-uri-actions" registry to track
+   the following information for each payment target type:
+<list style="symbols">
+<t>Name:  The name of the action (case insensitive ASCII string, restricted to 
alphanumeric characters,
+dots and dashes)</t>
+<t>Contact: The contact information of a person to contact for further 
information</t>
+<t>References: Optionally, references describing the payment target type (such 
as an RFC) and target-specific options,
+  or references describing the payment system underlying the payment target 
type.</t>
+</list>
+</t>
+<t>
+  The entries that have been made for the "taler-uri-actions"
+  defined in this document are as follows:
+</t>
+<figure>
+  <artwork>
+    Name      | Contact                 | Reference
+    ----------+-------------------------+------------
+    pay       | N/A                     | [This.I-D]
+    withdraw  | N/A                     | [This.I-D]
+    refund    | N/A                     | [This.I-D]
+    tip       | N/A                     | [This.I-D]
+    pay-pull  | N/A                     | [This.I-D]
+    pay-push  | N/A                     | [This.I-D]
+    exchange  | N/A                     | [This.I-D]
+    auditor   | N/A                     | [This.I-D]
+    restore   | N/A                     | [This.I-D]
+    error     | N/A                     | [This.I-D]
+  </artwork>
+</figure>
+
+</section><!-- taler-registry -->
+
+</middle>
+
+<back>
+
+  <references title="Normative References">
+
+    &RFC2119;
+
+    &RFC3986;
+
+    &RFC5234;
+
+    &RFC8126;
+
+    &RFC8174;
+
+
+    <reference anchor="ISO4217">
+      <front>
+        <title>ISO 4217 Currency Codes</title>
+        <author>
+          <organization>International Organization for 
Standardization</organization>
+          <address>
+            <uri>http://www.iso.ch</uri>
+          </address>
+        </author>
+        <date month="August" year="2018"/>
+      </front>
+    </reference>
+
+    <reference anchor="ISO20022">
+      <front>
+        <title>ISO 20022 Financial Services - Universal financial industry 
message scheme</title>
+        <author>
+          <organization>International Organization for 
Standardization</organization>
+          <address>
+            <uri>http://www.iso.ch</uri>
+          </address>
+        </author>
+        <date month="May" year="2013"/>
+      </front>
+    </reference>
+
+    <reference anchor="NACHA">
+      <front>
+        <title>NACHA Operating Rules &amp; Guidelines</title>
+        <author>
+          <organization>NACHA</organization>
+          <address>
+            <uri>https://www.nacha.org/</uri>
+          </address>
+        </author>
+        <date month="January" year="2017"/>
+      </front>
+    </reference>
+
+  <reference anchor="unicode-tr36">
+    <front>
+      <title abbrev="Unicode Security Considerations">Unicode Technical Report 
#36: Unicode Security Considerations</title>
+      <author initials="M." surname="Davis" fullname="Mark Davis" 
role="editor">
+        <address>
+          <email>markdavis@google.com</email>
+        </address>
+      </author>
+      <author initials="M." surname="Suignard" fullname="Michael Suignard">
+        <address>
+          <email>michel@suignard.com</email>
+        </address>
+      </author>
+      <date month="September" year="2014"/>
+    </front>
+  </reference>
+
+
+  </references>
+
+  <references title="Informational References">
+
+   <reference anchor="BIP0021" target="https://en.bitcoin.it/wiki/BIP_0021";>
+     <front>
+         <title>Bitcoin Improvement Proposal 21</title>
+         <author initials="N." surname="Schneider"
+                 fullname="Nils Schneider">
+         </author>
+         <author initials="M." surname="Corallo"
+                 fullname="Matt Corallo">
+         </author>
+
+         <date month="January" year="2012" />
+     </front>
+   </reference>
+
+   <reference anchor="HMW12" 
target="https://www.usenix.org/system/files/conference/usenixsecurity12/sec12-final39.pdf";>
+     <front>
+         <title>Clickjacking: Attacks and Defenses</title>
+         <author initials="L.S." surname="Huang"
+                 fullname="Lin-Shung Huang">
+         </author>
+         <author initials="A." surname="Moshchuk"
+                 fullname="Alexander, Moshchuk">
+         </author>
+         <author initials="H.J." surname="Wang"
+                 fullname="Helen J. Wang">
+         </author>
+         <author initials="S." surname="Schecter"
+                 fullname="Stuart Schecter">
+         </author>
+         <author initials="C." surname="Jackson"
+                 fullname="Collin Jackson">
+         </author>
+
+         <date month="January" year="2012" />
+     </front>
+  </reference>
+
+  <reference anchor="UPILinking" 
target="https://www.npci.org.in/sites/default/files/UPI%20Linking%20Specs_ver%201.6.pdf";>
+    <front>
+      <title>Unified Payment Interface - Common URL Specifications For Deep
+      Linking And Proximity Integration</title>
+      <author><organization>National Payment Corporation of 
India</organization>
+      </author>
+      <date month="November" year="2017" />
+    </front>
+  </reference>
+
+ <reference anchor="ILP-ADDR" 
target="https://interledger.org/rfcs/0015-ilp-addresses/";>
+   <front>
+       <title>ILP Addresses - v2.0.0</title>
+      <author><organization>Interledger Team</organization>
+      </author>
+       <date month="September" year="2018" />
+   </front>
+ </reference>
+
+ <reference anchor="BIC" target="https://www.iso.org/standard/60390.html";>
+   <front>
+       <title>ISO 9362:2014 Business Identifier Code (BIC)</title>
+      <author><organization>International Organization for 
Standardization</organization>
+      </author>
+       <date month="March" year="2019" />
+   </front>
+ </reference>
+
+ <reference anchor="GANA" target="https://gana.gnunet.org/";>
+   <front>
+       <title>GNUnet Assigned Numbers Authority (GANA)</title>
+      <author><organization>GNUnet e.V.</organization>
+      </author>
+       <date month="April" year="2020" />
+   </front>
+ </reference>
+
+  </references>
+
+<!-- Change Log
+v11 2020-03-23  CG   Workaround IESG/IAB/IANA/ISE discussion on who gets to 
create IANA registries as suggested by Adrian Farrel
+v10 2019-11-14  CG   Address comments from Adrian Farrel
+v09 2019-11-04  CG   Reference ISO 4217 for currency codes, clean up ENBF 
syntax and language (based on feedback from Matthias Heckmann)
+v08 2019-09-27  CG   Clarify use of sub-registry as per draft-ise-iana-policy
+v05 2019-05-20  CG   Addressing coments, preparing for independent stream 
submission, adding BIC
+v01 2017-02-15  CG   References and formatting
+v01 2017-02-13  CG   Minimal clarifications
+v00 2017-01-17  FD   Initial version
+  -->
+</back>
+</rfc>

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]