ICANN Logo

.NAME Agreement Appendix 1
Data Escrow Specification
(May 2009)


This Appendix 1 to the Registry Agreement consists of four of the five exhibits to the Data Escrow Agreement that constitutes Appendix 2 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), which sets forth Escrow Agent's fees, is subject to negotiation between Registry Operator and Escrow Agent.

                                                                                                                                     

Exhibit A
SCHEDULE FOR ESCROW DEPOSITS

Full Deposit Schedule

Full Deposits shall consist of data that reflects the state of the registry within the hour commencing 0000 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 0800 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 Mondays shall include transactions completed through within the hour commencing 0000 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 within the hour commencing 0000 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 0800 UTC on the day to which the Incremental Deposit relates.

The Registry may select to do full deposits on a daily basis instead of the incremental deposits while Registry size allows.

                                                                                                                                     

Exhibit B
ESCROW DEPOSIT FORMAT SPECIFICATION

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.

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

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

Defensive Registration Object Report-This reports on the contents of all Defensive Registration 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 10 below. Item 2 describes the report container that is common to all reports. Items 3 to 10 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, in 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.1), the TLD ("name"), the report type (domain, host, contact, registrar, email, namewatch, defensive registration, 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.1" encoding="UTF-8" ?>
<!DOCTYPE escrow SYSTEM "whois-export.dtd" >
<escrow version="1.0" tld="name" report="domain" date="2001-08-26 03:15:00">

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

</escrow>

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

a. status: The domain status code.

b. id: Unique identifier of the domain name.

c. owned-by: An identification of the sponsoring registrar of the domain.

d. authinfo: Authorization code.

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

f. created-by: An identification of the registrar that created the domain object.

g. expires-on: The date the registration expires.

h. updated-by: An identification of the registrar that last updated the domain object. i. updated-on: The date/time the domain object was last updated.

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

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

l. contact-id: Multiple contact-ids that reference the contact records for this domain. Contact-id has the property "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.name">
    <id>11</id>
    <status>ACTIVE</status>
    <owned-by> 42</owned-by>
    <authinfo>66gdgduj1221</authinfo>
    <created-on>2001-07-01 03:11:23</created-on>
    <created-by> 42</created-by>
    <expires-on>2002-07-01 03:11:23</expires-on>
    <updated-by>42</updated-by>
    <updated-on>2001-07-01 03:11:23</updated-on>
    <transferred-on></transferred-on>
    <host>2342</host>
    <host>2343</host>
    <contact-id type="Registrant">6353636</contact-id>
    <contact-id type="Administrative">6353637</contact-id>
    <contact-id type="Technical">6353639</contact-id>
    <contact-id type="Billing">6353640</contact-id>
</domain>

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

a. id: Identifier of the host.

b. status: The host status code.

c. owned-by: An identification of the sponsoring registrar of the host.

d. created-by: An identification of the registrar that created the host object.

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

f. updated-by: An identification of the registrar that last updated the host object.

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

h. transferred-on: The date/time when the host object was last transferred.

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

An example host container appears below:

<nameserver fqdn="dns1.example.name">
    <status>ACTIVE</status>
    <id>6353636</id>
    <owned-by> 42</owned-by>
    <created-on>2001-07-01 03:11:23</created-on>
    <created-by>42</created-by>
    <updated-by>42</updated-by>
    <updated-on>2001-07-01 03:11:23</updated-on>
    <transferred-on></transferred-on>
    <ip-address>192.168.1.1</ip-address>
    <ip-address>192.168.122.1</ip-address>
</nameserver>

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

a. client-id: The id of the contact.

b. name: The name of the contact.

c. organization: The organization for the contact.

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

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

f. street3: The third part of the street address of the contact.

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

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

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

j. geographic location: The two letter ISO 3166 code for the contact's geographic location.

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

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

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

n. authinfo: Authorization code.

o. owned-by: An identification of the sponsoring registrar of the contact.

p. created-by: An identification of the registrar that created the contact object.

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

r. updated-by: An identification of the registrar that last updated the contact object.

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

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

u. status: Contact status.

An example contact container appears below:

<contact id="1">
    <client-id>jd1</client-id>
    <name>John Doe</name>
    <organization>aol</organization>
    <street1>1234 East 11th Street</street1>
    <street2></street2>
    <street3></street3>
    <city>New York</city>
    <state-province>NY</state-province>
    <postal-code>12345</postal-code>
    <country>US</country>
    <voice>+212.1234567</voice>
    <fax>+212.1234568</fax>
    <email>jdoe@example.name</email>
    <authinfo>62626rgfgffg72273</authinfo>
    <owned-by>42</owned-by>
    <created-by> 42</created-by>
    <created-on>2001-06-01 03:01:21</created-on>
    <updated-by>42</updated-by>
    <updated-on>2001-06-01 03:01:21</updated-on>
    <transferred-on></transferred-on>
    <status>ACTIVE</status>
</contact>

6. The Registrar Element. The registrar element has the property "id" and is a container consisting of the following elements:

a. name: The name of the registrar.

b. status: The registrar status code.

c. iana-id: The IANA designated number for the Registrar.

d. street1: The first part of the street address of the Registrar.

e. street2: The second part of the street address of the Registrar.

f. street3: The third part of the street address of the Registrar.

g. city: The name of the city of the Registrar.

h. state-province: The name of the state/province of the Registrar.

i. postal-code: The postal/zip code of the Registrar.

j. geographic location: The two letter ISO 3166 code for the Registrar 's geographic location.

k. voice: The voice phone number of the Registrar in E164a format.

l. fax: The fax number of the Registrar in E164a format.

m. email: The e-mail address of the Registrar.

n. url: The URL of the Registrar.

o. created-on: The date/time the Registrar object was originally created.

p. updated-on: The date/time the Registrar object was last updated.

q. contact-id: Any number of contact-id associated with this registrar. Contact-id has the property "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">
    <name>Registrar R Us</name>
    <iana-id>545</iana-id>
    <status>ACTIVE</status>
    <street1>1234 East 11th Street</street1>
    <street2></street2>
    <street3></street3>
    <city>New York</city>
    <state-province>NY</state-province>
    <postal-code>12345</postal-code>
    <country>US</country>
    <voice>+212.1234567</voice>
    <fax>+212.1234568</fax>
    <email>jdoe@example.name</email>
    <url>www.registrar-example.com</url>
    <created-on>2001-06-01 03:01:21</created-on>
    <updated-on>2001-06-01 03:01:21</updated-on>
    <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 Email Element. The email element has the property "fqdn" (the fully qualified name of the email) and is a container consisting of the following elements:

a. status: The email status code.

b. id: Unique identifier of the email.

c. owned-by: An identification of the sponsoring registrar of the email.

d. authinfo: Authorization code.

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

f. created-by: An identification of the registrar that created the email object.

g. expires-on: The date the registration expires.

h. updated-by: An identification of the registrar that last updated the email object.

i. updated-on: The date/time the email object was last updated.

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

k. forwardto: The forward-to email address.

l. contact-id: Multiple contact-ids that reference the contact records for this email. Contact-id has the property "type" to denote the type of contact. "Type" can be one of: Registrant, Administrative, Technical, or Billing.

An example email container appears below:

<emailfwd fqdn="example@example.name">
    <id>11</id>
    <status>ACTIVE</status>
    <owned-by>42</owned-by>
    <authinfo>66gdgduj1221</authinfo>
    <created-on>2001-07-01 03:11:23</created-on>
    <created-by>42</created-by>
    <expires-on>2002-07-01 03:11:23</expires-on>
    <updated-by>42</updated-by>
    <updated-on>2001-07-01 03:11:23</updated-on>
    <transferred-on></transferred-on>
    <forwardto>exampleemail@gnr.com</ forwardto>
    <contact-id type="Registrant">6353636</contact-id>
    <contact-id type="Administrative">6353637</contact-id>
    <contact-id type="Technical">6353639</contact-id>
    <contact-id type="Billing">6353640</contact-id>
</emailfwd>

8. The Defensive Registration Element. The Defensive Registration element has the property "id" and is a container consisting of the following elements:

a. status: The Defensive Registration status code.

b. name: The Defensive Registration string.

c. type: The Defensive Registration type. This can be either S for standard or P for premium.

d. tm-id: The trademark identifier.

e. tm-country: The trademark country.

f. tm-date: The trademark date.

g. owned-by: An identification of the sponsoring registrar of the Defensive Registration.

h. authinfo: Authorization code.

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

j. created-by: An identification of the registrar that created the Defensive Registration object.

k. expires-on: The date the registration expires.

l. updated-by: An identification of the registrar that last updated the Defensive Registration object.

m. updated-on: The date/time the Defensive Registration object was last updated.

n. transferred-on: The date/time when the Defensive Registration object was last transferred.

o. contact-id: Multiple contact-ids that reference the contact records for this Defensive Registration. Contact-id has the property "type" to denote the type of contact. "Type" can be one of: Registrant, Administrative.

 

An example Defensive Registration container appears below:

<defreg id="11">
    <status>ACTIVE</status>
    <name>IBM</name>
    <type>P</type>
    <tm-id>726487623874</tm-id>
    <tm-country>GB</tm-country>
    <tm-date>1956-07-01 03:11:23</tm-date>
    <owned-by>42</owned-by>
    <authinfo>66gdgduj1221</authinfo>
    <created-on>2001-07-01 03:11:23</created-on>
    <created-by>42</created-by>
    <expires-on>2011-07-01 03:11:23</expires-on>
    <updated-by>42</updated-by>
    <updated-on>2001-07-01 03:11:23</updated-on>
    <transferred-on></transferred-on>
    <contact-id type="Registrant">6353636</contact-id>
    <contact-id type="Administrative">6353637</contact-id>
</defreg>

9. The Namewatch Element. The Namewatch element has the property "id" and is a container consisting of the following elements:

a. status: The Namewatch status code.

b. name: The Namewatch string.

c. owned-by: An identification of the sponsoring registrar of the Namewatch.

d. authinfo: Authorization code.

e. frequency: The frequency of email reports. Can be of type D for daily, W for weekly or M for monthly.

f. email: The email address for receiving the reports.

g. created-on: The date/time the Namewatch object was originally created.

h. created-by: An identification of the registrar that created the Namewatch object.

i. expires-on: The date the registration expires.

j. updated-by: An identification of the registrar that last updated the Namewatch object.

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

l. transferred-on: The date/time when the Namewatch object was last transferred.

m. contact-id: One contact-id that reference the contact record for this Namewatch. Contact-id has the property "type" to denote the type of contact. "Type" can only be: Registrant.

An example Namewatch container appears below:

<namewatch id="11">
    <status>ACTIVE</status>
    <name>IBM</name>
    <frequency>D</ frequency >
    <email>exampleemail@example.com</email>
    <owned-by>42</owned-by>
    <authinfo>66gdgduj1221</authinfo>
    <created-on>2001-07-01 03:11:23</created-on>
    <created-by>42</created-by>
    <expires-on>2011-07-01 03:11:23</expires-on>
    <updated-by>42</updated-by>
    <updated-on>2001-07-01 03:11:23</updated-on>
    <transferred-on></transferred-on>
    <contact-id type="Registrant">6353636</contact-id>
</namewatch>

10. 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, email, defreg, namewatch, 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.

An example transaction container appears below:

<transaction operation="modify" type="registrar">
    <registrar id=" 42">
       <name>Registrar R Us</name>
       <iana-id >545</iana-id>
       <status>ACTIVE</status>
       <street1>1234 East 11th Street</street1>
       <street2></street2>
       <street3></street3>
       <city>New York</city>
       <state-province>NY</state-province>
       <postal-code>12345</postal-code>
       <country>US</country>
       <voice>+212.1234567</voice>
       <fax>+212.1234568</fax>
       <email>jdoe@example.name</email>
       <url>www.registrar-example.com</url>
       <created-on>2001-06-01 03:01:21</created-on>
       <updated-on>2001-06-01 03:01:21</updated-on>
       <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></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: "name-SEQN," where "SEQN" is a four digit decimal number that is incremented as each report is prepared.

3. ICANN may, at its option, provide to Registry Operator a tool that will verify the deposit 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/GPG and signed using Registry Operator's private key for PGP/GPG, both version 1.2.6 or above, with a key of DSA Elgamal type and 2048/1024-byte length.

The formatted, encrypted and signed Deposit file(s) will be sent, by anonymous secure file transfer protocol, SCP or similar, to Escrow Agent's 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/GPG and authenticated using Registry Operator's public key for PGP/GPG.

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

4. (a) Escrow Agent will run a program (a portion of which is to be supplied by Registry Operator, the “Script”) 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/GPG and signed using Escrow Agent's private key for PGP/GPG, both versions 1.2.6 or above, with a key of DSA Elgamal type and 2048/1024-byte length.

(b) Escrow Agent and Registry Operator agree that Registry Operator shall provide the Script to Escrow Agent with all necessary rights to use the Script for the sole purpose of performing Escrow Agent’s obligations under this Data Escrow Specification, but that Registry Operator retains title to and all other rights in the Script. Escrow Agent and Registry Operator further agree that Registry Operator shall make updates as required to maintain the functionality of the Script and that Escrow Agent may also make updates to the Script as needed to integrate the Script into Escrow Agent’s software environment. Any updates made to the Script by the Escrow Agent shall remain the property of the Escrow Agent.

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.