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.

Unsponsored TLD Agreement: Appendix R (.name)

ICANN | Unsponsored TLD Agreement: Appendix R (.name)
  ICANN Logo

Unsponsored TLD Agreement: Appendix R (.name)

(29 Jun 2001)


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.

Exhibit A-Schedule for Escrow Deposits

Full Deposit Schedule

Full Deposits shall consist of data that reflects the state of the registry as of 0000 GMT 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 will start, according to the transfer process described in Exhibit C below, within a four-hour window beginning at 0000 GMT on the following Monday. The time for transferring data will change during the ramp-up period to a start time that is related to the optimal bandwidth, within the 24 hour time limit from 1200 GMT on each Sunday. The escrow agent will be notified about the change within the time that Registry Operator and the escrow agent agree upon.

Incremental Deposit Schedule

Incremental Deposits shall reflect database transactions made since the most recent Full or Incremental Deposit. The Incremental Deposit for Monday shall include transactions completed by 0000 GMT 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 by 0000 GMT on the day of the deposit that were not reflected in the immediately prior Incremental Deposit.

Incremental Deposits will start, according to the transfer process described in Exhibit C below, within a four-hour window beginning at 0000 GMT on following day. The time for transferring data will change during the ramp-up period to a start time that is related to the optimal bandwidth, within 24 hours time limit from 1200 GMT on each day the Incremental Deposit will be made. The escrow agent will be notified about the change within the time that Registry Operator and the escrow agent agree upon.

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 files that are generated in the Escrow Process.

Full Deposit Contents. The reports involved in a Full Deposit will include, but not be limited to:

  • Registrar Object Report - this will detail the contents of known registrars in the Registry Database.



  • Domain Object Report - this will detail the contents of valid domains in the Registry Database



  • SLD Email Object Report - this will detail the contents of valid SLD Email forwarding addresses in the Registry Database



  • Contacts Object Report - this will detail active contacts within the Registry Database



  • Nameserver Object Report - this will detail all known nameservers within the Registry Database



  • Namewatch Object Report - this will detail the contents of valid Namewatch entries in the Registry Database



  • Defensive Registration Object Report - this will detail the contents of valid Defensive Registrations in the Registry Database

Incremental Deposit Contents. This will solely consist of a transaction report. The transaction report will detail the contents of all transactions 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 "Escape-Character Requirements" below. Each Report shall then be prepared according to the general XML format described in subsequent items below. Item "The Report Container" describes the report container that is common to all reports. Subsequent items describe the structure of the contents of the report container for each of the specific reports. The format of the reports may be amended or changed upon 90 days notice if the database structure or number or structure of objects change

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

Character

Escape Sequence

"

"

&

&

'

'

<

&lt;

>

&gt

2. The Escrow Container. At its highest level, the XML format consists of an escrow container with header attributes followed by escrow data.

Attributes:
Tld - the name of the top level domain
Date - date of the escrow export
Report - type of data contained in the escrow container
Type - type of export (Full or Incremental)
Version - version number of the escrow




Elements:
Registrar - container for registrar data
Domain - container for domain data
Email - container for SLD Email data
Nameserver - container for nameserver data
Contact - container for contact data
Namewatch - container for Namewatch data
Transaction - container for transaction data
Defensive Registration - container for Defensive Registration data







E.g. an example escrow container may have the following:

<?xml version="1.0" encoding='UTF-8' ?>
<!DOCTYPE escrow SYSTEM "escrow-export.dtd" >
<escrow tld="name" date="19-Aug-2001 3:15:00AM" report="domain" type="Full" version="1.0" >

{Here is where the report containing the actual data being escrowed is placed. It contains one element for each object of the type (domain, SLD email, nameserver, contact, registrar, defensive registration, namewatch or transaction) covered by the report. The specific format for each report is described in the items below.}
</escrow>

3. The Registrar Element. The registrar element is a container consisting of the following data:

Attributes:
ID - unique identifier for this object type (corresponding to an entry in the IANA registrar-id database)
Status - the current status of the Registrar Element

Elements:
ContactID - contact point of registrar
URL - the home page for the company
Created - timestamp detailing when this record was created
Modified - timestamp detailing when this record was last altered



E.g. an example registrar container may have the following:

<registrar id="42" status="ok">
<contactid type="REGISTRAR">123</contactid>
<url>www.acmeregistrar.co.uk</url>
<created>2001-08-10-01.01.01</created>
<modified>2001-08-10-01.01.01</modified>
</registrar>




The Domain Element. This element will be a container holding the following data:

Attributes:
ID - unique identifier for this object type
FQDN - Fully Qualified Domain Name
Status - the current position of the domain


Elements:
RegistrarID - the identifier for the registrar within the Registry Database
Created - the timestamp detailing when this record came into existence
Expires - when the active status of the domain will expire
Modified - the timestamp stating when this record was last altered
NameServerID - up to 13 different nameservers for this particular domain record
ContactID - up to 4 different types of contact id for this particular domain record





E.g. an example domain container may have the following :

<domain id="123" fqdn="john.smith.name" status="ok">
<registrarid>42</registrarid>
<created>2001-08-10-12.34.56</created>
<expires>2002-08-10-12.34.56</expires>
<modified>2001-08-10-12.34.56</modified>
<nameserverid>312</nameserverid>
<nameserverid>321</nameserverid>
<contactid type="REGISTRANT">111</contactid>
<contactid type="ADMINISTRATIVE">222</contactid>
<contactid type="TECHNICAL">333</contactid>
<contactid type="BILLING">444</contactid>
</domain>










The SLD Email Element. This element will be a container holding the following data :

Attributes:
ID - unique identifier for this object type
Address - email address for the SLD Email object
Status - the current position of the SLD Email


Elements:
RegistrarID - the identifier for the registrar within the Registry Database
Forward - recipient of forwarded mail
Created - the timestamp detailing when this record came into existence
Expires - when the active status of the SLD Email will expire
Modified - the timestamp stating when this record was last altered
ContactID - up to 4 different types of contact id for this particular record





Example:

<email id="123" address="john@smith.name" status="ok">
<registrarid>42</registrarid>
<forward>john@acme.co.uk</forward>
<created>2001-08-10-12.34.56</created>
<expires>2002-08-10-12.34.56</expires>
<modified>2001-08-10-12.34.56</modified>
<contactid type="REGISTRANT">111</contactid>
<contactid type="ADMINISTRATIVE">222</contactid>
<contactid type="TECHNICAL">333</contactid>
<contactid type="BILLING">444</contactid>
</email>









The Nameserver Element. This element consists of the following data:

Attributes:
ID - unique identifier for this object type
FQDN - Fully Qualified Domain Name for the nameserver
Status - current standing


Elements:
RegistrarID - the identifier for the registrar within the Registry Database
Created - timestamp detailing when this record was created
Modified - timestamp detailing when this record was last altered
Ipaddress - up to 13 unique IP addresses for each nameserver



E.g. an example nameserver container may have the following :

<nameserver id="312" fqdn="dns1.example.name" status="ok">
<registrarid>42</registrarid>
<created>2001-08-10-22.31.12</created>
<modified>2001-08-10-22.31.12</modified>
<ipaddress>192.168.1.11</ipaddress>
<ipaddress>192.168.1.12</ipaddress>
</nameserver>





The Contact Element. The contact element is a container consisting of the following data:

Attributes:
ID - unique identifier for this object type
Status - current standing

Elements:
Name - the name of the contact
RegistrarID- the sponsoring registrar for this record
Address - a free form field for the address of the contact
City - the town or city where the contact resides
State/Province - the state/province where the contact resides
Country - the country for this contact point
PostCode - the postal code where the contact resides
Telephone - the voice telephone number for this contact
Fax - a facsimile number for this contact
Email - an electronic address to reach the contact by
Created - timestamp detailing when this record was created
Modified - the timestamp detailing the time of the last update











E.g. an example contact container may have the following :

<contact id="111" status="ok">
<name>John Smith</name>
<registrarid>222</registrarid>
<address>32, Hill Avenue</address>
<city>New Town</city>
<state>Beluga</state>
<country>UK</country>
<postcode>PP1 2PP</postcode>
<telephone>+44.2055551111</telephone>
<fax>+44.2072061234</fax>
<emailaddress>john@acmework.co.uk</emailaddress>
<created>2001-08-10-02.31.12</created>
<modified>2001-08-10-10.58.12.123456</modified>
</contact>












The Namewatch Element. This element consists of the following data:

Attributes:
ID - unique identifier for this object type
Status - current standing of this record

Elements:
RegistrarID - the identifier for the registrar performing the update within the Registry Database
Report - Defines the frequency of reporting
String - The Namewatch string specified by the registrant
Wildcard - Specifies how to match the string.
Level - Specifies which level (second or third level domain or both)
ContactID - Contact id for this particular record
Created - the timestamp detailing when this record came into existence
Expires - when this record will expire
Modified - the timestamp stating when this record was last altered












E.g. a Namewatch container may hold the following data :

<namewatch id="1234" status="ok">
<registrarid>42</registrarid>
<report type="WEEKLY" />
<string>acme</string>
<wildcard type="CONTAINS" />
<level type="SECOND" />
<contactid type="REGISTRANT">111</contactid>
<created>2001-08-10-12.34.56</created>
<expires>2002-08-10-12.34.56</expires>
<modified>2001-08-10-12.34.56</modified>
</namewatch>









The Transaction Element. This element consists of the following data:

Attributes:
ID - unique identifier for this object type
Type - the action which was performed

Elements:
RegistrarID - the identifier for the registrar performing the update within the Registry Database
Object - the identifier to the object with the Registry Database
Timestamp - the time of the transaction within the database, and the moment this record came into existence


E.g. a transaction container may hold the following data :

<transaction id="1234" type="INSERT">
<registrarid>42</registrarid>
<object type="DOMAIN">123</object>
<timestamp>2001-08-10-12.34.56.123456</timestamp>
</transaction>



The Defensive Registrations Element. This element consists of the following data:

Attributes:
ID - unique identifier for this object type
Status - current standing of this record

Elements:
RegistrarID - the identifier for the registrar performing the update within the Registry Database
String - The Defensive Registration string specified by the registrant
Level - Specifies which level (second or third level domain or both)
TrademarkID - Trademark registration identifier
Trademark country - where this trademark is registered
Tm reg date - when the trademark was registered
ContactID - up to 3 Contact IDs for this particular record
Created - the timestamp detailing when this record came into existence
Expires - when this record will expire
Modified - the timestamp stating when this record was last altered









E.g. a defensive registration container may hold the following data :

<defensiveregistration id="1234" status="ok">
<registrarid>42</registrarid>
<string>acme</string>
<level type="THIRD" />
<trademarkid>tm 125549</trademark>
<trademarkcountry>uk</trademarkcountry>
<tmregdate>2001-06-22</tmregdate>
<contactid type="REGISTRANT">111</contactid>
<contactid type="ADMINISTRATIVE">222</contactid>
<contactid type="BILLING">333</contactid>
<created>2001-08-10-12.34.56</created>
<expires>2002-08-10-12.34.56</expires>
<modified>2001-08-10-12.34.56</modified>
</defensiveregistration>












DTD For Escrow Files

The following section defines the DTD for validating Escrow files.

<?xml version="1.0" encoding='UTF-8' ?>
<!ELEMENT escrow (registrar*, domain*, email*, nameserver*, contact*, namewatch*, transaction*, defensiveregistration*)>
<!ATTLIST escrow
tld NMTOKEN #FIXED name
date CDATA #REQUIRED
report (domain | nameserver | contact | registrar | transaction | namewatch | defreg) #REQUIRED
type (Full | Incremental) #REQUIRED
version CDATA #FIXED 1.0>






<!ELEMENT registrar (contactid, url, created, modified)
<!ATTLIST registrar
id CDATA #REQUIRED,
status (inactive | ok) #REQUIRED>


<!ELEMENT domain (registrarid, created, expires, modified, nameserverid+, contactid+)>
<!ATTLIST domain
id CDATA #REQUIRED
fqdn CDATA #REQUIRED
status (clientDeleteProhibited | clientHold | clientRenewProhibited | clientTransferProhibited | clientUpdateProhibited | inactive | ok | pendingDelete | pendingTransfer | pendingVerification | serverDeleteProhibited | serverHold | serverRenewProhibited | serverTransferProhibited | serverUpdateProhibited) #REQUIRED>



<!ELEMENT email (registrarid, forward, created, expires, modified, contactid+)>
<!ATTLIST email
id CDATA #REQUIRED
address CDATA #REQUIRED
status (clientDeleteProhibited | clientHold | clientRenewProhibited | clientTransferProhibited | clientUpdateProhibited | inactive | ok | pendingDelete | pendingTransfer | pendingVerification | serverDeleteProhibited | serverHold | serverRenewProhibited | serverTransferProhibited | serverUpdateProhibited) #REQUIRED>



<!ELEMENT nameserver (registrarid, created, modified, ipaddress+)>
<!ATTLIST nameserver
id CDATA #REQUIRED
fqdn CDATA #REQUIRED
status (clientDeleteProhibited | clientUpdateProhibited | linked | ok | pendingDelete | pendingTransfer | serverDeleteProhibited | serverUpdateProhibited) #REQUIRED>



<!ELEMENT contact (name, registrarid, address, city, state, country, postcode, telephone, fax, emailaddress, created, modified)>
<!ATTLIST contact
id CDATA #REQUIRED
status (clientDeleteProhibited | clientTransferProhibited | clientUpdateProhibited | linked | ok | pendingDelete | pendingTransfer | serverDeleteProhibited | serverTransferProhibited | serverUpdateProhibited) #REQUIRED>


<!ELEMENT namewatch (registrarid, report, string, wildcard, level, contactid, created, expires, modified)>
<!ATTLIST namewatch
id CDATA #REQUIRED
status (inactive | ok) #REQUIRED>


<!ELEMENT transaction (registrarid, object, timestamp)>
<!ATTLIST transaction
id CDATA #REQUIRED
type (INSERT|DELETE|TRANSFER|UPDATE) #REQUIRED>


<!ELEMENT defensiveregistration (registrarid, string, level, trademarkid, trademarkcountry, tmregdate, contactid+, created, expires, modified)>
<!ATTLIST defensiveregistration
id CDATA #REQUIRED
status (clientDeleteProhibited | clientHold | clientRenewProhibited | clientTransferProhibited | clientUpdateProhibited | inactive | ok | pendingDelete | pendingTransfer | pendingVerification | serverDeleteProhibited | serverHold | serverRenewProhibited | serverTransferProhibited | serverUpdateProhibited) #REQUIRED>


<!ELEMENT name (#PCDATA)>

<!ELEMENT address (#PCDATA)>

<!ELEMENT city (#PCDATA)>

<!ELEMENT state (#PCDATA)>

<!ELEMENT country (#PCDATA)>

<!ELEMENT postcode (#PCDATA)>

<!ELEMENT telephone (#PCDATA)>

<!ELEMENT url (#PCDATA)>

<!ELEMENT created (#PCDATA)>

<!ELEMENT modified (#PCDATA)>

<!ELEMENT expires (#PCDATA)>

<!ELEMENT registrarid (#PCDATA)>

<!ELEMENT nameserverid (#PCDATA)>

<!ELEMENT contactid (#PCDATA)>
<!ATTLIST contactid
type (REGISTRANT|REGISTRAR|ADMINISTRATIVE|BILLING|TECHNICAL) #REQUIRED>

<!ELEMENT forward (#PCDATA)>

<!ELEMENT ipaddress (#PCDATA)>

<!ELEMENT fax (#PCDATA)>

<!ELEMENT emailaddress (#PCDATA)>

<!ELEMENT report EMPTY>
<!ATTLIST report
type (DAILY|WEEKLY|MONTHLY) #REQUIRED>

<!ELEMENT string (#PCDATA)>

<!ELEMENT wildcard EMPTY>
<!ATTLIST wildcard
type (STARTS_WITH|CONTAINS|ENDS_WITH) #REQUIRED>

<!ELEMENT level EMPTY>
<!ATTLIST level
type (SECOND|THIRD|BOTH) #REQUIRED>

<!ELEMENT object (#PCDATA)>
<!ATTLIST object
type (DOMAIN|EMAIL|NAMESERVER|CONTACT|NAMEWATCH|DEFREG) #REQUIRED>

<!ELEMENT timestamp (#PCDATA)>

<!ELEMENT trademarkid (#PCDATA)>

<!ELEMENT trademarkcountry (#PCDATA)>

<!ELEMENT tmregdate (#PCDATA)>

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 files making up the Deposit will first be generated 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: "nameSEQN", 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 640MB 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. Thereafter encrypt the files using escrow agent's public key for PGP and signed using Registry Operator's private key for PGP, both versions 6.5.1 or above, with a key of DH/DSS type and 2048/1024-byte length. The file will be named in the form <TLD>CCYYMMDD.PGP (e.g. name20010810.PGP). (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, e-mail, or similar, which will be agreed by Registry Operator and the escrow agent, starting within the specified time window. The Registry Operator appreciates that after a certain period of time, the size of the files requiring transfer to escrow may exceed a size that will be safe for electronic transmission. At that time manual procedures will be developed to ensure that the escrow transfer obligations of the Registry continue to be complied with.

Exhibit D- Escrow Verification Procedures

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

1. When the transfer is done, 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. The PGP software must be compatible to the software specified in Exhibit C and this will additionally decompress the data therein.

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

4. The escrow agent will run a program on the Deposit file (without report) that will split it into 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 and the database dropped 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 24-Dec-2002

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