Skip to main content

Universal Acceptance Compliance at ICANN

Universal acceptance compliance 750x350 10oct16 en

Universal Acceptance ensures that all domain names and email addresses can be used by all Internet-enabled applications, devices and systems. It is essential for the continued expansion of the domain name system and provides a gateway to the next billion Internet users.

ICANN's Involvement

ICANN is supporting an initiative lead by the Internet community – including some of the world's leading technology firms – to help organizations and software developers update their systems and services to comply with the principles of Universal Acceptance. In order to comply, software must accept, validate, process, store and display all domain names equally, consistently and correctly.

ICANN and other companies involved in this effort are working to set an example for how other organizations might achieve Universal Acceptance compliance and better understand the challenges these organizations will face. The Universal Acceptance Steering Group is publishing documentation and use cases at:

Achieving Universal Acceptance Compliance Within ICANN

Problem Statement

As of mid-2016, ICANN has 87 different systems and services. Forty-one of these are "off-the-shelf," meaning that our only means of altering them is by asking the service provider to update their systems, or to find another solution. The remaining 46 systems and services are custom – these are in our control. Every field or line of code in their software that needs to process an email address or URL must be able to accept Unicode as part of a top-level domain.


Universal Acceptance does not need to be a separate project. Efforts can be integrated into normal, ongoing maintenance that companies already undertake to ensure their systems are current.

ICANN is updating its systems and services in an opportunistic manner. We practice agile development, so if we crack open the code to make security updates or add new functionality, we'll also update the service or system so that it complies with Universal Acceptance principles. Even when we aren't updating a system, we're logging stories about Universal Acceptance so our developers will have everything at their fingertips when our roadmap tells us it's time to make updates. We're also making off-roadmap updates whenever we have a few free weeks, or when we're updating systems and software to resolve technology debt.

Plan for Updating Systems

  • Step 1: Map Your Systems and Services. Identify whether they are off-the-shelf or custom, and what coding languages they're built on.
  • Step 2: Choose Systems and Services to Pilot. Within the pool of custom systems, select one system from each coding language.
  • Step 3: Fix Your Code. For each pilot system, locate all instances in the code that process email addresses or URLs. Update the code to accept Unicode as part of a top-level domain.
  • Step 4: Test Your Updates. Develop a testing environment for each pilot system and test each instance identified in Step 3. The testing environment must be able to trap all outgoing emails and DNS queries. Systems managers can determine whether the instances pass or fail the test by reviewing system logs. Continue to test and update until your pilot systems accept all email addresses and URLs. Get test materials.
  • Step 5: Update Systems and Services. Follow your roadmap and/or utilize free time to fix and test systems on a rolling basis until all comply with Universal Acceptance principles.

Current Status & Next Steps

ICANN began its Universal Acceptance Compliance initiative in March 2016. We are currently in Step 4: Test Your Updates. Specifically, we have developed a testing environment for systems built on Ruby on Rails and we're developing the testing environment for Java. This step is crucial because once these environments are built, the amount of time it takes to test and fix each system or service will continually decrease.

We completed updates to (Ruby on Rails) in September 2016 and we expect to complete updates to (Java) in October 2016. We hope to begin Step 5 of our plan, updating systems on a rolling basis, by December 2016.


    temanmovie  07:30 UTC on 29 November 2016

    togel singapora poker online nonton movie

    temanmovie  07:30 UTC on 29 November 2016

    dhoni  22:16 UTC on 13 December 2017

    A debt of gratitude is in order for the well composed the post. It has awesome and fascinating data.

Domain Name System
Internationalized Domain Name ,IDN,"IDNs are domain names that include characters used in the local representation of languages that are not written with the twenty-six letters of the basic Latin alphabet ""a-z"". An IDN can contain Latin letters with diacritical marks, as required by many European languages, or may consist of characters from non-Latin scripts such as Arabic or Chinese. Many languages also use other types of digits than the European ""0-9"". The basic Latin alphabet together with the European-Arabic digits are, for the purpose of domain names, termed ""ASCII characters"" (ASCII = American Standard Code for Information Interchange). These are also included in the broader range of ""Unicode characters"" that provides the basis for IDNs. The ""hostname rule"" requires that all domain names of the type under consideration here are stored in the DNS using only the ASCII characters listed above, with the one further addition of the hyphen ""-"". The Unicode form of an IDN therefore requires special encoding before it is entered into the DNS. The following terminology is used when distinguishing between these forms: A domain name consists of a series of ""labels"" (separated by ""dots""). The ASCII form of an IDN label is termed an ""A-label"". All operations defined in the DNS protocol use A-labels exclusively. The Unicode form, which a user expects to be displayed, is termed a ""U-label"". The difference may be illustrated with the Hindi word for ""test"" — परीका — appearing here as a U-label would (in the Devanagari script). A special form of ""ASCII compatible encoding"" (abbreviated ACE) is applied to this to produce the corresponding A-label: xn--11b5bs1di. A domain name that only includes ASCII letters, digits, and hyphens is termed an ""LDH label"". Although the definitions of A-labels and LDH-labels overlap, a name consisting exclusively of LDH labels, such as"""" is not an IDN."