RFC 9361

ICANN Trademark Clearinghouse (TMCH) Functional Specifications

๐Ÿ“… published March 2023, from ietf

ICANN Trademark Clearinghouse (TMCH) Functional Specifications ๐Ÿ’–

  • RFC 9361 ๐Ÿฆ‹, a Request for Comments
  • Stream: Independent Submission โœจ
  • Author: G. Lozano, ICANN ๐Ÿ‘‘
  • Category: Informational ๐ŸŒธ
  • Date: March 2023 ๐ŸŽ€
  • ISSN: 2070-1721 ๐Ÿ’œ
  • Obsoletes / Updates: the title block doesn't list anything this one obsoletes or updates ๐Ÿซถ

Abstract

okay so this doc lays out the requirements, the architecture, and the interfaces between the ICANN Trademark Clearinghouse (TMCH) and Domain Name Registries, and also between the TMCH and Domain Name Registrars. The whole point is to get domain names provisioned and managed during the Sunrise and Trademark Claims Periods ๐Ÿ”ฅ

Status of This Memo

This document is not an Internet Standards Track specification. It's published for informational purposes ๐ŸŒˆ

This is a contribution to the RFC Series, independent of any other RFC stream. The RFC Editor chose to publish it at their discretion, and they make no statement about its value for implementation or deployment. Documents approved for publication by the RFC Editor are not candidates for any level of Internet Standard, see Section 2 of RFC 7841 ๐Ÿ’…

Information about the current status of this document, any errata, and how to give feedback on it can be found at https://www.rfc-editor.org/info/rfc9361 ๐Ÿงš

Copyright (c) 2023 IETF Trust and the persons identified as the document authors. All rights reserved โœจ

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) as in effect on the date this document was published. Please read these carefully, because they spell out your rights and restrictions with respect to this document ๐Ÿ“œ

Table of Contents ๐Ÿ“

   1.  Introduction
   2.  Terminology
   3.  Glossary
   4.  Architecture
     4.1.  Sunrise Period
     4.2.  Trademark Claims Period
     4.3.  Interfaces
       4.3.1.  hv
       4.3.2.  vd
       4.3.3.  dy
       4.3.4.  tr
       4.3.5.  ry
       4.3.6.  dr
       4.3.7.  yd
       4.3.8.  dv
       4.3.9.  vh
       4.3.10. vs
       4.3.11. sy
       4.3.12. sr
       4.3.13. vc
       4.3.14. cy
       4.3.15. cr
   5.  Process Descriptions
     5.1.  Bootstrapping
       5.1.1.  Bootstrapping for Registries
         5.1.1.1.  Credentials
         5.1.1.2.  IP Addresses for Access Control
         5.1.1.3.  ICANN TMCH Trust Anchor
         5.1.1.4.  TMDB PGP Key
       5.1.2.  Bootstrapping for Registrars
         5.1.2.1.  Credentials
         5.1.2.2.  IP Addresses for Access Control
         5.1.2.3.  ICANN TMCH Trust Anchor
         5.1.2.4.  TMDB PGP Key
     5.2.  Sunrise Period
       5.2.1.  Domain Name Registration
       5.2.2.  Sunrise Domain Name Registration by Registries
       5.2.3.  TMDB Sunrise Services for Registries
         5.2.3.1.  SMD Revocation List
         5.2.3.2.  TMV Certificate Revocation List (CRL)
         5.2.3.3.  Notice of Registered Domain Names (NORDN)
       5.2.4.  Sunrise Domain Name Registration by Registrars
       5.2.5.  TMDB Sunrise Services for Registrars
     5.3.  Trademark Claims Period
       5.3.1.  Domain Registration
       5.3.2.  Trademark Claims Domain Name Registration by Registries
       5.3.3.  TMDB Trademark Claims Services for Registries
         5.3.3.1.  Domain Name Label (DNL) List
         5.3.3.2.  Notice of Registered Domain Names (NORDN)
       5.3.4.  Trademark Claims Domain Name Registration by Registrars
       5.3.5.  TMDB Trademark Claims Services for Registrars
         5.3.5.1.  Claims Notice Information Service (CNIS)
     5.4.  Qualified Launch Program (QLP) Period
       5.4.1.  Domain Registration
       5.4.2.  TMDB QLP Services for Registries
         5.4.2.1.  Sunrise List (SURL)
   6.  Data Format Descriptions
     6.1.  Domain Name Label (DNL) List
     6.2.  SMD Revocation List
     6.3.  List of Registered Domain Names (LORDN) File
       6.3.1.  LORDN Log File
         6.3.1.1.  LORDN Log Result Codes
     6.4.  Signed Mark Data (SMD) File
     6.5.  Trademark Claims Notice (TCN)
     6.6.  Sunrise List (SURL)
   7.  Formal Syntax
     7.1.  Trademark Claims Notice (TCN)
   8.  IANA Considerations
   9.  Security Considerations
   10. Privacy Considerations
   11. References
     11.1.  Normative References
     11.2.  Informative References
   Acknowledgements
   Author's Address

1. Introduction โœจ

Domain Name Registries can run in special modes for certain periods, which lets Trademark Holders protect their rights while a Top-Level Domain (TLD) is being introduced ๐Ÿฆ‹

Along with the introduction of new generic TLDs (gTLDs), two special modes came into effect:

  • Sunrise Period: the Sunrise Period gives Trademark Holders an early chance to register domain names that match their marks, before names are open to the general public ๐ŸŒ…
  • Trademark Claims Period: the Trademark Claims Period comes right after the Sunrise Period and lasts for at least the first 90 days of an initial operating period of general registration. During it, anyone trying to register a domain name that matches a mark recorded in the ICANN Trademark Clearinghouse (TMCH) gets a notification showing the relevant mark information ๐Ÿ””

This document describes the requirements, the architecture, and the interfaces between the ICANN TMCH and Domain Name Registries (called "Registries" in the rest of the document), as well as between the ICANN TMCH and Domain Name Registrars (called "Registrars" in the rest of the document). It covers provisioning and managing domain names during the Sunrise and Trademark Claims Periods ๐Ÿ’œ

For any date and/or time indications, Coordinated Universal Time (UTC) applies โฐ

2. Terminology ๐ŸŽ€

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 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. Bestie, these capitals are doing a lot of work, so keep an eye on them ๐Ÿ‘€

XML is case sensitive. Unless stated otherwise, XML specifications and examples in this document MUST be interpreted in the character case presented, so you can build a conforming implementation ๐Ÿงš

"tmNotice-1.0" is short for "urn:ietf:params:xml:ns:tmNotice-1.0". The XML namespace prefix "tmNotice" is used, but implementations MUST NOT depend on it. Instead they should use a proper namespace-aware XML parser and serializer to interpret and output the XML documents ๐Ÿซถ

Extensible Markup Language (XML) 1.0, as described in [W3C.REC-xml-20081126], and XML Schema notation, as described in [W3C.REC-xmlschema-1-20041028] and [W3C.REC-xmlschema-2-20041028], are used in this specification ๐ŸŒˆ

3. Glossary โœจ

okay so this is the glossary bit, and it's lowkey my favourite because it's where all the acronyms get explained ๐Ÿงš here's the tea:

  • Backend Registry Operator: an entity that manages (a part of) the technical infrastructure for a Registry Operator. The Registry Operator may also be the Backend Registry Operator. ๐Ÿ’…
  • CA: Certification Authority. See [RFC5280]. ๐Ÿ”
  • CNIS: Claims Notice Information Service. This service provides Trademark Claims Notices (TCNs) to Registrars. ๐Ÿ“ฌ
  • CRC32: Cyclic Redundancy Check. This algorithm is used in the ISO 3309 standard and in Section 8.1.1.6.2 of ITU-T recommendation V.42. ๐Ÿงฎ
  • CRL: Certificate Revocation List. See [RFC5280]. ๐Ÿ“œ
  • CSV: Comma-Separated Values. See [RFC4180]. ๐Ÿ“Š
  • datetime: Date and time. The date and time are specified following the standard specification "Date and Time on the Internet: Timestamps". See [RFC3339]. ๐Ÿ•ฐ๏ธ
  • DN: Domain Name. See [RFC8499]. ๐ŸŒ
  • DNL: Domain Name Label. The DNL is an A-label or a Non-Reserved LDH (NR-LDH) label. See [RFC5890]. ๐Ÿท๏ธ
  • DNL List: a list of DNLs that are covered by a PRM. ๐Ÿ“‹
  • DNROID: DN Repository Object IDentifier. This identifier is assigned by the Registry to each DN object that unequivocally identifies said DN object. For example, if a new DN object is created for a name that existed in the past, the DN objects will have different DNROIDs. ๐Ÿ†”
  • DNS: Domain Name System. See [RFC8499]. ๐Ÿ—บ๏ธ
  • Effective Allocation: a DN is considered effectively allocated when the DN object for the DN has been created in the SRS of the Registry and has been assigned to the effective user. A DN object in status pendingCreate or any other status that precedes the first time a DN is assigned to an end user is not considered an effective allocation. A DN object created internally by the Registry for subsequent delegation to another Registrant is not considered an effective allocation. ๐ŸŽฏ
  • EPP: Extensible Provisioning Protocol. See [RFC8499]. ๐Ÿ› ๏ธ
  • FQDN: Fully Qualified Domain Name. See [RFC8499]. ๐Ÿงพ
  • HTTP: Hypertext Transfer Protocol. See [RFC9110]. ๐ŸŒธ
  • HTTPS: HTTP over TLS (Transport Layer Security). See [RFC9110]. ๐Ÿ”’
  • ICANN TMCH: a central repository for information to be authenticated, stored, and disseminated, pertaining to the rights of TMHs. The ICANN TMCH is split into two functions: TMV and TMDB (see below). There could be several entities performing the TMV function but only one entity performing the TMDB function. ๐Ÿ›๏ธ
  • ICANN TMCH-CA: the Certification Authority (CA) for the ICANN TMCH. This CA is operated by ICANN. The public key for this CA is the trust anchor used to validate the identity of each TMV. ๐Ÿ”‘
  • IDN: Internationalized Domain Name. See [RFC8499]. ๐ŸŒ
  • Lookup Key: a random string of up to 51 characters from the set [a-zA-Z0-9/] to be used as the lookup key by Registrars to obtain the TCN using the CNIS. Lookup keys are unique and are related to one DNL only. ๐Ÿ—๏ธ
  • LORDN: List of Registered Domain Names. This is the list of effectively allocated DNs matching a DNL of a PRM. Registries will upload this list to the TMDB (during the NORDN process). ๐Ÿ“ƒ
  • Matching Rules: some trademarks entitled to inclusion in the TMDB include characters that are impermissible in the DNS as a DNL. The TMV changes (using the ICANN TMCH Matching Rules [MatchingRules]) certain DNS-impermissible characters in a trademark into DNS-permissible equivalent characters. โœ๏ธ
  • NORDN: Notification of Registered Domain Names. This is the process by which Registries upload their recent LORDN to the TMDB. ๐Ÿ“ค
  • PGP: Pretty Good Privacy. See [RFC4880]. ๐Ÿ”
  • PKI: Public Key Infrastructure. See [RFC5280]. ๐Ÿฐ
  • PRM: Pre-Registered Mark. A mark that has been pre-registered with the ICANN TMCH. โญ
  • QLP Period: Qualified Launch Program Period. During this optional period, a special process applies to DNs matching the Sunrise List (SURL) and/or the DNL List to ensure that TMHs are informed of a DN matching their PRM. ๐Ÿš€
  • Registrant: See the definition of Registrant in [RFC8499]. ๐Ÿ™‹
  • Registrar: Domain Name Registrar. See [RFC8499]. ๐Ÿ›’
  • Registry: Domain Name Registry, Registry Operator. See [RFC8499]. A Registry Operator is the contracting party with ICANN for the TLD. ๐Ÿข
  • SMD: Signed Mark Data. A cryptographically signed token issued by the TMV to the TMH to be used in the Sunrise Period to apply for a DN that matches a DNL of a PRM. See [RFC7848]. An SMD generated by an ICANN-approved Trademark Validator (TMV) contains both the signed token and the TMV's PKIX certificate. โœ๏ธ
  • SMD File: a file containing the SMD (see above) and some human-readable data. The latter is usually ignored in the processing of the SMD File. See Section 6.4. ๐Ÿ“
  • SMD Revocation List: the SMD Revocation List is used by Registries (and optionally by Registrars) during the Sunrise Period to ensure that an SMD is still valid (i.e., not revoked). The SMD Revocation List has a similar function as CRLs used in PKI. ๐Ÿšซ
  • SRS: Shared Registration System. See [ICANN-GTLD-AGB-20120604]. ๐Ÿ—„๏ธ
  • Sunrise Period: during this period, DNs matching a DNL of a PRM can be exclusively obtained by the respective TMHs. For DNs matching a PRM, a special process applies to ensure that TMHs are informed on the effective allocation of a DN matching their PRM. ๐ŸŒ…
  • SURL: Sunrise List. The list of DNLs that are covered by a PRM and are eligible for Sunrise. ๐ŸŒž
  • TCN: Trademark Claims Notice, Claims Notice, Trademark Notice. A Trademark Claims Notice consists of one or more Trademark Claims and is provided to prospective Registrants of DNs. ๐Ÿ””
  • TCNID: Trademark Claims Notice Identifier. An element of the Trademark Claims Notice (see above), identifying said TCN. The Trademark Claims Notice Identifier is specified in the element <tmNotice:id>. ๐Ÿชช
  • TLD: Top-Level Domain Name. See [RFC8499]. ๐Ÿ”
  • TMDB: Trademark Clearinghouse Database. This serves as a database of the ICANN TMCH to provide information to the gTLD Registries and Registrars to support Sunrise or Trademark Claims services. There is only one TMDB in the ICANN TMCH that concentrates the information about the "verified" trademark records from the TMVs. ๐Ÿ—ƒ๏ธ
  • TMH: Trademark Holder. The person or organization owning rights on a mark. ๐Ÿ‘‘
  • TMV: Trademark Validator, Trademark Validation organization. An entity authorized by ICANN to authenticate and validate registrations in the TMDB, ensuring the marks qualify as registered, are court-validated marks, or are protected by statute or treaty. This entity would also be asked to ensure that proof of use of marks is provided, which can be demonstrated by furnishing a signed declaration and one specimen of current use. ๐Ÿง
  • Trademark, Mark: marks are used to claim exclusive properties of products or services. A mark is typically a name, word, phrase, logo, symbol, design, image, or a combination of these elements. For the scope of this document, only textual marks are relevant. ๐Ÿ’–
  • Trademark Claims, Claims: provides information to enhance the understanding of the trademark rights being claimed by the TMH. ๐Ÿ’ฌ
  • Trademark Claims Period: during this period, a special process applies to DNs matching the DNL List to ensure that TMHs are informed of a DN matching their PRM. For DNs matching the DNL List, Registrars show a TCN to prospective Registrants that has to be acknowledged before effective allocation of the DN. ๐ŸŽ€
  • UTC: Coordinated Universal Time. This is maintained by the Bureau International des Poids et Mesures (BIPM). See [RFC3339]. โฑ๏ธ

4. Architecture ๐Ÿ—๏ธ

4.1. Sunrise Period ๐ŸŒ…

                        SMD hand over (out-of-band)
              ..............................................
              :                                            :
              :           .'''''''''''''''''''.            :
              :           .    ICANN TMCH     .            :
              :           .....................            :
              v           .                   .            :
       .------------.     .  .-------------.  . hv      .-----.
       | Registrant |     .  |     TMV     |<---------->| TMH |
       '------------'     .  '-------------'  .     vh  '-----'
             |            .     |       ^   \ .
             |            .     |       |    \.
          tr |            .  vs |       | dv  \
             |            .     |    vd |     .\
             v            .     v       v     . \
       .-----------.  sr  .    .---------.    .  \
    .->| Registrar |<..........|         |    .   \
    :  '-----------'      .    |         |    .    \
    :        |        sy  .    |    T    |    .     \
    :     ry |    .------------|    M    |    .   vc \
    :        |    |       .    |    D    |    .       \
    :        v    v       .    |    B    |    .        v
    :  .-----------.      . yd |         |    .  .---------------.
    :  | Registry  |---------->|         |    .  | ICANN TMCH-CA |
    :  '-----------'      .    '---------'    .  '---------------'
    :        ^            .                   .        |   :
    :        |             '''''''''''''''''''         |   :
    :        | cy                                      |   :
    : cr     '-----------------------------------------'   :
    :......................................................:

Figure 1: Architecture of the Sunrise Period ๐Ÿ–ผ๏ธ

Figure 1 depicts the architecture of the Sunrise Period, including all the actors and interfaces. It's giving full cast energy, bestie ๐ŸŽญ

4.2. Trademark Claims Period ๐Ÿ””

                       .''''''''''''''.
                       .  ICANN TMCH  .
                       ................
                       .              .
    .------------.     .  .-------.   . hv      .-----.
    | Registrant |     .  |  TMV  |<----------->| TMH |
    '------------'     .  '-------'   .     vh  '-----'
           |           .      ^       .
           |           .      | dv    .
        tr |           .   vd |       .
           v           .      v       .
    .-----------.  dr  .  .-------.   .
    | Registrar |<--------|       |   .
    '-----------'      .  |   T   |   .
        ry |           .  |   M   |   .
           v           .  |   D   |   .
     .----------.  dy  .  |   B   |   .
     | Registry |<------->|       |   .
     '----------'   yd .  '-------'   .
                       .              .
                        ''''''''''''''

Figure 2: Architecture of the Trademark Claims Period ๐Ÿ–ผ๏ธ

Figure 2 depicts the architecture of the Trademark Claims Period, including all the actors and interfaces. Same cast, different vibe ๐Ÿ’…

4.3. Interfaces ๐Ÿ”Œ

The subsections below contain short descriptions of each interface to provide an overview of the architecture. More detailed descriptions of the relevant interfaces are in Section 5. ๐Ÿงš

4.3.1. hv ๐Ÿค

The TMH registers a mark with a TMV via the hv interface. โœ๏ธ

After successful registration of the mark, the TMV makes a Signed Mark Data (SMD) File available (see Section 6.4) to the TMH to be used during the Sunrise Period. ๐ŸŽ

The specifics of the hv interface are beyond the scope of this document. ๐Ÿ™ˆ

4.3.2. vd ๐Ÿ—„๏ธ

After successful registration of the mark, the TMV ensures the TMDB inserts the corresponding DNLs and marks information into the database via the vd interface. ๐Ÿ’พ

The specifics of the vd interface are beyond the scope of this document. ๐Ÿซถ

4.3.3. dy ๐Ÿ’Œ

bestie, during the Trademark Claims Period the Registry grabs the newest DNL List from the TMDB over the dy interface at regular intervals ๐Ÿ”„. The protocol on dy is HTTPS ๐Ÿ”.

This interface is not relevant during the Sunrise Period, so you can ignore it then ๐Ÿ’….

4.3.4. tr ๐Ÿฆ‹

The Registrant talks to the Registrar over the tr interface ๐Ÿ’ฌ.

The specifics of the tr interface are beyond the scope of this document ๐Ÿ™ˆ.

4.3.5. ry ๐ŸŒธ

The Registrar talks to the Registry over the ry interface. The ry interfaces are typically implemented in EPP โœจ.

4.3.6. dr ๐Ÿงš

During the Trademark Claims Period, the Registrar grabs the TCN from the TMDB (which then gets shown to the Registrant over the tr interface) through the dr interface. The protocol for fetching the TCN is HTTPS ๐Ÿ”.

This interface is not relevant during the Sunrise Period ๐Ÿ’€.

4.3.7. yd ๐Ÿซถ

During the Sunrise Period, the Registry tells the TMDB, over the yd interface, about every DN that's effectively allocated ๐Ÿ“ฃ.

During the Trademark Claims Period, the Registry tells the TMDB over the yd interface about every DN that's effectively allocated and matched an entry in the DNL List the Registry downloaded earlier when the DN was created ๐ŸŽฏ.

The protocol on the yd interface is HTTPS ๐Ÿ”.

4.3.8. dv ๐Ÿ‘‘

The TMDB tells the TMV, over the dv interface, about every effectively allocated DN that matches a mark registered by that TMV ๐Ÿ‘€.

The specifics of the dv interface are beyond the scope of this document ๐Ÿ™ˆ.

4.3.9. vh ๐Ÿ’œ

The TMV tells the TMH over the vh interface after an effectively allocated DN matches a PRM of this THM ๐Ÿ””.

The specifics of the vh interface are beyond the scope of this document ๐Ÿ™ˆ.

4.3.10. vs ๐Ÿ“

The TMV asks the TMDB to add revoked SMDs to the SMD Revocation List ๐Ÿ“.

The specifics of the vs interface are beyond the scope of this document ๐Ÿ™ˆ.

This interface is not relevant during the Trademark Claims Period ๐Ÿ’….

4.3.11. sy ๐ŸŒˆ

During the Sunrise Period, the Registry fetches the most recent SMD Revocation List from the TMDB over the sy interface at regular intervals. The protocol on the sy interface is HTTPS ๐Ÿ”.

This interface is not relevant during the Trademark Claims Period ๐Ÿ’….

4.3.12. sr โญ

During the Sunrise Period, the Registrar may fetch the most recent SMD Revocation List from the TMDB over the sr interface. The protocol on the sr interface is the same as on the sy interface (see above), i.e., HTTPS ๐Ÿ”.

This interface is not relevant during the Trademark Claims Period ๐Ÿ’….

4.3.13. vc ๐ŸŽ€

The TMV registers its public key and asks to revoke an existing key with the ICANN TMCH-CA over the vc interface ๐Ÿ”‘.

The specifics of the vc interface are beyond the scope of this document, but it involves personal communication between the operators of the TMV and the operators of the ICANN TMCH-CA ๐Ÿ—ฃ๏ธ.

This interface is not relevant during the Trademark Claims Period ๐Ÿ’….

4.3.14. cy ๐Ÿ”ฅ

During the Sunrise Period, the Registry fetches the most recent TMV CRL file from the ICANN TMCH-CA over the cy interface at regular intervals. The TMV CRL is used to validate TMV certificates. The protocol on the cy interface is HTTPS ๐Ÿ”.

This interface is not relevant during the Trademark Claims Period ๐Ÿ’….

4.3.15. cr ๐ŸŒท

During the Sunrise Period, the Registrar optionally fetches the most recent TMV CRL file from the ICANN TMCH-CA over the cr interface at regular intervals. The TMV CRL is used to validate TMV certificates. The protocol on the cr interface is HTTPS ๐Ÿ”.

This interface is not relevant during the Trademark Claims Period ๐Ÿ’….


5. Process Descriptions โœจ

5.1. Bootstrapping ๐Ÿฅพ

5.1.1. Bootstrapping for Registries

5.1.1.1. Credentials ๐Ÿ”‘

Each Registry Operator gets authentication credentials from the TMDB, to be used:

  • during the Sunrise Period to fetch the SMD Revocation List from the TMDB over the sy interface (Section 4.3.11),
  • during the Trademark Claims Period to fetch the DNL List from the TMDB over the dy interface (Section 4.3.3), and
  • during the NORDN process to notify the LORDN to the TMDB over the yd interface (Section 4.3.7).

Note: Credentials are created per TLD and handed to the Registry Operator ๐Ÿงพ.

5.1.1.2. IP Addresses for Access Control ๐Ÿ›ก๏ธ

Each Registry Operator MUST provide the TMDB with all IP addresses that will be used to:

  • fetch the SMD Revocation List over the sy interface (Section 4.3.11),
  • fetch the DNL List from the TMDB over the dy interface (Section 4.3.3), and
  • upload the LORDN to the TMDB over the yd interface (Section 4.3.7).

This access restriction MAY be applied by the TMDB on top of HTTP Basic access authentication (see [RFC7617]). For credentials to be used, see Section 5.1.1.1 ๐Ÿ”.

The TMDB MAY limit the number of IP addresses accepted per Registry Operator ๐Ÿšฆ.

5.1.1.3. ICANN TMCH Trust Anchor ๐Ÿ“œ

Each Registry Operator MUST fetch the PKIX certificate [RFC5280] of the ICANN TMCH-CA (Trust Anchor) from <https://ca.icann.org/tmch.crt>, to be used:

  • during the Sunrise Period to validate the TMV certificates and the TMV CRL.

5.1.1.4. TMDB PGP Key ๐Ÿ—๏ธ

The TMDB MUST provide each Registry Operator with the public portion of the PGP Key the TMDB uses, to be used:

  • during the Sunrise Period to perform integrity checking of the SMD Revocation List fetched from the TMDB over the sy interface (Section 4.3.11), and
  • during the Trademark Claims Period to perform integrity checking of the DNL List fetched from the TMDB over the dy interface (Section 4.3.3).

5.1.2. Bootstrapping for Registrars

5.1.2.1. Credentials ๐Ÿ”‘

Each ICANN-Accredited Registrar gets authentication credentials from the TMDB, to be used:

  • during the Sunrise Period to (optionally) fetch the SMD Revocation List from the TMDB over the sr interface (Section 4.3.12), and
  • during the Trademark Claims Period to fetch TCNs from the TMDB over the dr interface (Section 4.3.6).

5.1.2.2. IP Addresses for Access Control ๐Ÿ›ก๏ธ

Each Registrar MUST provide the TMDB with all IP addresses that will be used to:

  • fetch the SMD Revocation List over the sr interface (Section 4.3.12), and
  • fetch TCNs over the dr interface (Section 4.3.6).

This access restriction MAY be applied by the TMDB on top of HTTP Basic access authentication (for credentials to be used, see Section 5.1.2.1) ๐Ÿ”.

The TMDB MAY limit the number of IP addresses accepted per Registrar ๐Ÿšฆ.

5.1.2.3. ICANN TMCH Trust Anchor ๐Ÿ“œ

Registrars MAY fetch the PKIX certificate of the ICANN TMCH-CA (Trust Anchor) from <https://ca.icann.org/tmch.crt>, to be used:

  • during the Sunrise Period to (optionally) validate the TMV certificates and TMV CRL.

5.1.2.4. TMDB PGP Key ๐Ÿ—๏ธ

Registrars MUST receive the public portion of the PGP Key the TMDB uses from the TMDB administrator, to be used:

  • during the Sunrise Period to (optionally) perform integrity checking of the SMD Revocation List fetched from the TMDB over the sr interface (Section 4.3.12).

5.2. Sunrise Period ๐ŸŒ…

5.2.1. Domain Name Registration ๐Ÿ’–

 .------------.     .-----------.                 .----------.
 | Registrant |     | Registrar |                 | Registry |
 '------------'     '-----------'                 '----------'
        |                 |                             |
        |      Request DN |                             |
        |    registration |                             |
        |      (with SMD) |                             |
        |---------------->|       Check DN availability |
        |                 |---------------------------->|
        |                 |                             |
        |                 | DN unavailable       .-------------.
        | DN unavailable  |<--------------------( DN available? )
        |<----------------|                   no '-------------'
        |                 |                             | yes
        |                 | DN available                |
        |                 |<----------------------------|
        |                 |                             |
        |                 |     Request DN registration |
        |                 |                  (with SMD) |
        |                 |---------------------------->|
        |                 |                             |
        |                 |             .------------------------------.
        |                 |             | DN registration validation / |
        |                 |             |       SMD validation         |
        |                 |             '------------------------------'
        |                 |                             |
        | Registration    |.-----------. Error .----------------------.
        | error           || TRY AGAIN |<-----( Validation successful? )
        |<----------------|| / ABORT   |    no '----------------------'
        |                 |'-----------'                | yes
        |                 |                             |
        |                 | DN registered               |
        | DN registered   |<----------------------------|
        |<----------------|                             |
        |                 |                             |

Figure 3: Domain Name Registration during the Sunrise Period

Figure 3 shows a synchronous DN registration workflow (usually called first come first served) โšก.

5.2.2. Sunrise Domain Name Registration by Registries ๐Ÿง

Registries MUST perform a minimum set of checks to verify each DN registration during the Sunrise Period when a registration request comes in over the ry interface (Section 4.3.5). If any of these checks fail, the Registry MUST abort the registration. Each of these checks MUST be performed before the DN is effectively allocated ๐Ÿšซ.

For asynchronous registrations (e.g., auctions), the minimum set of checks MAY be performed when the intermediate object (e.g., a DN application) used for DN registration is created. If the minimum set of checks is performed when creating the intermediate object (e.g., a DN application), a Registry MAY effectively allocate the DN without performing the minimum set of checks again ๐ŸŽŸ๏ธ.

When performing the minimum set of checks, Registries MUST verify that:

  1. an SMD has been received from the Registrar, along with the DN registration,
  2. the certificate of the TMV has been correctly signed by the ICANN TMCH-CA (the certificate of the TMV is contained within the SMD),
  3. the datetime when the validation is done is within the validity period of the TMV certificate,
  4. the certificate of the TMV is not listed in the TMV CRL file specified in the CRL distribution point of the TMV certificate,
  5. the signature of the SMD (signed with the TMV certificate) is valid,
  6. the datetime when the validation is done is within the validity period of the SMD based on <smd:notBefore> and <smd:notAfter> elements,
  7. the SMD has not been revoked, i.e., is not contained in the SMD Revocation List, and
  8. the leftmost DNL of the DN being effectively allocated matches one of the label (<mark:label>) elements in the SMD. For example, if the DN xn--mgbachtv.xn--mgbh0fb is being effectively allocated, the leftmost DNL would be xn--mgbachtv ๐Ÿ”.

These procedures apply to all DN effective allocations at the second level, as well as to all other levels subordinate to the TLD that the Registry accepts registrations for ๐Ÿ’….

5.2.3. TMDB Sunrise Services for Registries ๐ŸŒŸ

5.2.3.1. SMD Revocation List ๐Ÿ”ฅ

Okay so the TMDB MUST publish a brand new SMD Revocation List twice a day, by 00:00:00 and 12:00:00 UTC ๐Ÿ•›โœจ

Registries MUST refresh to the latest version of the SMD Revocation List at least once every 24 hours ๐Ÿ”„๐Ÿ’–

Note: The SMD Revocation List will be the same regardless of the TLD. If a Backend Registry Operator manages the infrastructure of several TLDs, the Backend Registry Operator could refresh the SMD Revocation List once every 24 hours, and the SMD Revocation List could be used for all the TLDs managed by the Backend Registry Operator. ๐ŸŒธ
       .----------.                                             .------.
       | Registry |                                             | TMDB |
       '----------'                                             '------'
             |                                                      |
    .----------------.                                              |
    |  Periodically, |                                              |
    |    at least    |                                              |
    | every 24 hours |                                              |
    '----------------'                                              |
             |                                                      |
             |----------------------------------------------------->|
             |      Download the latest SMD Revocation List         |
             |<-----------------------------------------------------|
             |                                                      |
             |                                                      |

                Figure 4: Update of the SMD Revocation List

Figure 4 shows the whole vibe of the Registry going to the TMDB to grab the latest SMD Revocation List, and it's always the Registry that starts it ๐Ÿฆ‹

5.2.3.2. TMV Certificate Revocation List (CRL) ๐ŸŽ€

Registries MUST refresh their local copy of the TMV CRL file at least once every 24 hours, using the CRL distribution point specified in the TMV certificate ๐Ÿ’…

Operationally, the TMV CRL file and CRL distribution point are the same for all TMVs and (at publication of this document) are located at <http://crl.icann.org/tmch.crl> ๐ŸŒˆ

Note: The TMV CRL file will be the same regardless of the TLD. If a Backend Registry Operator manages the infrastructure of several TLDs, the Backend Registry Operator could refresh the TMV CRL file once every 24 hours, and the TMV CRL file could be used for all the TLDs managed by the Backend Registry Operator. ๐Ÿซถ
      .----------.                                .---------------.
      | Registry |                                | ICANN TMCH-CA |
      '----------'                                '---------------'
            |                                             |
    .----------------.                                    |
    | Periodically,  |                                    |
    |   at least     |                                    |
    | every 24 hours |                                    |
    '----------------'                                    |
            |                                             |
            |-------------------------------------------->|
            |     Download the latest TMV CRL file        |
            |<--------------------------------------------|
            |                                             |
            |                                             |

                    Figure 5: Update of the TMV CRL File

Figure 5 is basically the same energy as Figure 4, except this time the Registry is downloading the latest TMV CRL file ๐Ÿงš

5.2.3.3. Notice of Registered Domain Names (NORDN) ๐Ÿ“ฌ

The Registry MUST send a LORDN file containing DNs effectively allocated to the TMDB (over the yd interface; see Section 4.3.7) ๐Ÿ’Œ

The effective allocation of a DN MUST be reported by the Registry to the TMDB within 26 hours of the effective allocation of such DN โฐ

The Registry MUST create and upload a LORDN file in case there are effective allocations in the SRS that have not been successfully reported to the TMDB in a previous LORDN file ๐Ÿ™ˆ

Based on the timers used by TMVs and the TMDB, the RECOMMENDED maximum frequency to upload LORDN files from the Registries to the TMDB is every 3 hours โœจ

It is RECOMMENDED that Registries try to upload at least two LORDN files per day to the TMDB, with enough time in between, in order to have time to fix problems reported in the LORDN file ๐Ÿ“

The Registry SHOULD upload a LORDN file only when the previous LORDN file has been processed by the TMDB and the related LORDN Log file has been downloaded and processed by the Registry ๐Ÿ‘‘

The Registry MUST upload LORDN files for DNs that are effectively allocated during the Sunrise or Trademark Claims Periods (same applies to DNs that are effectively allocated using applications created during the Sunrise or Trademark Claims Periods in case of using asynchronous registrations) ๐Ÿ’–

The yd interface (Section 4.3.7) MUST support at least one (1) and MAY support up to ten (10) concurrent connections from each IP address registered by a Registry Operator to access the service ๐ŸŒธ

The TMDB MUST process each uploaded LORDN file and make the related log file available for Registry download within 30 minutes of the finalization of the upload โšก

      .----------.            .------.          .-----.         .-----.
      | Registry |            | TMDB |          | TMV |         | TMH |
      '----------'            '------'          '-----'         '-----'
            |                     |                |               |
  .------------------.            |                |               |
  | Periodically     |            |                |               |
  | upload LORDN     |            |                |               |
  | file             |            |                |               |
  '------------------'            |                |               |
            |                     |                |               |
 .--------->|        Upload LORDN |                |               |
 |          |-------------------->|                |               |
 |          |                     |                |               |
 |          |        .-------------------------.   |               |
 |          |        | Verify each domain name |   |               |
 |          |        | in the uploaded file    |   |               |
 |          |        | (within 30')            |   |               |
 |          |        '-------------------------'   |               |
 |          |                     |         ._____.|               |
 |          | Download Log file   |         | END ||               |
 |          |<--------------------|         '-----'|               |
 |          |                     |             ^  |               |
 | .-----------------.    .---------------.     |  |               |
 | |  Check whether  |   / everything fine \ no |  |               |
 | |    Log file     |  ( (i.e., no errors  )---'  |               |
 | | contains errors |   \ in Log file )?  /       |               |
 | '-----------------'    '---------------'        |               |
 |          |                     | yes            |               |
 |  .---------------.             |                |               |
 | / everything fine \ yes        |                |               |
 |( (i.e., no errors  )-----.     |    Notify TMVs |               |
 | \ in Log file )?  /      |     |   on the LORDN |               |
 |  '---------------'       |     | pre-registered |               |
 |          | no            v     |  with said TMV |               |
 | .----------------.   .------.  |--------------->|               |
 '-| Correct Errors |   | DONE |  |                |               |
   '----------------'   '------'  |                |   Notify each |
            |                     |                |  affected TMH |
            |                     |                |-------------->|
            |                     |                |               |

          Figure 6: Notification of the Registered Domain Name

Figure 6 is the whole notification saga: the Registry uploads, the TMDB checks, the Registry grabs the log and fixes any errors, and then the TMVs and TMHs get the news ๐Ÿ“จโœจ

The format used for the LORDN is described in Section 6.3 ๐ŸŽ€

5.2.4. Sunrise Domain Name Registration by Registrars ๐Ÿงพ

Registrars MAY choose to run the checks for verifying DN registrations, as performed by the Registries (see Section 5.2.2), before sending the command to register a DN ๐Ÿ’…

5.2.5. TMDB Sunrise Services for Registrars ๐Ÿฆ‹

The processes described in Sections 5.2.3.1 and 5.2.3.2 are also available for Registrars to optionally validate the SMDs received ๐Ÿซถ

5.3. Trademark Claims Period ๐ŸŒˆ

5.3.1. Domain Registration ๐Ÿ’œ

  .------------.   .-----------.                 .----------.   .------.
  | Registrant |   | Registrar |                 | Registry |   | TMDB |
  '------------'   '-----------'                 '----------'   '------'
         |     Request DN |                            |            |
         |   registration |                            |            |
         |--------------->|     Check DN availability  |            |
         |                |--------------------------->|            |
         |                | DN unavailable      .-------------.     |
         | DN unavailable |<-------------------( DN available? )    |
         |<---------------|                  no '-------------'     |
         |                | DN available               | yes        |
         |                |<---------------------------|            |
         |                |         Request lookup key |            |
         |                |--------------------------->|            |
         |                |.__________.           .---------.       |
         |                || CONTINUE |          /  Does DN  \      |
         |                || NORMALLY |<--------(  match DNL  )     |
         |                |'----------'       no \  of PRM?  /      |
         |                |                       '---------'       |
         |                | Lookup key                  | yes       |
         |                |<----------------------------'           |
         |                |                                         |
 .-----. |                |                             Request TCN |
 |ABORT| | Display        |---------------------------------------->|
 '-----' | Claims         | Return TCN                              |
  ^      | Notice         |<----------------------------------------|
  | no   |<---------------|                                         |
  |  .------.  yes        |                                         |
  '-(  Ack?  )----------->|   Register DN (with TCNID) |            |
     '------'             |--------------------------->|            |
         | Registration   | Error         .----------------------.  |
         | error          |<-------------( Validation successful? ) |
         |<---------------|            no '----------------------'  |
         |                |                            | yes        |
         |                | DN registered              |            |
         | DN registered  |<---------------------------|            |
         |<---------------|                            |            |

 Figure 7: Domain Name Registration during the Trademark Claims Period

Figure 7 is the Trademark Claims registration dance, and it's a synchronous DN registration workflow (usually called first come first served) ๐ŸŽ€๐Ÿ”ฅ

5.3.2. Trademark Claims Domain Name Registration by Registries โœจ

okay so during the Trademark Claims Period, Registries have two main jobs ๐Ÿ’…

  • Registries MUST provide Registrars (over the ry interface; see Section 4.3.5) the lookup key used to retrieve the TCNs for DNs that match the DNL List. ๐Ÿ”‘
  • Registries MUST provide the lookup key only when queried about a specific DN. ๐ŸŽฏ

Here's where the minimum set of checks comes in ๐Ÿง

  • For each DN matching a DNL of a PRM, Registries MUST perform a minimum set of checks for verifying DN registrations during the Trademark Claims Period upon reception of a registration request over the ry interface (Section 4.3.5). If any of these checks fail, the Registry MUST abort the registration. Each of these checks MUST be performed before the DN is effectively allocated. ๐Ÿšซ
  • In case of asynchronous registrations (e.g., auctions), the minimum set of checks MAY be performed when creating the intermediate object (e.g., a DN application) used for DN effective allocation. If the minimum set of checks is performed when creating the intermediate object (e.g., a DN application), a Registry MAY effectively allocate the DN without performing the minimum set of checks again. โณ
  • Performing the minimum set of checks, Registries MUST verify that: ๐Ÿ“‹
    1. The TCNID (<tmNotice:id>), expiration datetime (<tmNotice:notAfter>), and acceptance datetime of the TCN have been received from the Registrar, along with the DN registration.

If the three elements mentioned above are not provided by the Registrar for a DN matching a DNL of a PRM, but the DNL was inserted (or reinserted) for the first time into the DNL List less than 24 hours ago, the registration MAY continue without this data, and the tests listed below are not required to be performed. ๐Ÿฅน

  1. The TCN has not expired (according to the expiration datetime sent by the Registrar). โŒ›
  2. The acceptance datetime is within the window of time defined by ICANN policy. In the gTLD round of 2012, Registrars verified that the acceptance datetime was less than or equal to 48 hours in the past, as there were no defined ICANN policies at that time. Implementers should be aware that ICANN policy may define this value in the future. ๐Ÿ‘€
  3. The TCN Checksum is computed using the leftmost DNL of the DN being effectively allocated, the expiration datetime provided by the Registrar, and the TMDB Notice Identifier extracted from the TCNID provided by the Registrar. Verify that the computed TCN Checksum matches the TCN Checksum present in the TCNID. For example, if the DN xn--mgbachtv.xn--mgbh0fb is being effectively allocated, the leftmost DNL would be xn--mgbachtv. ๐Ÿงฎ

These procedures apply to all DN registrations at the second level, as well as to all other levels subordinate to the TLD that the Registry accepts registrations for. ๐ŸŒˆ

5.3.3. TMDB Trademark Claims Services for Registries ๐ŸŽ€

5.3.3.1. Domain Name Label (DNL) List

A new DNL List MUST be published by the TMDB twice a day, by 00:00:00 and 12:00:00 UTC. ๐Ÿ•›๐Ÿ•›

Registries MUST refresh the latest version of the DNL List at least once every 24 hours. ๐Ÿ”„

    .----------.                        .------.
    | Registry |                        | TMDB |
    '----------'                        '------'
          |                                 |
 .----------------.                         |
 |  Periodically, |                         |
 |    at least    |                         |
 | every 24 hours |                         |
 '----------------'                         |
          |                                 |
          |-------------------------------->|
          |  Download the latest DNL List   |
          |<--------------------------------|
          |                                 |
          |                                 |

                   Figure 8: Update of the DNL List

Figure 8 shows the whole vibe of downloading the latest DNL List, and the Registry is the one who starts it ๐Ÿ“ฅ

Note: The DNL List will be the same regardless of the TLD. If a Backend Registry Operator manages the infrastructure of several TLDs, the Backend Registry Operator could refresh the DNL List once every 24 hours, and the DNL List could be used for all the TLDs managed by the Backend Registry Operator. ๐Ÿ—‚๏ธ

5.3.3.2. Notice of Registered Domain Names (NORDN)

The NORDN process during the Trademark Claims Period is almost the same as during the Sunrise Period, as defined in Section 5.2.3.3. The difference is that only registrations subject to a Trademark Claim (i.e., at registration time, the name appeared in the current DNL List downloaded by the Registry Operator) are included in the LORDN. ๐Ÿช„

5.3.4. Trademark Claims Domain Name Registration by Registrars ๐Ÿ›’

For each DN matching a DNL of a PRM, Registrars MUST perform the following steps:

  1. Use the lookup key received from the Registry to obtain the TCN from the TMDB using the dr interface (Section 4.3.6). Registrars MUST only query for the lookup key of a DN that is available for registration. ๐Ÿ”Ž
  2. Present the TCN to the Registrant, as described in Exhibit A of [RPM-Requirements]. ๐Ÿ“œ
  3. Ask the Registrant for acknowledgement, i.e., the Registrant MUST consent with the TCN, before any further processing. (The transmission of a TCNID to the Registry over the ry interface (Section 4.3.5) implies that the Registrant has expressed their consent with the TCN.) ๐Ÿ™‹
  4. Perform the minimum set of checks for verifying DN registrations. If any of these checks fail, the Registrar MUST abort the DN registration. Each of these checks MUST be performed before the registration is sent to the Registry. Performing the minimum set of checks, Registrars MUST verify the following:
    • a. The datetime when the validation is done is within the TCN validity based on the <tmNotice:notBefore> and <tmNotice:notAfter> elements.
    • b. The leftmost DNL of the DN being effectively allocated matches the label (<tmNotice:label>) element in the TCN. For example, if the DN xn--mgbachtv.xn--mgbh0fb is being effectively allocated, the leftmost DNL would be xn--mgbachtv.
    • c. The Registrant has acknowledged (expressed their consent with) the TCN. ๐Ÿ’–
  5. Record the date and time when the registrant acknowledged the TCN. ๐Ÿ—“๏ธ
  6. Send the registration to the Registry (via the ry interface; see Section 4.3.5) and include the following information:
    • TCNID (<tmNotice:id>)
    • Expiration date of the TCN (<tmNotice:notAfter>)
    • Acceptance datetime of the TCN

Currently, TCNs are generated twice a day by the TMDB. The expiration date (<tmNotice:notAfter>) of each TCN MUST be set to a value defined by ICANN policy. In the gTLD round of 2012, the TMDB set the expiration value to 48 hours into the future, as there were no defined ICANN policies at that time. Implementers should be aware that ICANN policy may define this value in the future. โฐ

Registrars SHOULD implement a cache of TCNs to minimize the number of queries sent to the TMDB. A cached TCN MUST be removed from the cache after the expiration date of the TCN, as defined by <tmNotice:notAfter>. ๐Ÿงน

The TMDB MAY implement rate limiting as one of the protection mechanisms to mitigate the risk of performance degradation. ๐Ÿ›ก๏ธ

5.3.5. TMDB Trademark Claims Services for Registrars ๐Ÿช

5.3.5.1. Claims Notice Information Service (CNIS)

The TCNs are provided by the TMDB online and are fetched by the Registrar via the dr interface (Section 4.3.6). ๐ŸŒ

To get access to the TCNs, the Registrar needs the credentials provided by the TMDB (Section 5.1.2.1) and the lookup key received from the Registry via the ry interface (Section 4.3.5). The dr interface (Section 4.3.6) uses HTTPS with Basic access authentication. ๐Ÿ”

The dr interface (Section 4.3.6) MAY support up to ten (10) concurrent connections from each Registrar. ๐Ÿ”Œ

The URL of the dr interface (Section 4.3.6) is:

   https://<tmdb-domain-name>/cnis/<lookupkey>.xml

Note that the "lookupkey" may contain slash characters ("/"). The slash character is part of the URL path and MUST NOT be escaped when requesting the TCN. ๐Ÿฆ‹

The TLS certificate (HTTPS) used on the dr interface (Section 4.3.6) MUST be signed by a well-know public CA. Registrars MUST perform the certification path validation described in Section 6 of [RFC5280]. Registrars will be authenticated in the dr interface using HTTP Basic access authentication. The dr interface (Section 4.3.6) MUST support HTTPS keep-alive and MUST maintain the connection for up to 30 minutes. ๐Ÿซถ

5.4. Qualified Launch Program (QLP) Period โœจ

5.4.1. Domain Registration

okay so during the OPTIONAL Qualified Launch Program (QLP) Period (see [QLP-Addendum]) ๐Ÿ’…, effective allocations of DNs to third parties could require that Registries and Registrars provide Sunrise and/or Trademark Claims services โœจ. If required, Registries and Registrars MUST provide Sunrise and/or Trademark Claims services, as described in Sections 5.2 and 5.3 ๐ŸŽ€.

here are the effective allocation scenarios, bestie ๐Ÿฆ‹:

  • If the leftmost DNL of the DN being effectively allocated (QLP Name in this section) matches a DNL in the SURL and an SMD is provided, then Registries MUST provide Sunrise Services (see Section 5.2), and the DN MUST be reported in a Sunrise LORDN file during the QLP Period ๐ŸŒธ. For example, if the DN xn--mgbachtv.xn--mgbh0fb is being effectively allocated, the leftmost DNL would be xn--mgbachtv.
  • If the QLP Name matches a DNL in the SURL but does not match a DNL in the DNL List and an SMD is NOT provided (see Section 2.2 of [QLP-Addendum]), then the DN MUST be reported in a Sunrise LORDN file using the special SMD-id 99999-99999 during the QLP Period ๐Ÿงš.
  • If the QLP Name matches a DNL in the SURL and also matches a DNL in the DNL List and an SMD is NOT provided (see Section 2.2 of [QLP-Addendum]), then Registries MUST provide Trademark Claims services (see Section 5.3), and the DN MUST be reported in a Trademark Claims LORDN file during the QLP Period ๐Ÿ’œ.
  • If the QLP Name matches a DNL in the DNL List but does not match a DNL in the SURL, then Registries MUST provide Trademark Claims services (see Section 5.3), and the DN MUST be reported in a Trademark Claims LORDN file during the QLP Period ๐Ÿ“.

The following table lists all the effective allocation scenarios during a QLP Period. It's giving spreadsheet energy ๐Ÿ“Š๐Ÿ‘‘

+========+==========+=================+==============+==============+
| QLP    | QLP      | SMD Was         | Registry     | Registry     |
| Name   | Name     | Provided by the | MUST Provide | MUST Report  |
| Match  | Match    | Potential       | Sunrise or   | DN           |
| in the | in the   | Registrant      | Trademark    | Registration |
| SURL   | DNL      |                 | Claims       | in <type>    |
|        | List     |                 | Services     | LORDN File   |
+========+==========+=================+==============+==============+
| Y      | Y        | Y               | Sunrise      | Sunrise      |
+--------+----------+-----------------+--------------+--------------+
| Y      | N        | Y               | Sunrise      | Sunrise      |
+--------+----------+-----------------+--------------+--------------+
| N      | Y        | --              | Trademark    | Trademark    |
|        |          |                 | Claims       | Claims       |
+--------+----------+-----------------+--------------+--------------+
| N      | N        | --              | --           | --           |
+--------+----------+-----------------+--------------+--------------+
| Y      | Y        | N (see          | Trademark    | Trademark    |
|        |          | Section 2.2 of  | Claims       | Claims       |
|        |          | [QLP-Addendum]) |              |              |
+--------+----------+-----------------+--------------+--------------+
| Y      | N        | N (see          | --           | Sunrise      |
|        |          | Section 2.2 of  |              | (using       |
|        |          | [QLP-Addendum]) |              | special SMD- |
|        |          |                 |              | id)          |
+--------+----------+-----------------+--------------+--------------+

Table 1: QLP Effective Allocation Scenarios

The TMDB MUST provide the following services to Registries during a QLP Period ๐ŸŒˆ:

  • SMD Revocation List (see Section 5.2.3.1)
  • NORDN (see Section 5.2.3.3)
  • DNL List (see Section 5.3.3.1)
  • Sunrise List (SURL) (see Section 5.4.2.1)

The TMDB MUST provide the following services to Registrars during a QLP Period ๐Ÿซถ:

  • SMD Revocation List (see Section 5.2.3.1)
  • CNIS (see Section 5.3.5.1)

5.4.2. TMDB QLP Services for Registries

5.4.2.1. Sunrise List (SURL)

A new SURL MUST be published by the TMDB twice a day, by 00:00:00 and 12:00:00 UTC โญ.

Registries offering the OPTIONAL QLP Period MUST refresh the latest version of the SURL at least once every 24 hours ๐Ÿ˜ญ.

       .----------.                       .------.
       | Registry |                       | TMDB |
       '----------'                       '------'
             |                                |
    .----------------.                        |
    |  Periodically, |                        |
    |    at least    |                        |
    | every 24 hours |                        |
    '----------------'                        |
             |                                |
             |------------------------------->|
             |    Download the latest SURL    |
             |<-------------------------------|
             |                                |
             |                                |

Figure 9: Update of the SURL

Figure 9 depicts the process of downloading the latest SURL, initiated by the Registry ๐Ÿ”ฅ.

Note: The SURL will be the same regardless of the TLD. If a Backend Registry Operator manages the infrastructure of several TLDs, the Backend Registry Operator could refresh the SURL once every 24 hours, and the SURL could be used for all the TLDs managed by the Backend Registry Operator ๐Ÿ™ˆ.


6. Data Format Descriptions โœจ

6.1. Domain Name Label (DNL) List

This section defines the format of the list containing every DNL that matches a Pre-Registered Mark (PRM). The list is maintained by the TMDB and downloaded by Registries in regular intervals (see Section 5.3.3.1). The Registries use the DNL List during the Trademark Claims Period to check whether a requested DN matches a DNL of a PRM ๐Ÿ’–.

The DNL List contains all the DNLs covered by a PRM present in the TMDB at the datetime that the DNL List is generated.

The DNL List is contained in a CSV-formatted file that has the following structure ๐Ÿฆ‹:

  • first line: <version>,<DNL List creation datetime>

Where:

  • <version>: version of the file. This field MUST be 1.
  • <DNL List creation datetime>: date and time in UTC that the DNL List was created.
  • second line: a header line, as specified in [RFC4180]

With the header names as follows: DNL,lookup-key,insertion-datetime

  • One or more lines with: <DNL>,<lookup key>,<DNL insertion datetime>

Where:

  • <DNL>: a Domain Name Label covered by a PRM.
  • <lookup key>: lookup key that the Registry MUST provide to the Registrar. The lookup key has the following format: <YYYY><MM><DD><vv>/<X>/<X>/<X>/<Random bits><Sequential number>, where:
    • YYYY: year that the TCN was generated.
    • MM: zero-padded month that the TCN was generated.
    • DD: zero-padded day that the TCN was generated.
    • vv: version of the TCN; possible values are 00 and 01.
    • X: one hex character. This is the first, second, and third hex character of encoding the <Random bits> in base16, as specified in [RFC4648].
    • Random bits: 144 random bits encoded in base64url, as specified in [RFC4648].
    • Sequential number: zero-padded natural number in the range 0000000001 to 2147483647.
  • <DNL insertion datetime>: datetime in UTC that the DNL was first inserted into the DNL List. The possible two values of time for inserting a DNL to the DNL List are 00:00:00 and 12:00:00 UTC.

Example of a DNL list ๐ŸŒธ:

1,2012-08-16T00:00:00.0Z
DNL,lookup-key,insertion-datetime
example,2013041500/2/6/9/rJ1NrDO92vDsAzf7EQzgjX4R0000000001,\
   2010-07-14T00:00:00.0Z
another-example,2013041500/6/A/5/alJAqG2vI2BmCv5PfUvuDkf40000000002,\
   2012-08-16T00:00:00.0Z
anotherexample,2013041500/A/C/7/rHdC4wnrWRvPY6nneCVtQhFj0000000003,\
   2011-08-16T12:00:00.0Z

Figure 10: Example DNL List

To provide authentication and integrity protection, the DNL List will be PGP [RFC4880] signed by the TMDB (see Section 5.1.1.4). The PGP signature of the DNL List can be found in the similar URI but with extension .sig, as shown below ๐Ÿ”.

The URLs of the dy interface (Section 4.3.3) are:

  • https://<tmdb-domain-name>/dnl/dnl-latest.csv
  • https://<tmdb-domain-name>/dnl/dnl-latest.sig

6.2. SMD Revocation List

This section defines the format of the list of SMDs that have been revoked. The list is maintained by the TMDB and downloaded by Registries (and optionally by Registrars) in regular intervals (see Section 5.2.3.1). The SMD Revocation List is used during the Sunrise Period to validate SMDs received. The SMD Revocation List has a similar function as CRLs used in PKI [RFC5280] ๐Ÿ‘‘.

The SMD Revocation List contains all the revoked SMDs present in the TMDB at the datetime it is generated.

The SMD Revocation List is contained in a CSV-formatted file that has the following structure ๐Ÿ“:

  • first line: <version>,<SMD Revocation List creation datetime>

Where:

  • <version>: version of the file. This field MUST be 1.
  • <SMD Revocation List creation datetime>: datetime in UTC that the SMD Revocation List was created.
  • second line: a header line, as specified in [RFC4180]

With the header names as follows: smd-id,insertion-datetime

  • One or more lines with: <smd-id>,<revoked SMD datetime>

Where:

  • <smd-id>: identifier of the SMD that was revoked.
  • <revoked SMD datetime>: revocation datetime in UTC of the SMD. The possible two values of time for inserting an SMD to the SMD Revocation List are 00:00:00 and 12:00:00 UTC.

To provide integrity protection, the SMD Revocation List is PGP signed by the TMDB (see Section 5.1.1.4). The SMD Revocation List is provided by the TMDB with extension .csv. The PGP signature of the SMD Revocation List can be found in the similar URI but with extension .sig, as shown below ๐Ÿฆ‹.

The URLs of the sr interface (Section 4.3.12) and sy interface (Section 4.3.11) are:

  • https://<tmdb-domain-name>/smdrl/smdrl-latest.csv
  • https://<tmdb-domain-name>/smdrl/smdrl-latest.sig

Example of an SMD Revocation List ๐Ÿ’…:

1,2012-08-16T00:00:00.0Z
smd-id,insertion-datetime
2-2,2012-08-15T00:00:00.0Z
3-2,2012-08-15T00:00:00.0Z
1-2,2012-08-15T00:00:00.0Z

Figure 11: Example SMD Revocation List

6.3. List of Registered Domain Names (LORDN) File โœจ

okay so this section is all about the List of Registered Domain Names (LORDN) file ๐Ÿงš every Registry keeps one and uploads it to the TMDB at least daily ๐Ÿ’… every time a DN matches a DNL of a PRM, that DN gets added to the LORDN, along with extra info about how it was registered ๐ŸŽ€

The yd interface (Section 4.3.7) is where the LORDN file gets uploaded. The URIs are:

  • Sunrise LORDN file: https://<tmdb-domain-name>/LORDN/<TLD>/sunrise
  • Trademark Claims LORDN file: https://<tmdb-domain-name>/LORDN/<TLD>/claims

During a QLP Period ๐ŸŒธ, Registries MAY be required to upload Sunrise or Trademark Claims LORDN files. The yd interface URIs for uploading LORDN files during a QLP Period are:

  • Sunrise LORDN file (during QLP Period): https://<tmdb-domain-name>/LORDN/<TLD>/sunrise/qlp
  • Trademark Claims LORDN file (during a QLP Period): https://<tmdb-domain-name>/LORDN/<TLD>/claims/qlp

The yd interface (Section 4.3.7) sends back these HTTP status codes once it gets an HTTP POST request ๐Ÿฆ‹

  • The interface gives an HTTP/202 status code if it was able to receive the LORDN file and the syntax of the LORDN file is correct โœจ
    • It also gives the LORDN Transaction Identifier in the HTTP Entity-body. The Registry uses this to download the LORDN Log file. The LORDN Transaction Identifier is a zero-padded natural number in the range 0000000000000000001 to 9223372036854775807.
    • The TMDB uses the <LORDN creation datetime> element of the LORDN file as a unique client-side identifier. If a LORDN file arrives with the same <LORDN creation datetime> as a previously sent LORDN file, the TMDB MUST provide the LORDN Transaction Identifier of the previously sent LORDN file to the Registry. The TMDB MUST ignore the DN Lines present in the LORDN file if a LORDN file with the same <LORDN creation datetime> was previously sent ๐Ÿ™ˆ
    • The HTTP Location header field has the URI where the LORDN Log file can be retrieved later, for example:
202 Accepted

Location: https://<tmdb-domain-
name>/LORDN/example/sunrise/0000000000000000001/result
  • The interface gives an HTTP/400 if the request is incorrect or the syntax of the LORDN file is incorrect. The TMDB MUST return a human-readable message in the HTTP Entity-body about the incorrect syntax of the LORDN file ๐Ÿ’€
  • The interface gives an HTTP/401 status code if the credentials provided do not authorize the Registry Operator to upload a LORDN file ๐Ÿ”ฅ
  • The TMDB MUST return an HTTP/404 status code when someone tries to upload a LORDN file using the https://<tmdb-domain-name>/LORDN/<TLD>/sunrise/qlp or https://<tmdb-domain-name>/LORDN/<TLD>/claims/qlp interface outside of a QLP Period plus 26 hours ๐Ÿ“
  • The interface gives an HTTP/500 status code if the system is having a general failure ๐Ÿ˜ญ

For example, to upload the Sunrise LORDN file for TLD "example", the URI would be:

https://<tmdb-domain-name>/LORDN/example/sunrise

The LORDN is a CSV-formatted file ๐ŸŽ€ and it has this structure:

  • For Sunrise Period:
    • first line: <version>,<LORDN creation datetime>,<Number of DN Lines>
      • Where:
        • <version>: version of the file. This field MUST be 1.
        • <LORDN creation datetime>: date and time in UTC that the LORDN was created.
        • <Number of DN Lines>: number of DN Lines present in the LORDN file.
    • second line: a header line, as specified in [RFC4180]. The header names are:
roid,domain-name,SMD-id,registrar-id,registration-
datetime,application-datetime
  • One or more lines with: <roid>,<DN registered>,<SMD-id>,<IANA Registrar id>,<datetime of registration>,<datetime of application creation>
    • Where:
      • <roid>: DN Repository Object IDentifier (DNROID) in the SRS.
      • <DN registered>: DN that was effectively allocated. For IDNs, the A-label form is used.
      • <SMD-id>: SMD ID used for registration.
      • <IANA Registrar ID>: IANA Registrar ID.
      • <datetime of registration>: date and time in UTC that the domain was effectively allocated.
      • OPTIONAL <datetime of application creation>: date and time in UTC that the application was created. The <datetime of application creation> MUST be provided when a DN is effectively allocated based on an asynchronous registration (e.g., when using auctions). ๐Ÿฆ‹

Example of a Sunrise LORDN file:

1,2012-08-16T00:00:00.0Z,3
roid,domain-name,SMD-id,registrar-id,registration-datetime,\
   application-datetime
SH8013-REP,example1.gtld,1-2,9999,2012-08-15T13:20:00.0Z,\
   2012-07-15T00:50:00.0Z
EK77-REP,example2.gtld,2-2,9999,2012-08-15T14:00:03.0Z
HB800-REP,example3.gtld,3-2,9999,2012-08-15T15:40:00.0Z

Figure 12: Example Sunrise LORDN File

  • For the Trademark Claims Period:
    • first line: <version>,<LORDN creation datetime>,<Number of DN Lines>
      • Where:
        • <version>: version of the file. This field MUST be 1.
        • <LORDN creation datetime>: date and time in UTC that the LORDN was created.
        • <Number of DN Lines>: number of DN Lines present in the LORDN file.
    • second line: a header line, as specified in [RFC4180]. The header names are:
roid,domain-name,notice-id,registrar-id,registration-
datetime,ack-datetime,application-datetime
  • One or more lines with: <roid>,<DN registered>,<TCNID>,<IANA Registrar id>,<datetime of registration>,<datetime of acceptance of the TCN>,<datetime of application creation>
    • Where:
      • <roid>: DNROID in the SRS.
      • <DN registered>: DN that was effectively allocated. For IDNs, the A-label form is used.
      • <TCNID>: Trademark Claims Notice Identifier, as specified in <tmNotice:id>.
      • <IANA Registrar ID>: IANA Registrar ID.
      • <datetime of registration>: date and time in UTC that the domain was effectively allocated.
      • <datetime of acceptance of the TCN>: date and time in UTC that the TCN was acknowledged.
      • OPTIONAL <datetime of application creation>: date and time in UTC that the application was created. The <datetime of application creation> MUST be provided when a DN is effectively allocated based on an asynchronous registration (e.g., when using auctions).
    • For a DN that matches a DNL of a PRM at the moment of registration, and was created without the TCNID, expiration datetime, and acceptance datetime because the DNL was inserted (or reinserted) for the first time into a DNL List less than 24 hours ago, the string "recent-dnl-insertion" MAY be specified in <TCNID> and <datetime of acceptance of the TCN> ๐ŸŒˆ

Example of a Trademark Claims LORDN file:

1,2012-08-16T00:00:00.0Z,3
roid,domain-name,notice-id,registrar-id,registration-datetime,\
    ack-datetime,application-datetime
SH8013-REP,example1.gtld,a76716ed9223352036854775808,\
    9999,2012-08-15T14:20:00.0Z,2012-08-15T13:20:00.0Z
EK77-REP,example2.gtld,a7b786ed9223372036856775808,\
    9999,2012-08-15T11:20:00.0Z,2012-08-15T11:19:00.0Z
HB800-REP,example3.gtld,recent-dnl-insertion,\
    9999,2012-08-15T13:20:00.0Z,recent-dnl-insertion

Figure 13: Example Trademark Claims LORDN File

6.3.1. LORDN Log File ๐ŸŽ€

okay bestie, once the TMDB gets a LORDN file, it checks that file for syntactical and semantic correctness ๐Ÿง and the results come back through the yd interface (Section 4.3.7) ๐Ÿ’Œ

The URIs for the yd interface (Section 4.3.7) you use to grab a LORDN Log file are:

  • Sunrise LORDN Log file:
    • https://<tmdb-domain-name>/LORDN/<TLD>/sunrise/<lordn-transaction-identifier>/result
  • Trademark Claims LORDN Log file:
    • https://<tmdb-domain-name>/LORDN/<TLD>/claims/<lordn-transaction-identifier>/result

A Registry Operator MUST NOT send more than one request per minute per TLD to download a LORDN Log file. so no spam-clicking the download button, periodt ๐Ÿ™…โ€โ™€๏ธ๐Ÿ’…

The yd interface (Section 4.3.7) gives back these HTTP status codes after it receives an HTTP GET request method:

  • HTTP/200: the interface was able to provide the LORDN Log file, and it's sitting in the HTTP Entity-body ๐ŸŽ‰
  • HTTP/204: the LORDN Transaction Identifier is correct, but the server hasn't finished processing the LORDN file yet โณ
  • HTTP/400: the request is incorrect ๐Ÿ’€
  • HTTP/401: the credentials you sent don't authorize the Registry Operator to download the LORDN Log file ๐Ÿ”
  • HTTP/404: the LORDN Transaction Identifier is incorrect ๐Ÿ™ˆ
  • HTTP/500: the system is having a general failure ๐Ÿ˜ญ

For example, say you want the LORDN Log file for a Sunrise LORDN file with LORDN Transaction Identifier 0000000000000000001 and TLD "example". The URI would be:

https://<tmdb-domain-name>/LORDN/example/sunrise/0000000000000000001/result

The LORDN Log file is a CSV-formatted file with the following structure ๐Ÿงพโœจ

  • first line: <version>,<LORDN Log creation datetime>,<LORDN file creation datetime>,<LORDN Log Identifier>,<Status flag>,<Warning flag>,<Number of DN Lines>

Where:

  • <version>: version of the file. This field MUST be 1. ๐Ÿ”ข
  • <LORDN Log creation datetime>: date and time in UTC that the LORDN Log was created. ๐Ÿ•ฐ๏ธ
  • <LORDN file creation datetime>: date and time in UTC of creation for the LORDN file that this log file is referring to. ๐Ÿ“…
  • <LORDN Log Identifier>: unique identifier of the LORDN Log provided by the TMDB. This identifier could be used by the Registry Operator to unequivocally identify the LORDN Log. The identified will be a string of a maximum length of 60 characters from the base64 alphabet. ๐Ÿ”‘
  • <Status flag>: whether the LORDN file has been accepted for processing by the TMDB. Possible values are "accepted" or "rejected". โœ…โŒ
  • <Warning flag>: whether the LORDN Log has any warning result codes. Possible values are "no-warnings" or "warnings-present". โš ๏ธ
  • <Number of DN Lines>: number of DN effective allocations processed in the LORDN file. ๐Ÿ”ข

A Registry Operator is not required to process a LORDN Log with <Status flag>="accepted" and <Warning flag>="no-warnings". (lowkey the cleanest vibe possible ๐Ÿซถ)

  • second line: a header line, as specified in [RFC4180]

With the header names as follows: roid,result-code ๐Ÿท๏ธ

  • One or more lines with: <roid>,<result code>

Where:

  • <roid>: DNROID in the SRS. ๐Ÿ†”
  • <result code>: result code, as described in Section 6.3.1.1. ๐ŸŽฏ

Here's an example of a LORDN Log file ๐Ÿ‘€

1,2012-08-16T02:15:00.0Z,2012-08-16T00:00:00.0Z,\
   0000000000000478Nzs+3VMkR8ckuUynOLmyeqTmZQSbzDuf/R50n2n5QX4=,\
   accepted,no-warnings,1
roid,result-code
SH8013-REP,2000

Figure 14: Example LORDN Log File ๐Ÿฆ‹

6.3.1.1. LORDN Log Result Codes ๐Ÿ’–

The classes of result codes (rc) are listed below. The classes in square brackets are not used at this time, but they may come into use at some later stage ๐ŸŒธ The first two digits of a result code tell you the result code class, which decides the outcome at the TMDB:

  • ok: Success. The DN Line is accepted by the TMDB. ๐Ÿ’š
  • warn: A warning is issued. The DN Line is accepted by the TMDB. ๐ŸŸก
  • err: An error is issued. The LORDN file is rejected by the TMDB. ๐Ÿšซ

Heads up, this part is important ๐Ÿ‘‘ In cases where a DN line is processed and the error result code is 45xx or 46xx, the LORDN file MUST be rejected by the TMDB. If the LORDN file is rejected, DN Lines that are syntactically valid will be reported with a 2001 result code. A 2001 result code means that the DN Line is syntactically valid, but the DN Line was not processed because the LORDN file was rejected. All DNs reported in a rejected LORDN file MUST be reported again by the Registry, because none of the DN Lines present in the LORDN file have been processed by the TMDB. ๐Ÿ”๐Ÿ˜ญ

LORDN Log Result Code Classes:

          +======+============================+=========+
          | Code | Class                      | Outcome |
          +======+============================+=========+
          | 20xx | Success                    | ok      |
          +------+----------------------------+---------+
          | 35xx | [ DN Line syntax warning ] | warn    |
          +------+----------------------------+---------+
          | 36xx | DN Line semantic warning   | warn    |
          +------+----------------------------+---------+
          | 45xx | DN Line syntax error       | err     |
          +------+----------------------------+---------+
          | 46xx | DN Line semantic error     | err     |
          +------+----------------------------+---------+

Table 2: LORDN Log Result Code Classes ๐Ÿ“Š

In Table 3, the LORDN Log result codes used by the TMDB are described. ๐Ÿงš

Okay bestie, this is the big finale of the log codes! ๐Ÿ’…โœจ Table 3 is basically the cheat sheet for every result code a LORDN Log File can show, from the happy 2000 "all good" vibes all the way to the 4611 "that label has never existed" moment. ๐Ÿ™ˆ

Every row has a short description and a long description, so you can see both the quick version and the full tea. โ˜•

       +======+===================================================+
       | rc   | Short Description / Long Description              |
       +======+===================================================+
       | 2000 | OK                                                |
       |      +---------------------------------------------------+
       |      | The DN Line is successfully processed.            |
       +------+---------------------------------------------------+
       | 2001 | OK but not processed                              |
       |      +---------------------------------------------------+
       |      | The DN Line is syntactically correct but was not  |
       |      | processed because the LORDN file was rejected.    |
       +------+---------------------------------------------------+
       | 3601 | TCN Acceptance Date after Registration Date       |
       |      +---------------------------------------------------+
       |      | The TCN Acceptance Date in the DN Line is newer   |
       |      | than the registration date.                       |
       +------+---------------------------------------------------+
       | 3602 | Duplicate DN Line                                 |
       |      +---------------------------------------------------+
       |      | This DN Line is an exact duplicate of another DN  |
       |      | Line in the same file; the DN Line is ignored.    |
       +------+---------------------------------------------------+
       | 3603 | DNROID Notified Earlier                           |
       |      +---------------------------------------------------+
       |      | The same DNROID has been notified earlier; the DN |
       |      | Line is ignored.                                  |
       +------+---------------------------------------------------+
       | 3604 | TCN Checksum invalid                              |
       |      +---------------------------------------------------+
       |      | Based on the DN effective allocation, the TCNID,  |
       |      | and the expiration date of the linked TCN, the    |
       |      | TCN Checksum is invalid.                          |
       +------+---------------------------------------------------+
       | 3605 | TCN Expired                                       |
       |      +---------------------------------------------------+
       |      | The TCN was already expired (based on the         |
       |      | <tmNotice:notAfter> field of the TCN) at the      |
       |      | datetime of acknowledgement.                      |
       +------+---------------------------------------------------+
       | 3606 | Wrong TCNID used                                  |
       |      +---------------------------------------------------+
       |      | The TCNID used for the registration does not      |
       |      | match the related DN.                             |
       +------+---------------------------------------------------+
       | 3609 | Invalid SMD used                                  |
       |      +---------------------------------------------------+
       |      | The SMD used for registration was not valid at    |
       |      | the moment of registration based on the           |
       |      | <smd:notBefore> and <smd:notAfter> elements.  In  |
       |      | case of an asynchronous registration, this refers |
       |      | to the <datetime of application creation>.        |
       +------+---------------------------------------------------+
       | 3610 | DN reported outside of the time window            |
       |      +---------------------------------------------------+
       |      | The DN was reported outside of the required       |
       |      | 26-hour reporting window.                         |
       +------+---------------------------------------------------+
       | 3611 | DN does not match the labels in SMD               |
       |      +---------------------------------------------------+
       |      | The DN does not match the labels included in the  |
       |      | SMD.                                              |
       +------+---------------------------------------------------+
       | 3612 | SMDID does not exist                              |
       |      +---------------------------------------------------+
       |      | The Signed Mark Data Identifier (SMDID) has never |
       |      | existed in the central repository.                |
       +------+---------------------------------------------------+
       | 3613 | SMD was revoked when used                         |
       |      +---------------------------------------------------+
       |      | The SMD used for registration was revoked more    |
       |      | than 24 hours ago of the <datetime of             |
       |      | registration>.  In case of an asynchronous        |
       |      | registration, the <datetime of application        |
       |      | creation> is used when validating the DN Line.    |
       +------+---------------------------------------------------+
       | 3614 | TCNID does not exist                              |
       |      +---------------------------------------------------+
       |      | The Trademark Claims Notice Identifier (TCNID)    |
       |      | has never existed in the central repository.      |
       +------+---------------------------------------------------+
       | 3615 | Recent-dnl-insertion outside of the time window   |
       |      +---------------------------------------------------+
       |      | The DN registration is reported as a recent-dnl-  |
       |      | insertion, but the (re) insertion into the DNL    |
       |      | occurred more than 24 hours ago.                  |
       +------+---------------------------------------------------+
       | 3616 | Registration Date of DN in Claims before the end  |
       |      | of the Sunrise Period                             |
       |      +---------------------------------------------------+
       |      | The registration date of the DN is before the end |
       |      | of the Sunrise Period, and the DN was reported in |
       |      | a Trademark Claims LORDN file.                    |
       +------+---------------------------------------------------+
       | 3617 | Registrar has not been approved by the TMDB       |
       |      +---------------------------------------------------+
       |      | The Registrar ID in the DN Line has not completed |
       |      | Trademark Claims integration testing with the     |
       |      | TMDB.                                             |
       +------+---------------------------------------------------+
       | 3618 | Registration Date of DN in QLP LORDN file out of  |
       |      | the QLP Period                                    |
       |      +---------------------------------------------------+
       |      | The registration date of the DN in a QLP LORDN    |
       |      | file is outside of the QLP Period.                |
       +------+---------------------------------------------------+
       | 3619 | TCN was not valid                                 |
       |      +---------------------------------------------------+
       |      | The TCN was not valid (based on the               |
       |      | <tmNotice:notBefore> field of the TCN) at the     |
       |      | datetime of acknowledgement.                      |
       +------+---------------------------------------------------+
       | 4501 | Syntax Error in DN Line                           |
       |      +---------------------------------------------------+
       |      | There is a syntax error in the DN Line.           |
       +------+---------------------------------------------------+
       | 4601 | Invalid TLD used                                  |
       |      +---------------------------------------------------+
       |      | The TLD in the DN Line does not match what is     |
       |      | expected for this LORDN.                          |
       +------+---------------------------------------------------+
       | 4602 | Registrar ID Invalid                              |
       |      +---------------------------------------------------+
       |      | The Registrar ID in the DN Line is not a valid    |
       |      | ICANN-Accredited Registrar.                       |
       +------+---------------------------------------------------+
       | 4603 | Registration Date in the future                   |
       |      +---------------------------------------------------+
       |      | The <datetime of registration> in the DN Line is  |
       |      | in the future.                                    |
       +------+---------------------------------------------------+
       | 4606 | TLD not in Sunrise or Trademark Claims Periods    |
       |      +---------------------------------------------------+
       |      | The <datetime of registration> was reported when  |
       |      | the TLD was not in Sunrise or Trademark Claims    |
       |      | Periods.  In case of an asynchronous              |
       |      | registration, the <datetime of application        |
       |      | creation> is used when validating the DN Line.    |
       +------+---------------------------------------------------+
       | 4607 | Application Date in the future                    |
       |      +---------------------------------------------------+
       |      | The <datetime of application creation> in the DN  |
       |      | Line is in the future.                            |
       +------+---------------------------------------------------+
       | 4608 | Application Date is later than Registration Date  |
       |      +---------------------------------------------------+
       |      | The <datetime of application creation> in the DN  |
       |      | Line is later than the <datetime of               |
       |      | registration>.                                    |
       +------+---------------------------------------------------+
       | 4609 | TCNID wrong syntax                                |
       |      +---------------------------------------------------+
       |      | The syntax of the TCNID is invalid.               |
       +------+---------------------------------------------------+
       | 4610 | TCN Acceptance Date is in the future              |
       |      +---------------------------------------------------+
       |      | The <datetime of acceptance of the TCN> is in the |
       |      | future.                                           |
       +------+---------------------------------------------------+
       | 4611 | Label has never existed in the TMDB               |
       |      +---------------------------------------------------+
       |      | The label in the registered DN has never existed  |
       |      | in the TMDB.                                      |
       +------+---------------------------------------------------+

                     Table 3: LORDN Log Result Codes

The 2xxx codes are the "we're good" group, the 3xxx codes are the "something about the timing or the paperwork is off" group, and the 4xxx codes are the "the line itself has a problem" group. ๐Ÿฆ‹ Keep an eye on the wording in each row, because the exact text is what matters when you're matching a code to the situation. ๐Ÿซถ

That's the whole table, babe! ๐ŸŒธ Ready for the next part whenever you are. ๐ŸŽ€

6.4. Signed Mark Data (SMD) File ๐ŸŽ€

okay so this section is all about the SMD File ๐Ÿ’… After a mark is successfully registered, the TMV sends an SMD File back to the TMH. And bestie, that file is what lets you register one or more DNs covered by the PRM during a TLD's Sunrise Period ๐ŸŒธ

There are two encapsulation boundaries that fence in the base64-encoded SMD: -----BEGIN ENCODED SMD----- and -----END ENCODED SMD-----. Only the data inside those boundaries MUST be used by Registries and Registrars for validation purposes. So anything outside the boundaries, plus the boundaries themselves, MUST be ignored for validation. ๐Ÿ™ˆ

The SMD File is laid out like this. All the elements are REQUIRED and MUST appear in the specified order โœจ

  1. Marks: <marks>
  2. smdID: <SMD-ID>
  3. U-labels: <comma separated list of U-label or NR-LDH labels (see [RFC5890])>
  4. notBefore: <begin validity>
  5. notAfter: <end validity>
  6. -----BEGIN ENCODED SMD-----
  7. <encoded SMD (see [RFC7848])>
  8. -----END ENCODED SMD-----

Here's an example of an SMD file ๐Ÿฆ‹

Marks: Example One
smdID: 1-2
U-labels: example-one, exampleone
notBefore: 2011-08-16 09:00
notAfter: 2012-08-16 09:00
-----BEGIN ENCODED SMD-----
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHNtZDpzaWdu
ZWRNYXJrIHhtbG5zOnNtZD0idXJuOmlldGY6cGFyYW1zOnhtbDpuczpzaWduZWRN
... (base64 data elided for brevity) ...
dXJlPgo8L3NtZDpzaWduZWRNYXJrPgo=
-----END ENCODED SMD-----

Figure 15: Example SMD File


6.5. Trademark Claims Notice (TCN) ๐Ÿฆ‹

The TMDB MUST provide the TCN to Registrars in XML format, as specified below ๐Ÿ’–

The enclosing element <tmNotice:notice> describes the Trademark Notice for a given label. The child elements of <tmNotice:notice> include:

  • A <tmNotice:id> element that holds the unique identifier of the Trademark Notice. This element contains the TCNID.

The TCNID is basically a string made by smooshing together a TCN Checksum and the TMDB Notice Identifier. The first 8 characters are the TCN Checksum. The rest is the TMDB Notice Identifier, a zero-padded natural number in the range of 0000000000000000001 to 9223372036854775807 โœจ

Example of a TCNID:

370d0b7c9223372036854775807.

Where:

  • TCN Checksum=370d0b7c
  • TMDB Notice Identifier=9223372036854775807

The TCN Checksum is an 8-character-long base16-encoded output of computing the CRC32 of the string concatenation of: label + unix_timestamp(<tmNotice:notAfter>) + TMDB Notice Identifier ๐Ÿงš

The TMDB MUST use the Unix time conversion of the <tmNotice:notAfter> in UTC to calculate the TCN Checksum. Unix time is the number of seconds that have elapsed since 1970-01-01T00:00:00Z, not counting leap seconds. For example, converting 2010-08-16T09:00:00.0Z to Unix time gives:

unix_time(2010-08-16T09:00:00.0Z)=1281949200

The TMDB uses the <tmNotice:label> and <tmNotice:notAfter> elements from the TCN, along with the TMDB Notice Identifier, to compute the TCN Checksum.

A Registry MUST use the leftmost DNL of the DN being effectively allocated, the expiration datetime of the TCN (provided by the Registrar), and the TMDB Notice Identifier extracted from the TCNID (provided by the Registrar) to compute the TCN Checksum. For example, if the DN "xn--mgbachtv.xn--mgbh0fb" is being effectively allocated, the leftmost DNL would be "xn--mgbachtv" ๐ŸŒˆ

An example computation of the TCN Checksum looks like this:

CRC32(example-one12819492009223372036854775807)=370d0b7c
  • A <tmNotice:notBefore> element that contains the start of the valid date and time of the TCN.
  • A <tmNotice:notAfter> element that contains the expiration date and time of the TCN.
  • A <tmNotice:label> element that contains the DNL covered by a PRM.
  • One or more <tmNotice:claim> elements that contain the Trademark Claims. The <tmNotice:claim> element contains the following child elements:
    • A <tmNotice:markName> element that contains the mark text string.
    • One or more <tmNotice:holder> elements that contain the information of the holder of the mark. An "entitlement" attribute identifies the holder's entitlement; possible values are: owner, assignee, or licensee. The child elements of <tmNotice:holder> include:
      • An OPTIONAL <tmNotice:name> element that contains the name of the holder. <tmNotice:name> MUST be specified if <tmNotice:org> is not specified.
      • An OPTIONAL <tmNotice:org> element that contains the name of the organization holder of the mark. <tmNotice:org> MUST be specified if <tmNotice:name> is not specified.
      • A <tmNotice:addr> element that contains the address information of the holder of a mark. <tmNotice:addr> contains the following child elements:
        • One, two, or three OPTIONAL <tmNotice:street> elements that contain the organization's street address.
        • A <tmNotice:city> element that contains the organization's city.
        • An OPTIONAL <tmNotice:sp> element that contains the organization's state or province.
        • An OPTIONAL <tmNotice:pc> element that contains the organization's postal code.
        • A <tmNotice:cc> element that contains the organization's country code. This a two-character code from [ISO3166-2].
      • An OPTIONAL <tmNotice:voice> element that contains the organization's voice telephone number.
      • An OPTIONAL <tmNotice:fax> element that contains the organization's facsimile telephone number.
      • An OPTIONAL <tmNotice:email> element that contains the email address of the holder.
    • Zero or more OPTIONAL <tmNotice:contact> elements that contain the information of the representative of the mark registration. A "type" attribute identifies the type of contact; possible values are: owner, agent, or third party. The child elements of <tmNotice:contact> include:
      • A <tmNotice:name> element that contains the name of the responsible person.
      • An OPTIONAL <tmNotice:org> element that contains the name of the organization of the contact.
      • A <tmNotice:addr> element that contains the address information of the contact. <tmNotice:addr> contains the following child elements:
        • One, two, or three OPTIONAL <tmNotice:street> elements that contain the contact's street address.
        • A <tmNotice:city> element that contains the contact's city.
        • An OPTIONAL <tmNotice:sp> element that contains the contact's state or province.
        • An OPTIONAL <tmNotice:pc> element that contains the contact's postal code.
        • A <tmNotice:cc> element that contains the contact's country code. This a two-character code from [ISO3166-2].
      • A <tmNotice:voice> element that contains the contact's voice telephone number.
      • An OPTIONAL <tmNotice:fax> element that contains the contact's facsimile telephone number.
      • A <tmNotice:email> element that contains the contact's email address.
    • A <tmNotice:jurDesc> element that contains the name (in English) of the jurisdiction where the mark is protected. A jurCC attribute contains the two-character code of the jurisdiction where the mark was registered. This is a two-character code from [WIPO.ST3].
    • Zero or more OPTIONAL <tmNotice:classDesc> elements that contain the description (in English) of the Nice Classification, as defined in [WIPO-NICE-CLASSES]. A classNum attribute contains the class number.
    • A <tmNotice:goodsAndServices> element that contains the full description of the goods and services mentioned in the mark registration document.
    • An OPTIONAL <tmNotice:notExactMatch> element signals that the claim notice was added to the TCN based on rules (e.g., [Claims50]) other than exact match (defined in [MatchingRules]). <tmNotice:notExactMatch> contains one or more of the following:
      • An OPTIONAL <tmNotice:udrp> element that signals the claim notice was added because of a previously abused name included in a Uniform Domain-Name Dispute-Resolution Policy (UDRP) case. <tmNotice:udrp> contains:
        • A <tmNotice:caseNo> element that contains the UDRP case number used to validate the previously abused name.
        • A <tmNotice:udrpProvider> element that contains the name of the UDRP provider.
      • An OPTIONAL <tmNotice:court> element that signals the claim notice was added because of a previously abused name included in a court's resolution. <tmNotice:court> contains:
        • A <tmNotice:refNum> element that contains the reference number of the court's resolution used to validate the previously abused name.
        • A <tmNotice:cc> element that contains the two-character code from [ISO3166-2] of the jurisdiction of the court.
        • A <tmNotice:courtName> element that contains the name of the court.

Example of a <tmNotice:notice> object:

Okay bestie, so the TCN example is a whole vibe ๐ŸŽ€ Here's a full notice with multiple claims, a UDRP case, and a court reference, all in one go ๐Ÿ’…

<?xml version="1.0" encoding="UTF-8"?>
<tmNotice:notice
 xmlns:tmNotice="urn:ietf:params:xml:ns:tmNotice-1.0">
 <tmNotice:id>370d0b7c9223372036854775807</tmNotice:id>
 <tmNotice:notBefore>2010-08-14T09:00:00.0Z</tmNotice:notBefore>
 <tmNotice:notAfter>2010-08-16T09:00:00.0Z</tmNotice:notAfter>
 <tmNotice:label>example-one</tmNotice:label>
 <tmNotice:claim>
  <tmNotice:markName>Example One</tmNotice:markName>
  <tmNotice:holder entitlement="owner">
   <tmNotice:org>Example Inc.</tmNotice:org>
   <tmNotice:addr>
    <tmNotice:street>123 Example Dr.</tmNotice:street>
    <tmNotice:street>Suite 100</tmNotice:street>
    <tmNotice:city>Reston</tmNotice:city>
    <tmNotice:sp>VA</tmNotice:sp>
    <tmNotice:pc>20190</tmNotice:pc>
    <tmNotice:cc>US</tmNotice:cc>
   </tmNotice:addr>
  </tmNotice:holder>
  <tmNotice:contact type="owner">
   <tmNotice:name>Joe Doe</tmNotice:name>
   <tmNotice:org>Example Inc.</tmNotice:org>
   <tmNotice:addr>
    <tmNotice:street>123 Example Dr.</tmNotice:street>
    <tmNotice:street>Suite 100</tmNotice:street>
    <tmNotice:city>Reston</tmNotice:city>
    <tmNotice:sp>VA</tmNotice:sp>
    <tmNotice:pc>20190</tmNotice:pc>
    <tmNotice:cc>US</tmNotice:cc>
   </tmNotice:addr>
   <tmNotice:voice x="4321">+1.7035555555</tmNotice:voice>
   <tmNotice:email>jdoe@example.com</tmNotice:email>
  </tmNotice:contact>
  <tmNotice:jurDesc jurCC="US">USA</tmNotice:jurDesc>
  <tmNotice:classDesc classNum="35">
  Advertising; business management; business administration.
 </tmNotice:classDesc>
  <tmNotice:classDesc classNum="36">
  Insurance; financial affairs; monetary affairs; real estate.
 </tmNotice:classDesc>
  <tmNotice:goodsAndServices>
  Bardus populorum circumdabit se cum captiosus populum.
  Smert populorum circumdabit se cum captiosus populum.
 </tmNotice:goodsAndServices>
 </tmNotice:claim>
 <tmNotice:claim>
  <tmNotice:markName>Example-One</tmNotice:markName>
  <tmNotice:holder entitlement="owner">
   <tmNotice:org>Example S.A. de C.V.</tmNotice:org>
   <tmNotice:addr>
    <tmNotice:street>Calle conocida #343</tmNotice:street>
    <tmNotice:city>Conocida</tmNotice:city>
    <tmNotice:sp>SP</tmNotice:sp>
    <tmNotice:pc>82140</tmNotice:pc>
    <tmNotice:cc>BR</tmNotice:cc>
   </tmNotice:addr>
  </tmNotice:holder>
  <tmNotice:jurDesc jurCC="BR">BRAZIL</tmNotice:jurDesc>
  <tmNotice:goodsAndServices>
  Bardus populorum circumdabit se cum captiosus populum.
  Smert populorum circumdabit se cum captiosus populum.
 </tmNotice:goodsAndServices>
 </tmNotice:claim>
 <tmNotice:claim>
  <tmNotice:markName>One</tmNotice:markName>
  <tmNotice:holder entitlement="owner">
   <tmNotice:org>One Corporation</tmNotice:org>
   <tmNotice:addr>
    <tmNotice:street>Otra calle</tmNotice:street>
    <tmNotice:city>Otra ciudad</tmNotice:city>
    <tmNotice:sp>OT</tmNotice:sp>
    <tmNotice:pc>383742</tmNotice:pc>
    <tmNotice:cc>CR</tmNotice:cc>
   </tmNotice:addr>
  </tmNotice:holder>
  <tmNotice:jurDesc jurCC="CR">COSTA RICA</tmNotice:jurDesc>
  <tmNotice:goodsAndServices>
  Bardus populorum circumdabit se cum captiosus populum.
  Smert populorum circumdabit se cum captiosus populum.
 </tmNotice:goodsAndServices>
  <tmNotice:notExactMatch>
   <tmNotice:court>
    <tmNotice:refNum>234235</tmNotice:refNum>
    <tmNotice:cc>CR</tmNotice:cc>
    <tmNotice:courtName>Supreme Court of Spain</tmNotice:courtName>
   </tmNotice:court>
  </tmNotice:notExactMatch>
 </tmNotice:claim>
 <tmNotice:claim>
  <tmNotice:markName>One Inc</tmNotice:markName>
  <tmNotice:holder entitlement="owner">
   <tmNotice:org>One SA de CV</tmNotice:org>
   <tmNotice:addr>
    <tmNotice:street>La calle</tmNotice:street>
    <tmNotice:city>La ciudad</tmNotice:city>
    <tmNotice:sp>CD</tmNotice:sp>
    <tmNotice:pc>34323</tmNotice:pc>
    <tmNotice:cc>AR</tmNotice:cc>
   </tmNotice:addr>
  </tmNotice:holder>
  <tmNotice:jurDesc jurCC="AR">ARGENTINA</tmNotice:jurDesc>
  <tmNotice:goodsAndServices>
  Bardus populorum circumdabit se cum captiosus populum.
  Smert populorum circumdabit se cum captiosus populum.
 </tmNotice:goodsAndServices>
  <tmNotice:notExactMatch>
   <tmNotice:udrp>
    <tmNotice:caseNo>D2003-0499</tmNotice:caseNo>
    <tmNotice:udrpProvider>WIPO</tmNotice:udrpProvider>
   </tmNotice:udrp>
  </tmNotice:notExactMatch>
 </tmNotice:claim>
</tmNotice:notice>

Figure 16: Example <tmNotice:notice> Object

For the formal syntax of the TCN, please refer to Section 7.1. ๐Ÿฆ‹

6.6. Sunrise List (SURL) ๐ŸŒธ

This section defines the format of the list containing every DNL that matches a PRM eligible for Sunrise. The list is maintained by the TMDB and downloaded by Registries in regular intervals (see Section 5.4.2.1). The Registries use the Sunrise List during the QLP Period to check whether a requested DN matches a DNL of a PRM eligible for Sunrise. ๐Ÿ’–

The Sunrise List contains all the DNLs covered by a PRM eligible for Sunrise that are present in the TMDB at the datetime it is generated. โœจ

The Sunrise List is contained in a CSV-formatted file that has the following structure:

  • first line: <version>,<Sunrise List creation datetime>
    • Where:
      • <version>: version of the file. This field MUST be 1.
      • <Sunrise List creation datetime>: date and time in UTC that the Sunrise List was created.
  • second line: a header line, as specified in [RFC4180]
    • With the header names as follows:

DNL,insertion-datetime

  • One or more lines with: <DNL>,<DNL insertion datetime>
    • Where:
      • <DNL>: a Domain Name Label covered by a PRM eligible for Sunrise.
      • <DNL insertion datetime>: datetime in UTC that the DNL was first inserted into the Sunrise List. The possible two values of time for inserting a DNL to the Sunrise List are 00:00:00 and 12:00:00 UTC. ๐Ÿ“

Example of a Sunrise List:

1,2012-08-16T00:00:00.0Z
DNL,insertion-datetime
example,2010-07-14T00:00:00.0Z
another-example,2012-08-16T00:00:00.0Z
anotherexample,2011-08-16T12:00:00.0Z

Figure 17: Example Sunrise List

To provide authentication and integrity protection, the Sunrise List will be PGP signed by the TMDB (see Section 5.1.1.4). The PGP signature of the Sunrise List can be found in the similar URI but with extension .sig, as shown below. ๐Ÿ”

The URLs of the dy interface (Section 4.3.3) are:

  • https://<tmdb-domain-name>/dnl/surl-latest.csv
  • https://<tmdb-domain-name>/dnl/surl-latest.sig

7. Formal Syntax ๐Ÿ‘‘

7.1. Trademark Claims Notice (TCN) ๐Ÿงš

The schema presented here is for a Trademark Claims Notice.

The CODE BEGINS and CODE ENDS tags are not part of the schema; they are used to note the beginning and ending of the schema for URI registration purposes. ๐Ÿ’…

<CODE BEGINS>
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:ietf:params:xml:ns:tmNotice-1.0"
  xmlns:tmNotice="urn:ietf:params:xml:ns:tmNotice-1.0"
  xmlns:mark="urn:ietf:params:xml:ns:mark-1.0"
  xmlns="http://www.w3.org/2001/XMLSchema"
  elementFormDefault="qualified">

  <annotation>
    <documentation>
      Schema for representing a Trademark Claim Notice.
    </documentation>
  </annotation>
  <import namespace="urn:ietf:params:xml:ns:mark-1.0"/>
  <element name="notice" type="tmNotice:noticeType"/>
  <complexType name="holderType">
    <sequence>
      <element name="name" type="token" minOccurs="0"/>
      <element name="org" type="token" minOccurs="0"/>
      <element name="addr" type="tmNotice:addrType"/>
      <element name="voice" type="mark:e164Type" minOccurs="0"/>
      <element name="fax" type="mark:e164Type" minOccurs="0"/>
      <element name="email" type="mark:minTokenType" minOccurs="0"/>
    </sequence>
    <attribute name="entitlement" type="mark:entitlementType"/>
  </complexType>
  <complexType name="noticeType">
    <sequence>
      <element name="id" type="tmNotice:idType"/>
      <element name="notBefore" type="dateTime"/>
      <element name="notAfter" type="dateTime"/>
      <element name="label" type="mark:labelType"/>
      <element name="claim" type="tmNotice:claimType" minOccurs="0"
        maxOccurs="unbounded"/>
    </sequence>
  </complexType>
  <complexType name="claimType">
    <sequence>
      <element name="markName" type="token"/>
      <element name="holder" type="tmNotice:holderType"
        maxOccurs="unbounded"/>
      <element name="contact" type="tmNotice:contactType"
        minOccurs="0" maxOccurs="unbounded"/>
      <element name="jurDesc" type="tmNotice:jurDescType"/>
      <element name="classDesc" type="tmNotice:classDescType"
        minOccurs="0" maxOccurs="unbounded"/>
      <element name="goodsAndServices" type="token"/>
      <element name="notExactMatch" type="tmNotice:noExactMatchType"
        minOccurs="0"/>
    </sequence>
  </complexType>
  <complexType name="jurDescType">
    <simpleContent>
      <extension base="token">
        <attribute name="jurCC" type="mark:ccType" use="required"/>
      </extension>
    </simpleContent>
  </complexType>
  <complexType name="classDescType">
    <simpleContent>
      <extension base="token">
        <attribute name="classNum" type="integer" use="required"/>
      </extension>
    </simpleContent>
  </complexType>
  <complexType name="noExactMatchType">
    <choice maxOccurs="unbounded">
      <element name="udrp" type="tmNotice:udrpType"/>
      <element name="court" type="tmNotice:courtType"/>
    </choice>
  </complexType>
  <complexType name="udrpType">
    <sequence>
      <element name="caseNo" type="token"/>
      <element name="udrpProvider" type="token"/>
    </sequence>
  </complexType>
  <complexType name="courtType">
    <sequence>
      <element name="refNum" type="token"/>
      <element name="cc" type="mark:ccType"/>
      <element name="region" type="token" minOccurs="0"
        maxOccurs="unbounded"/>
      <element name="courtName" type="token"/>
    </sequence>
  </complexType>
  <complexType name="addrType">
    <sequence>
      <element name="street" type="token" minOccurs="1"
        maxOccurs="3"/>
      <element name="city" type="token"/>
      <element name="sp" type="token" minOccurs="0"/>
      <element name="pc" type="mark:pcType" minOccurs="0"/>
      <element name="cc" type="mark:ccType"/>
    </sequence>
  </complexType>
  <complexType name="contactType">
    <sequence>
      <element name="name" type="token"/>
      <element name="org" type="token" minOccurs="0"/>
      <element name="addr" type="tmNotice:addrType"/>
      <element name="voice" type="mark:e164Type"/>
      <element name="fax" type="mark:e164Type" minOccurs="0"/>
      <element name="email" type="mark:minTokenType"/>
    </sequence>
    <attribute name="type" type="mark:contactTypeType"/>
  </complexType>
  <simpleType name="idType">
    <restriction base="token">
      <pattern value="[a-fA-F0-9]{8}\d{1,19}"/>
    </restriction>
  </simpleType>
</schema>
<CODE ENDS>

8. IANA Considerations โœจ

okay so IANA stuff, bestie ๐Ÿงš the code point in this doc was grabbed from the wrong spot in the registration tree ๐Ÿ’€. It was already out in the wild before anyone ran the proper registration review, so the designated experts looked at what fixing it would break for deployed implementations and agreed to keep it. no cap, that's a very mature choice ๐Ÿซถ

This document uses URNs to describe XML namespaces and XML schemas, following a registry mechanism from [RFC3688]. IANA registered two URI assignments, and they're giving main character energy ๐Ÿ‘‘

Trademark Claims Notice namespace:

URI:  urn:ietf:params:xml:ns:tmNotice-1.0
Registrant Contact:  IETF <iesg@ietf.org> and ICANN
   <globalsupport@icann.org>
XML:  None.  Namespace URIs do not represent an XML specification.
Note:  Note that this assignment is made from the wrong point in the
   tree in order to be consistent with deployed implementations.

Trademark Claims Notice XML schema:

URI:  urn:ietf:params:xml:schema:tmNotice-1.0
Registrant Contact:  IETF <iesg@ietf.org> and ICANN
   <globalsupport@icann.org>
XML:  See Section 7.1 of RFC 9361.
Note:  Note that this assignment is made from the wrong point in the
   tree in order to be consistent with deployed implementations.

9. Security Considerations ๐Ÿ”

okay this part is SERIOUS bestie ๐Ÿ˜ญ This specification uses HTTP Basic Authentication to give a simple application-layer authentication service. HTTPS is used on all interfaces to guard against most of the common attacks ๐Ÿ›ก๏ธ On top of that, the client identifier is tied to a set of IP addresses that are allowed to connect to the interfaces in this document, which is an extra layer of security ๐Ÿ”ฅ

The TMDB MUST provide credentials to the appropriate Registries and Registrars. ๐Ÿ”‘

The TMDB MUST require the use of strong passwords by Registries and Registrars. ๐Ÿ’ช

The TMDB, Registries, and Registrars MUST use the best practices described in [RFC9325] or its successors. โœจ

10. Privacy Considerations ๐ŸŒธ

this one is giving "legal paperwork protects your secrets" ๐Ÿ“œ This specification defines the interfaces that support the [RPM-Requirements]. The legal documents that govern how the different parties interact must make sure that privacy-sensitive and/or personal data gets the protection it needs ๐Ÿซถ

11. References ๐Ÿ“š

11.1. Normative References

[Claims50] ICANN, "Implementation Notes: Trademark Claims Protection
           for Previously Abused Names", July 2013,
           <https://newgtlds.icann.org/en/about/trademark-
           clearinghouse/previously-abused-16jul13-en.pdf>.

[MatchingRules]
           ICANN, "Explanatory Memorandum: Implementing the Matching
           Rules", July 2016, <https://newgtlds.icann.org/en/about/
           trademark-clearinghouse/matching-rules-14jul16-en.pdf>.

[QLP-Addendum]
           ICANN, "Trademark Clearinghouse Rights Protection
           Mechanism Requirements: Qualified Launch Program
           Addendum", April 2014,
           <https://newgtlds.icann.org/en/about/trademark-
           clearinghouse/rpm-requirements-qlp-addendum-
           10apr14-en.pdf>.

[RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
           Requirement Levels", BCP 14, RFC 2119,
           DOI 10.17487/RFC2119, March 1997,
           <https://www.rfc-editor.org/info/rfc2119>.

[RFC3688]  Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
           DOI 10.17487/RFC3688, January 2004,
           <https://www.rfc-editor.org/info/rfc3688>.

[RFC7848]  Lozano, G., "Mark and Signed Mark Objects Mapping",
           RFC 7848, DOI 10.17487/RFC7848, June 2016,
           <https://www.rfc-editor.org/info/rfc7848>.

[RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
           2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
           May 2017, <https://www.rfc-editor.org/info/rfc8174>.

[RFC9325]  Sheffer, Y., Saint-Andre, P., and T. Fossati,
           "Recommendations for Secure Use of Transport Layer
           Security (TLS) and Datagram Transport Layer Security
           (DTLS)", BCP 195, RFC 9325, DOI 10.17487/RFC9325, November
           2022, <https://www.rfc-editor.org/info/rfc9325>.

[RPM-Requirements]
           ICANN, "Trademark Clearinghouse Rights Protection
           Mechanism Requirements", September 2013,
           <https://newgtlds.icann.org/en/about/trademark-
           clearinghouse/rpm-requirements-30sep13-en.pdf>.

[W3C.REC-xml-20081126]
           Bray, T., Paoli, J., Sperberg-McQueen, C. M., Maler, E.,
           and F. Yergeau, "Extensible Markup Language (XML) 1.0
           (Fifth Edition)", W3C Recommendation REC-xml-20081126,
           November 2008,
           <https://www.w3.org/TR/2008/REC-xml-20081126/>.

[W3C.REC-xmlschema-1-20041028]
           Thompson, H., Beech, D., Maloney, M., and N. Mendelsohn,
           "XML Schema Part 1: Structures Second Edition", W3C
           Recommendation REC-xmlschema-1-20041028, October 2004,
           <https://www.w3.org/TR/2004/REC-xmlschema-1-20041028/>.

[W3C.REC-xmlschema-2-20041028]
           Biron, P. and A. Malhotra, "XML Schema Part 2: Datatypes
           Second Edition", W3C Recommendation REC-xmlschema-
           2-20041028, October 2004,
           <https://www.w3.org/TR/2004/REC-xmlschema-2-20041028/>.

11.2. Informative References

[ICANN-GTLD-AGB-20120604]
           ICANN, "gTLD Applicant Guidebook Version 2012-06-04", June
           2012, <http://newgtlds.icann.org/en/applicants/agb/
           guidebook-full-04jun12-en.pdf>.

[ISO3166-2]
           ISO, "International Standard for country codes and codes
           for their subdivisions",
           <http://www.iso.org/iso/home/standards/country_codes.htm>.

[RFC3339]  Klyne, G. and C. Newman, "Date and Time on the Internet:
           Timestamps", RFC 3339, DOI 10.17487/RFC3339, July 2002,
           <https://www.rfc-editor.org/info/rfc3339>.

[RFC4180]  Shafranovich, Y., "Common Format and MIME Type for Comma-
           Separated Values (CSV) Files", RFC 4180,
           DOI 10.17487/RFC4180, October 2005,
           <https://www.rfc-editor.org/info/rfc4180>.

[RFC4648]  Josefsson, S., "The Base16, Base32, and Base64 Data
           Encodings", RFC 4648, DOI 10.17487/RFC4648, October 2006,
           <https://www.rfc-editor.org/info/rfc4648>.

[RFC4880]  Callas, J., Donnerhacke, L., Finney, H., Shaw, D., and R.
           Thayer, "OpenPGP Message Format", RFC 4880,
           DOI 10.17487/RFC4880, November 2007,
           <https://www.rfc-editor.org/info/rfc4880>.

[RFC5280]  Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
           Housley, R., and W. Polk, "Internet X.509 Public Key
           Infrastructure Certificate and Certificate Revocation List
           (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008,
           <https://www.rfc-editor.org/info/rfc5280>.

[RFC5890]  Klensin, J., "Internationalized Domain Names for
           Applications (IDNA): Definitions and Document Framework",
           RFC 5890, DOI 10.17487/RFC5890, August 2010,
           <https://www.rfc-editor.org/info/rfc5890>.

[RFC7617]  Reschke, J., "The 'Basic' HTTP Authentication Scheme",
           RFC 7617, DOI 10.17487/RFC7617, September 2015,
           <https://www.rfc-editor.org/info/rfc7617>.

[RFC8499]  Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS
           Terminology", BCP 219, RFC 8499, DOI 10.17487/RFC8499,
           January 2019, <https://www.rfc-editor.org/info/rfc8499>.

[RFC9110]  Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke,
           Ed., "HTTP Semantics", STD 97, RFC 9110,
           DOI 10.17487/RFC9110, June 2022,
           <https://www.rfc-editor.org/info/rfc9110>.

[WIPO-NICE-CLASSES]
           WIPO, "Nice Classification",
           <http://www.wipo.int/classifications/nice/en>.

[WIPO.ST3] WIPO, "Recommended standard on two-letter codes for the
           representation of states, other entities and
           intergovernmental organizations", November 2022,
           <https://www.wipo.int/export/sites/www/standards/en/
           pdf/03-03-01.pdf>.

Acknowledgements ๐Ÿซถ

this doc is a team effort from a bunch of people in the ICANN community, so big love to all of them ๐Ÿ’– Bernie Hoeneisen was a coauthor on the first draft and gave invaluable support โœจ The spec is based on a model spearheaded by Chris Wright, Jeff Neuman, Jeff Eckhaus, and Will Shorter ๐Ÿ‘‘ The author also wants to thank everyone who gave thoughtful feedback on the tmch-tech mailing list, and especially James Gould, James Mitchell, and Francisco Arias, who helped out SO much ๐Ÿ™ˆ This document also includes feedback from Paul Hoffman ๐ŸŒˆ

Author's Address ๐Ÿ’Œ

Gustavo Lozano
ICANN
12025 Waterfront Drive
Suite 300
Los Angeles,  90292
United States of America
Phone: +1.310.301.5800
Email: gustavo.lozano@icann.org
๐Ÿ“ฆ where this page comes from