DomainsIP-5: Text Records
A standard for storage of text records in Domains.
Abstract
This DomainsIP defines a resolver profile for Domains that permits the lookup of arbitrary key-value text data. This allows Domains name holders to associate e-mail addresses, URLs and other informational data with a Domains name.
Motivation
There is often a desire for human-readable metadata to be associated with otherwise machine-driven data; used for debugging, maintenance, reporting and general information.
In this DomainsIP we define a simple resolver profile for Domains that permits Domains names to associate arbitrary key-value text.
Specification
Resolver Profile
A new resolver interface is defined, consisting of the following method:
The text
data may be any arbitrary UTF-8 string. If the key is not present, the empty string must be returned.
Global Keys
Global Keys must be made up of lowercase letters, numbers and the hyphen (-).
avatar - a URL to an image used as an avatar or logo
description - A description of the name
display - a canonical display name for the Domains name; this MUST match the Domains name when its case is folded, and clients should ignore this value if it does not (e.g.
"ricmoo.tomi"
could set this to"RicMoo.tomi"
)email - an e-mail address
keywords - A list of comma-separated keywords, ordered by most significant first; clients that interpresent this field may choose a threshold beyond which to ignore
mail - A physical mailing address
notice - A notice regarding this name
location - A generic location (e.g.
"Toronto, Canada"
)phone - A phone number as an E.164 string
url - a website URL
Service Keys
Service Keys must be made up of a reverse dot notation for a namespace which the service owns, for example, DNS names (e.g. .com
, .io
, etc) or Domains name (i.e. .tomi
). Service Keys must contain at least one dot.
This allows new services to start using their own keys without worrying about colliding with existing services and also means new services do not need to update this document.
Legacy Keys
The following keys were specified in earlier versions of this DomainsIP.
Their use is not likely very wide, but applications attempting maximal compatibility may wish to query these keys as a fallback if the above replacement keys fail.
Rationale
Application-specific vs general-purpose record types
Rather than define a large number of specific record types (each for generally human-readable data) such as url
and email
, we follow an adapted model of DNS's TXT
records, which allow for a general keys and values, allowing future extension without adjusting the resolver, while allowing applications to use custom keys for their own purposes.
Last updated