<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.30 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-andesco-otpauth-uri-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="otpauth-uri">The otpauth URI Scheme</title>
    <seriesInfo name="Internet-Draft" value="draft-andesco-otpauth-uri-00"/>
    <author fullname="Andrew Escobar">
      <organization>independent</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>ietf@andrewe.dev</email>
      </address>
    </author>
    <date year="2026" month="February" day="19"/>
    <keyword>otpauth</keyword>
    <keyword>hotp</keyword>
    <keyword>totp</keyword>
    <abstract>
      <?line 55?>

<t>This document defines syntax and processing rules for the <tt>otpauth:</tt> URI scheme used to provision one-time-password (OTP) credentials (verification codes).</t>
      <t>This document defines a common baseline for interoperability, including issuer handling rules that improve account matching while maintaining compatibility with existing deployments.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/andesco/otpauth-uri"/>.</t>
    </note>
  </front>
  <middle>
    <?line 61?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The <tt>otpauth:</tt> URI scheme is used to transfer OTP configuration, including a shared secret and related parameters, into OTP clients. The scheme is currently registered with IANA as a provisional URI scheme <xref target="URI-SCHEMES"/>.</t>
      <t>Current ecosystem behavior is primarily described by vendor documentation, including Google's <tt>otpauth</tt> key URI format <xref target="GOOGLE-KEYURI"/> and Apple's verification code guidance <xref target="APPLE-VERIFICATION-CODES"/>. Those documents are largely aligned, but differ on semantics for issuer information.</t>
      <t>This document defines interoperable behavior for URI producers and consumers, with emphasis on reliable account association in modern password managers.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <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.
<?line -6?>
      </t>
      <t>This specification uses the Augmented Backus-Naur Form (ABNF) notation defined in <xref target="RFC5234"/>.</t>
      <t>This specification uses the OTP concepts from <xref target="RFC4226"/> and <xref target="RFC6238"/>. In this document, <tt>secret</tt>, <tt>issuer</tt>, and <tt>account</tt> identify credential attributes associated with HOTP and TOTP methods.</t>
      <t>The term URI is imported from <xref target="RFC3986"/>. Mentions of "query string" in this document refer to the URI query component defined in Section 3.4 of <xref target="RFC3986"/>.</t>
      <t>The Base16, Base32, and Base64 data encodings referenced in this document are from <xref target="RFC4648"/>.</t>
      <t>The terms "producer" and "consumer" are used throughout:</t>
      <ul spacing="normal">
        <li>
          <t>A producer creates an <tt>otpauth:</tt> URI.</t>
        </li>
        <li>
          <t>A consumer parses and imports an <tt>otpauth:</tt> URI.</t>
        </li>
      </ul>
    </section>
    <section anchor="uri-format">
      <name>URI Format</name>
      <t>An <tt>otpauth:</tt> URI uses this general form:</t>
      <artwork><![CDATA[
otpauth://<type>/<label>?<parameters>
]]></artwork>
      <t>where <tt>&lt;type&gt;</tt> identifies the OTP algorithm family and <tt>&lt;parameters&gt;</tt> contains URL query parameters.</t>
      <section anchor="syntax">
        <name>Syntax</name>
        <t>The syntax is defined using ABNF from <xref target="RFC5234"/> and URI productions from <xref target="RFC3986"/>.</t>
        <sourcecode type="abnf"><![CDATA[
uri = "otpauth://" otp-type "/" label "?" parameter
      *( "&" parameter )

otp-type = "totp" / "hotp"

label = issuer-label ( ":" / "%3A" ) *"%20" account
        / issuer-label
        / account

issuer-label = 1*( unreserved / pct-encoded / sub-delims / "@" )
account      = 1*( unreserved / pct-encoded / sub-delims / "@" )

parameter = secret / algorithm / digits / counter
            / period / issuer / extension

secret    = "secret=" 1*( %x41-5A / %x32-37 ) ; Base32 A-Z2-7
algorithm = "algorithm=" ( "SHA1" / "SHA256" / "SHA512" )
digits    = "digits=" ( "6" / "8" )
counter   = "counter=" 1*DIGIT
period    = "period=" 1*DIGIT
issuer    = "issuer=" *pchar ; domain name recommended
extension = 1*( ALPHA / DIGIT / "-" / "_" ) "=" *pchar
]]></sourcecode>
        <t>Per <xref target="RFC5234"/>, quoted ABNF literals are case-insensitive. Therefore, <tt>otpauth</tt>, <tt>totp</tt>, and <tt>hotp</tt> are matched case-insensitively by this grammar. Producers SHOULD emit lowercase forms for consistency. The same case-insensitive matching applies to quoted parameter names and quoted enumerated values in this ABNF.</t>
        <t>This ABNF names commonly used parameters explicitly and allows extension parameters. Parameter requirements are defined in the following section. Parameter values MUST percent-encode literal <tt>&amp;</tt> characters as <tt>%26</tt>.</t>
        <t>A consumer MUST parse <tt>label</tt> before decoding as follows:</t>
        <ul spacing="normal">
          <li>
            <t>If <tt>label</tt> contains a separator, split the raw string at the first separator, where separator is either literal <tt>:</tt> or percent-encoded <tt>%3A</tt> (case-insensitive).</t>
          </li>
          <li>
            <t>If <tt>label</tt> does not contain a separator, treat the entire <tt>label</tt> as <tt>account</tt>.</t>
          </li>
          <li>
            <t>Percent-decode each parsed component using standard URI decoding rules from <xref target="RFC3986"/>.</t>
          </li>
          <li>
            <t>If decoded <tt>issuer-label</tt> or decoded <tt>account</tt> contains a colon, the consumer MUST reject the URI.</t>
          </li>
        </ul>
      </section>
      <section anchor="otp-type">
        <name>otp-type</name>
        <t><tt>otp-type</tt> identifies the OTP method and MUST be either <tt>totp</tt> or <tt>hotp</tt>.</t>
      </section>
      <section anchor="label">
        <name>label</name>
        <t><tt>label</tt> identifies the account being provisioned:</t>
        <sourcecode type="text"><![CDATA[
<issuer-label>: <account>
]]></sourcecode>
        <t>In this structure:</t>
        <ul spacing="normal">
          <li>
            <t><tt>issuer-label</tt> is optional</t>
          </li>
          <li>
            <t>the separator is either a literal colon (<tt>:</tt>) or <tt>%3A</tt></t>
          </li>
          <li>
            <t>optional spaces before <tt>account</tt> are encoded as <tt>%20</tt></t>
          </li>
          <li>
            <t><tt>issuer-label</tt> and <tt>account</tt> MUST NOT themselves contain a colon</t>
          </li>
        </ul>
        <t>Producers SHOULD percent-encode <tt>label</tt> components using URI encoding rules from <xref target="RFC3986"/>. Valid examples include <tt>alice@example.com</tt>, <tt>Example:alice@example.com</tt>, and <tt>Example%20Issuer%3A%20alice@example.com</tt>.</t>
      </section>
      <section anchor="parameters">
        <name>Parameters</name>
        <t>Parameter order is not significant.</t>
        <t>A producer MUST include exactly one <tt>secret</tt> parameter.</t>
        <t>A consumer MUST reject the URI if <tt>secret</tt> is missing.</t>
        <t>A producer MAY include <tt>algorithm</tt>, <tt>digits</tt>, <tt>counter</tt>, <tt>period</tt>, and <tt>issuer</tt>; each known parameter MUST appear at most once.</t>
        <t>A consumer MUST reject the URI if any known parameter appears more than once.</t>
        <section anchor="secret">
          <name>secret</name>
          <t>The <tt>secret</tt> parameter carries the shared OTP secret and is mandatory. The value MUST use unpadded Base32 with alphabet <tt>A-Z2-7</tt>, as specified by <xref target="RFC4648"/>. Producers SHOULD emit uppercase Base32 text. Consumers MAY accept lowercase Base32 text for interoperability.</t>
        </section>
        <section anchor="issuer">
          <name>issuer</name>
          <t>The <tt>issuer</tt> parameter identifies the relying party that issued the OTP credential.</t>
          <t>A producer SHOULD include <tt>issuer</tt>.</t>
          <t>A producer SHOULD set <tt>issuer</tt> to a stable service identifier that is useful for account matching and credential suggestion. A domain name controlled by the relying party (for example, <tt>example.com</tt>) is RECOMMENDED where available, but non-domain identifiers are allowed.</t>
          <t>A consumer SHOULD use <tt>issuer</tt> as the primary identifier for account matching and credential suggestion.</t>
        </section>
        <section anchor="algorithm">
          <name>algorithm</name>
          <t><tt>algorithm</tt> is OPTIONAL. If absent, the default is <tt>SHA1</tt>.</t>
          <t>Valid <tt>algorithm</tt> values are <tt>SHA1</tt>, <tt>SHA256</tt>, and <tt>SHA512</tt>. Producers SHOULD use one of these values.</t>
          <ul spacing="normal">
            <li>
              <t>Consumers MUST support <tt>SHA1</tt>.</t>
            </li>
            <li>
              <t>Consumers SHOULD support <tt>SHA256</tt> and <tt>SHA512</tt>.</t>
            </li>
          </ul>
          <t>For <tt>hotp</tt> URIs, <xref target="RFC4226"/> defines HOTP with HMAC-SHA-1, so <tt>SHA1</tt> is RECOMMENDED for maximum compatibility.</t>
          <t>If a consumer receives an unsupported <tt>algorithm</tt> value, it SHOULD reject the URI.</t>
        </section>
        <section anchor="digits">
          <name>digits</name>
          <t><tt>digits</tt> is OPTIONAL. If absent, the default is <tt>6</tt>. Valid <tt>digits</tt> values are <tt>6</tt> and <tt>8</tt>.</t>
          <ul spacing="normal">
            <li>
              <t>Producers SHOULD use <tt>6</tt> or <tt>8</tt>.</t>
            </li>
            <li>
              <t>Consumers MUST support <tt>6</tt>.</t>
            </li>
            <li>
              <t>Consumers SHOULD support <tt>8</tt>.</t>
            </li>
          </ul>
          <t>If a consumer receives an unsupported <tt>digits</tt> value, it SHOULD reject the URI.</t>
        </section>
        <section anchor="period">
          <name>period</name>
          <t><tt>period</tt> is OPTIONAL for <tt>totp</tt>. If absent, the default is <tt>30</tt>. It MUST be ignored for <tt>hotp</tt>.</t>
        </section>
        <section anchor="counter">
          <name>counter</name>
          <t><tt>counter</tt> is REQUIRED for <tt>hotp</tt> and MUST be ignored for <tt>totp</tt>.</t>
          <t>These parameters map to HOTP and TOTP behavior defined in <xref target="RFC4226"/> and <xref target="RFC6238"/>, while allowing extension values where explicitly noted.</t>
        </section>
        <section anchor="additional-parameters">
          <name>Additional Parameters</name>
          <t>Producers MAY include additional parameters that are not defined by this document.</t>
          <t>Consumers SHOULD ignore unrecognized parameters unless local policy requires rejecting them.</t>
        </section>
      </section>
    </section>
    <section anchor="issuer-label-prefix-and-issuer-parameter">
      <name>Issuer Label Prefix and Issuer Parameter</name>
      <t>In this document:</t>
      <ul spacing="normal">
        <li>
          <t>The issuer label prefix (<tt>issuer-label</tt>) is presentation-oriented text for display.</t>
        </li>
        <li>
          <t>The issuer parameter (<tt>issuer</tt>) is the canonical identifier for account matching.</t>
        </li>
      </ul>
      <t>A producer MAY include an issuer label prefix for backward compatibility.</t>
      <t>A producer that includes both values SHOULD use a human-readable service name for the issuer label prefix and a stable matching identifier for the issuer parameter.</t>
      <t>If both issuer label prefix and issuer parameter are present:</t>
      <ul spacing="normal">
        <li>
          <t>A consumer MUST NOT reject the URI only because the two values differ.</t>
        </li>
        <li>
          <t>A consumer SHOULD treat the issuer parameter as authoritative for account matching.</t>
        </li>
        <li>
          <t>A consumer MAY use issuer label prefix for display.</t>
        </li>
      </ul>
      <t>A consumer MUST continue to accept URIs where issuer label prefix and issuer parameter are equal, as this remains common in deployed systems <xref target="GOOGLE-KEYURI"/>.</t>
    </section>
    <section anchor="examples">
      <name>Examples</name>
      <t>The following are valid <tt>otpauth:</tt> URIs (where <tt>PB4XU</tt> is the unpadded Base32 encoding of <tt>xyz</tt>):</t>
      <artwork><![CDATA[
otpauth://totp/Example?secret=PB4XU&issuer=example.com
]]></artwork>
      <artwork><![CDATA[
otpauth://totp/Example%3Aalice?secret=PB4XU&issuer=example.com
]]></artwork>
      <artwork><![CDATA[
otpauth://hotp/Example?secret=PB4XU&counter=42&issuer=example.com
]]></artwork>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This URI format does not in itself pose a security threat. However, the <tt>secret</tt> parameter carries a bearer credential. Disclosure of <tt>secret</tt> enables OTP generation and can lead to account compromise.</t>
      <t>Producers and consumers:</t>
      <ul spacing="normal">
        <li>
          <t>SHOULD treat <tt>otpauth:</tt> URIs as sensitive secrets.</t>
        </li>
        <li>
          <t>SHOULD avoid writing full URIs to logs, analytics, and crash reports.</t>
        </li>
        <li>
          <t>SHOULD transport provisioning data only over authenticated and encrypted channels.</t>
        </li>
      </ul>
      <t>Consumers SHOULD display issuer and account information clearly before import so users can detect phishing or provisioning mistakes.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t><tt>otpauth:</tt> URIs may reveal account identifiers and service associations through label and issuer fields.</t>
      <t>Applications handling these URIs SHOULD minimize retention and SHOULD avoid sharing raw URI values across process boundaries unless necessary for explicit user action.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>The <tt>otpauth:</tt> URI scheme is registered as provisional in the IANA URI Schemes registry <xref target="URI-SCHEMES"/>.</t>
      <t>Upon publication of this document as an RFC, IANA is requested to update the reference for the existing <tt>otpauth</tt> provisional registration to point to this RFC.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="RFC4226">
          <front>
            <title>HOTP: An HMAC-Based One-Time Password Algorithm</title>
            <author fullname="D. M'Raihi" initials="D." surname="M'Raihi"/>
            <author fullname="M. Bellare" initials="M." surname="Bellare"/>
            <author fullname="F. Hoornaert" initials="F." surname="Hoornaert"/>
            <author fullname="D. Naccache" initials="D." surname="Naccache"/>
            <author fullname="O. Ranen" initials="O." surname="Ranen"/>
            <date month="December" year="2005"/>
            <abstract>
              <t>This document describes an algorithm to generate one-time password values, based on Hashed Message Authentication Code (HMAC). A security analysis of the algorithm is presented, and important parameters related to the secure deployment of the algorithm are discussed. The proposed algorithm can be used across a wide range of network applications ranging from remote Virtual Private Network (VPN) access, Wi-Fi network logon to transaction-oriented Web applications.</t>
              <t>This work is a joint effort by the OATH (Open AuTHentication) membership to specify an algorithm that can be freely distributed to the technical community. The authors believe that a common and shared algorithm will facilitate adoption of two-factor authentication on the Internet by enabling interoperability across commercial and open-source implementations. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4226"/>
          <seriesInfo name="DOI" value="10.17487/RFC4226"/>
        </reference>
        <reference anchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC5234">
          <front>
            <title>Augmented BNF for Syntax Specifications: ABNF</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
            <author fullname="P. Overell" initials="P." surname="Overell"/>
            <date month="January" year="2008"/>
            <abstract>
              <t>Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="68"/>
          <seriesInfo name="RFC" value="5234"/>
          <seriesInfo name="DOI" value="10.17487/RFC5234"/>
        </reference>
        <reference anchor="RFC6238">
          <front>
            <title>TOTP: Time-Based One-Time Password Algorithm</title>
            <author fullname="D. M'Raihi" initials="D." surname="M'Raihi"/>
            <author fullname="S. Machani" initials="S." surname="Machani"/>
            <author fullname="M. Pei" initials="M." surname="Pei"/>
            <author fullname="J. Rydell" initials="J." surname="Rydell"/>
            <date month="May" year="2011"/>
            <abstract>
              <t>This document describes an extension of the One-Time Password (OTP) algorithm, namely the HMAC-based One-Time Password (HOTP) algorithm, as defined in RFC 4226, to support the time-based moving factor. The HOTP algorithm specifies an event-based OTP algorithm, where the moving factor is an event counter. The present work bases the moving factor on a time value. A time-based variant of the OTP algorithm provides short-lived OTP values, which are desirable for enhanced security.</t>
              <t>The proposed algorithm can be used across a wide range of network applications, from remote Virtual Private Network (VPN) access and Wi-Fi network logon to transaction-oriented Web applications. The authors believe that a common and shared algorithm will facilitate adoption of two-factor authentication on the Internet by enabling interoperability across commercial and open-source implementations. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6238"/>
          <seriesInfo name="DOI" value="10.17487/RFC6238"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="URI-SCHEMES" target="https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml">
          <front>
            <title>Uniform Resource Identifier (URI) Schemes</title>
            <author>
              <organization>Internet Assigned Numbers Authority</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="GOOGLE-KEYURI" target="https://github.com/google/google-authenticator/wiki/Key-Uri-Format">
          <front>
            <title>Key Uri Format</title>
            <author>
              <organization>Google</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="APPLE-VERIFICATION-CODES" target="https://developer.apple.com/documentation/authenticationservices/securing-logins-with-icloud-keychain-verification-codes">
          <front>
            <title>Securing Logins with iCloud Keychain Verification Codes</title>
            <author>
              <organization>Apple</organization>
            </author>
            <date/>
          </front>
        </reference>
      </references>
    </references>
    <?line 287?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The author thanks the maintainers and implementers of OTP ecosystems, including the teams at Apple and Google whose documentation helped shape existing interoperable behavior.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
NdncsOfMOyrYfj2mH/0//SWoVTIrAAA=

-->

</rfc>
