Generic Top-Level Domain (gTLD) Registry Agreements

gTLD Registry Agreements establish the rights, duties, liabilities, and obligations ICANN requires of registry operators to run gTLDs.

.org Registry Agreement: Appendix R

ICANN | .org Registry Agreement: Appendix R
  ICANN Logo

.org Registry Agreement: Appendix R

21 October 2002


Data Escrow Schedule, Content, Format, and Procedure

This Appendix R to the Registry Agreement consists of four of the five exhibits to the Service Level Agreement that constitutes Appendix S to the Registry Agreement:

Exhibit A-Schedule for Escrow Deposits

Exhibit B-Escrow Deposit Format Specification

Exhibit C-Escrow Transfer Process

Exhibit D-Escrow Verification Procedures

The fifth exhibit (Exhibit E) to Appendix S, which sets forth the escrow agent's fees, is subject to negotiation between Registry Operator and the escrow agent.

The escrow procedures specified in this Appendix R will apply once the transition plan outlined in Appendix J is complete. During the transition of the .org database, the data escrow content and format will be as outlined in Appendix J.

Exhibit A-Schedule for Escrow Deposits

Full Deposit Schedule

Full Deposits shall consist of data that reflects the state of the registry as of 00:00 UTC on each Sunday. Pending transactions at that time (i.e. transactions that have not been committed to the Registry Database) shall not be reflected in the Full Deposit.

Full Deposits shall be made, according to the transfer process described in Exhibit C below, within a four-hour window beginning at 04:00 UTC on the same Sunday.

Incremental Deposit Schedule

Incremental Deposits shall reflect database transactions made since the most recent Full or Incremental Deposit. Incremental Deposits for Monday shall include transactions completed through 00:00 UTC on that day that had not been committed to the registry database at the time the last Full Deposit was taken. Incremental Deposits on Tuesday through Saturday shall include transactions completed through 00:00 UTC on the day of the deposit that were not reflected in the immediately prior Incremental Deposit.

Incremental Deposits shall be made, according to the transfer process described in Exhibit C below, within a four-hour window beginning at 04:00 UTC on the day to which the Incremental Deposit relates.

Exhibit B-Escrow Deposit Format Specification

This Appendix is subject to change by agreement of Registry Operator and ICANN during the design process as well as during the IETF standards process. In addition, Registry Operator agrees to implement changes to this Appendix specified by ICANN to conform to the IETF provreg working group's protocol specification no later than 135 days after the IETF specification is adopted as a Proposed Standard [RFC 2026, section 4.1.1].

Each Full and Incremental Deposit consists of a series of reports that are concatenated in the Escrow Process.

Full Deposit Contents. The reports involved in a Full Deposit are:

Domain Object Report-This reports on the contents of all domain objects in the registry database.

Host Object Report-This reports on the contents of all host objects in the registry database.

Contact Object Report-This reports on the contents of all contact objects in the registry database.

Registrar Object Report-This reports on the contents of all registrar objects in the registry database.

Incremental Deposit Contents. The report involved in an Incremental Deposit is:

Transaction Report-This reports on the contents of all transaction records included in the Incremental Deposit.

Format of Reports. All reports are to be formatted in XML format. In compliance with the XML 1.0 specification, certain characters in the data must be escaped, as described in item 1 below. Each Report shall then be prepared according to the general XML format described in items 2 to 7 below. Item 2 describes the report container that is common to all reports. Items 3 to 7 describe the structure of the contents of the report container for each of the specific reports.

1. Escape-Character Requirements. In compliance with the XML 1.0 specification, data escrowed using the XML format the following characters in any data elements must be replaced with the corresponding escape sequences listed here:

Character

Escape Sequence

"

"

&

&

'

'

<

&lt;

>

&gt

2. The Report Container. At its highest level, the XML format consists of an escrow container with header attributes followed by escrow data. The header attributes are required and include the version of escrow (1.0), the Registry TLD ("org"), the report type (domain, host, contact, registrar, or transaction), and database-committed date and time as to which the escrow relates. The date and time of the escrow will be specified in UTC. The general format of the report container is as follows:

<?xml version="1.0" encoding='UTF-8' ?>
<!DOCTYPE escrow SYSTEM "whois-export.dtd" >
<escrow version="1.0" tld="org" report="domain" date="15-Jan-2003 3:15:00AM">

{Here the report contains the actual data being escrowed. It contains one element for each object of the type (domain, host, contact, registrar, or transaction) covered by the report. The specific format for each report is described in items 3 to 7 below.}

</escrow>

3. The Domain Element. The domain element has the attribute "fqdn" (the fully qualified name of the domain) and is a container consisting of the following elements:

a. status: The domain status code. Possible values are: NEW, ACTIVE, INACTIVE, HOLD, LOCK, CLIENT-HOLD, CLIENT-LOCK, PENDING-TRANSFER, PENDING-DELETE

b. period: The registration period in years.

c. owned-by: An identification (the "id" attribute of the registrar element) of the sponsoring registrar of the domain.

d. created-code: A reference to the transaction that created the domain object.

e. created-on: The date/time the domain object was originally created.

f. renewed-on: The date/time the domain was last renewed.

g. updated-by: An identification (the "id" attribute of the registrar element) of the registrar that last updated the domain object.

h. updated-on: The date/time the domain object was last updated.

i. transferred-by: An identification (the "id" attribute of the registrar element) of the registrar that last transferred the domain object.

j. transferred-on: The date/time when the domain object was last transferred.

k. transferred-code: A reference to the transaction that last transferred the domain object.

l. host: Up to thirteen (13) host names that are nameservers for the domain to which the domain object relates.

m. contact-id: Up to four (4) contact-ids that reference the contact records for this domain. Contact-id has the attribute "type" to denote the type of contact. "Type" can be one of: Registrant, Administrative, Technical or Billing.

An example domain container appears below:

<domain fqdn="example.org">
   <status>ACTIVE</status>
   <period>1</period>
   <owned-by>42</owned-by>
   <created-code>12345678</created-code>
   <created-on>14-Jan-2003 12:34:56AM</created-on>
   <renewed-on></renewed-on>
   <updated-by>42</updated-by>
   <updated-on>14-Jan-2003 12:34:56AM</updated-on>
   <transferred-by></transferred-by>
   <transferred-on></transferred-on>
   <transferred-code></transferred-code>
   <host>dns1.example.org</host>
   <host>dns2.example.org</host>
   <contact-id type="Registrant">1</contact-id>
   <contact-id type="Administrative">2</contact-id>
   <contact-id type="Technical">3</contact-id>
   <contact-id type="Billing">4</contact-id>
</domain>

















4. The Host Element. The host element has the attribute "fqdn" (the fully qualified name of the host) and is a container consisting of the following elements:

a. owned-by: An identification (the "id" attribute of the registrar element) of the sponsoring registrar of the host.

b. created-code: A reference to the transaction that created the host object.

c. created-on: The date/time the host object was originally created.

d. updated-by: An identification (the "id" attribute of the registrar element) of the registrar that last updated the host object.

e. updated-on: The date/time the host object was last updated.

f. ip-address: Any number of IP addresses associated with this host.

An example host container appears below:

<host fqdn="dns1.example.org">
   <owned-by>42</owned-by>
   <created-code>12345679</created-code>
   <created-on>14-Jan-2003 12:40:32AM</created-on>
   <updated-by>42</updated-by>
   <updated-on>14-Jan-2003 12:40:32AM</updated-on>
   <ip-address>192.168.1.1</ip-address>
</host>






5. The Contact Element. The contact element has the attribute "id" and is a container consisting of the following elements:

a. name: The name of the contact.

b. organization: The organization for the contact.

c. Within the "contact" container is a sub-container named "address" with the following elements:

i. street1: The first part of the street address of the contact.

ii. street2: The second part of the street address of the contact.

iii. city: The name of the city of the contact.

iv. state-province: The name of the state/province of the contact.

v. postal-code: The postal/zip code of the contact.

vi. country: The two-letter ISO 3166 code for the contact's country.

d. voice: The voice phone number of the contact in E164a format.

e. fax: The fax number of the contact in E164a format.

f. email: The e-mail address of the contact.

g. owned-by: An identification (the "id" attribute of the registrar element) of the sponsoring registrar of the contact.

h. created-code: A reference to the transaction that created the contact object.

i. created-on: The date/time the contact object was originally created.

j. updated-by: An identification (the "id" attribute of the registrar element) of the registrar that last updated the contact object.

k. updated-on: The date/time the contact object was last updated.

l. transferred-by: An identification (the "id" attribute of the registrar element) of the registrar that last transferred the contact object.

m. transferred-on: The date/time when the contact object was last transferred.

n. transferred-code: A reference to the transaction that last transferred the contact object.

An example contact container appears below:

<contact id="1">
   <name>John Doe</name>
   <organization>aol</organization>
   <address>
      <street1>1234 East 11th Street</street1>
      <street2></street2>
      <city>New York</city>
      <state-province>NY</state-province>
      <postal-code>12345</postal-code>
      <country>US</country>
   </address>
   <voice>+212.1234567</voice>
   <fax>+212.1234568</fax>
   <email>jdoe@example.org</email>
   <owned-by>42</owned-by>
   <created-code>12345680</created-code>
   <created-on>14-Jan-2003 12:42:22AM</created-on>
   <updated-by>42</updated-by>
   <updated-on>14-Jan-2003 12:42:22AM</updated-on>
   <transferred-by></transferred-by>
   <transferred-on></transferred-on>
   <transferred-code></transferred-code>
</contact>





















6. The Registrar Element. The registrar element has the attribute "id", which is a unique identifier assigned by the IANA. The registrar element is a container consisting of the following elements:

a. password: The password for the registrar.

b. name: The name of the registrar.

c. status: The registrar status code.

d. contact-id: Any number of contact-id associated with this registrar. Contact-id has the attribute "type" to denote the type of contact. "Type" can be one of: Administrative, Technical or Billing.

An example registrar container appears below:

<registrar id="42">
   <password>registrarrus</password>
   <name>Registrar R Us</name>
   <status>ACTIVE</status>
   <contact-id type="Administrative">10</contact-id>
   <contact-id type="Administrative">11</contact-id>
   <contact-id type="Technical">12</contact-id>
   <contact-id type="Technical">13</contact-id>
   <contact-id type="Billing">14</contact-id>
</registrar>








7. The Transaction Element. The transaction element has the properties "operation" and "type". "Operation" can be one of: add, modify or delete. "Type" can be one of: domain, host, contact or registrar. The transaction element is a container consisting of elements from the corresponding "type" element. For example, a transaction element with a "type" of "registrar" will have the same set of elements as a Registrar element. For a "delete" operation, only the object ID is included in the transaction element.

An example transaction container appears below:

<transaction operation="modify" type="registrar">
   <password>new password</password>
   <name>Registrar R Us</name>
   <status>ACTIVE</status>
   <contact-id type="Administrative">10</contact-id>
   <contact-id type="Administrative">11</contact-id>
   <contact-id type="Technical">12</contact-id>
   <contact-id type="Technical">13</contact-id>
   <contact-id type="Billing">14</contact-id>
</transaction>








Exhibit C-Escrow Transfer Process

Deposit Transfer Process.

Registry Operator shall prepare and transfer the Deposit file by the following steps, in sequence:

1. The Reports making up the Deposit will first be created according to the format specification. (See Exhibit B above, "Escrow Deposit Format Specification").

2. The Reports making up the Deposit will be concatenated. The resulting file shall be named according to the following format: "orgSEQN", where "SEQN" is a four digit decimal number that is incremented as each report is prepared.

3. Next, the Deposit file will be processed by a program (provided by ICANN) that will verify that it complies with the format specification and contains reports of the same date/time (for a Full Deposit), count the number of objects of the various types in the Deposit, and append to the file a report of the program's results.

4. Registry Operator may optionally split the resulting file using the Unix SPLIT command (or equivalent) to produce files no less than 1 GB each (except the final file). If Deposit files are split, a .MD5 file (produced with MD5SUM or equivalent) must be included with the split files to isolate errors in case of transfer fault.

5. The Deposit file(s) will then be encrypted using Escrow Agent's public key for PGP and signed using Registry Operator's private key for PGP, both version 6.5.1 or above, with a key of DH/DSS type and 2048/1024-byte length. (Note that PGP compresses the Deposit file(s) in addition to encrypting it (them).)

The formatted, encrypted and signed Deposit file(s) will be sent, by anonymous file transfer, to Escrow Agent's ftp server within the specified time window.

Exhibit D-Escrow Verification Procedures

Verification Procedures. Escrow Agent will verify the format and completeness of each Deposit by the following steps:

1. At the conclusion of the deposit window, all Deposit files will be moved to a not-publicly-accessible directory and the existence and size of each will be noted.

2. Each Deposit file will be decrypted using Escrow Agent's private key for PGP and authenticated using Registry Operator's public key for PGP. (In this step, PGP will also automatically decompress the escrow file).

3. If there are multiple files, they will be concatenated in sequence.

4. Escrow Agent will run a program on the Deposit file (without report) that will split it in to its constituent reports (including the format report prepared by the Registry Operator and appended to the Deposit) check its format, count the number of objects of each type, and verify that the data set is internally consistent. This program will compare its results with the results of the Registry-generated format report, and will generate a Deposit format and completeness report. The program will encrypt the report using ICANN's public key for PGP and signed using Escrow Agent's private key for PGP, both versions 6.5.1 or above, with a key of DH/DSS type and 2048/1024-byte length. (Note that PGP compresses the Deposit file(s) in addition to encrypting it (them).)

5. The decrypted Deposit file will be destroyed to reduce likelihood of data loss to intruders in case of partial security failure.

Distribution Of Public Keys. Each of Registry Operator and Escrow Agent will distribute its public key to the other party (Registry Operator or Escrow Agent, as the case may be) via email to an email address to be specified. Each party will confirm receipt of the other party's public key with a reply email, and the distributing party will subsequently reconfirm the authenticity of the key transmitted. In this way, public key transmission is authenticated to a user able to send and receive mail via a mail server operated by the distributing party. Escrow Agent and ICANN shall exchange keys by the same procedure.


Comments concerning the layout, construction and functionality of this site
should be sent to webmaster@icann.org.

Page Updated 21-Oct-2002

©2002  The Internet Corporation for Assigned Names and Numbers. All rights reserved.