5.4. The IP Network Object Class
The IP network object class models IP network registrations found in RIRs and is the expected response for the "/ip" query as defined by [RFC7482]. There is no equivalent object class for DNRs. The high- level structure of the IP network object class consists of information about the network registration and entities related to the IP network (e.g., registrant information, contacts, etc.). The following is an elided example of the IP network object type showing the high-level structure: { "objectClassName" : "ip network", "handle" : "XXX", ... "entities" : [ ... ] } Figure 25 The following is an example of the JSON object for the network registration information. { "objectClassName" : "ip network", "handle" : "XXXX-RIR", "startAddress" : "2001:db8::", "endAddress" : "2001:db8:0:ffff:ffff:ffff:ffff:ffff", "ipVersion" : "v6", "name": "NET-RTR-1", "type" : "DIRECT ALLOCATION", "country" : "AU", "parentHandle" : "YYYY-RIR", "status" : [ "active" ], "remarks" : [ { "description" : [ "She sells sea shells down by the sea shore.", "Originally written by Terry Sullivan." ] } ],
"links" :
[
{
"value" : "http://example.net/ip/2001:db8::/48",
"rel" : "self",
"href" : "http://example.net/ip/2001:db8::/48",
"type" : "application/rdap+json"
},
{
"value" : "http://example.net/ip/2001:db8::/48",
"rel" : "up",
"href" : "http://example.net/ip/2001:C00::/23",
"type" : "application/rdap+json"
}
],
"events" :
[
{
"eventAction" : "registration",
"eventDate" : "1990-12-31T23:59:59Z"
},
{
"eventAction" : "last changed",
"eventDate" : "1991-12-31T23:59:59Z"
}
],
"entities" :
[
{
"objectClassName" : "entity",
"handle" : "XXXX",
"vcardArray":[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "Joe User"],
["kind", {}, "text", "individual"],
["lang", {
"pref":"1"
}, "language-tag", "fr"],
["lang", {
"pref":"2"
}, "language-tag", "en"],
["org", {
"type":"work"
}, "text", "Example"],
["title", {}, "text", "Research Scientist"],
["role", {}, "text", "Project Lead"],
["adr",
{ "type":"work" },
"text",
[
"",
"Suite 1234",
"4321 Rue Somewhere",
"Quebec",
"QC",
"G1V 2M2",
"Canada"
]
],
["tel",
{ "type":["work", "voice"], "pref":"1" },
"uri", "tel:+1-555-555-1234;ext=102"
],
["email",
{ "type":"work" },
"text", "joe.user@example.com"
]
]
],
"roles" : [ "registrant" ],
"remarks" :
[
{
"description" :
[
"She sells sea shells down by the sea shore.",
"Originally written by Terry Sullivan."
]
}
],
"links" :
[
{
"value" : "http://example.net/entity/xxxx",
"rel" : "self",
"href" : "http://example.net/entity/xxxx",
"type" : "application/rdap+json"
}
],
"events" :
[
{
"eventAction" : "registration",
"eventDate" : "1990-12-31T23:59:59Z"
}, { "eventAction" : "last changed", "eventDate" : "1991-12-31T23:59:59Z" } ] } ] } Figure 26 The IP network object class can contain the following members: o objectClassName -- the string "ip network" o handle -- a string representing an RIR-unique identifier of the network registration o startAddress -- the starting IP address of the network, either IPv4 or IPv6 o endAddress -- the ending IP address of the network, either IPv4 or IPv6 o ipVersion -- a string signifying the IP protocol version of the network: "v4" signifies an IPv4 network, and "v6" signifies an IPv6 network o name -- an identifier assigned to the network registration by the registration holder o type -- a string containing an RIR-specific classification of the network o country -- a string containing the two-character country code of the network o parentHandle -- a string containing an RIR-unique identifier of the parent network of this network registration o status -- an array of strings indicating the state of the IP network o entities -- an array of entity objects as defined by Section 5.1 o remarks -- see Section 4.3
o links -- see Section 4.2 o port43 -- see Section 4.7 o events -- see Section 4.55.5. Autonomous System Number Entity Object Class
The Autonomous System number (autnum) object class models Autonomous System number registrations found in RIRs and represents the expected response to an "/autnum" query as defined by [RFC7482]. There is no equivalent object class for DNRs. The high-level structure of the autnum object class consists of information about the network registration and entities related to the autnum registration (e.g., registrant information, contacts, etc.) and is similar to the IP network entity object class. The following is an example of a JSON object representing an autnum. { "objectClassName" : "autnum", "handle" : "XXXX-RIR", "startAutnum" : 10, "endAutnum" : 15, "name": "AS-RTR-1", "type" : "DIRECT ALLOCATION", "status" : [ "active" ], "country": "AU", "remarks" : [ { "description" : [ "She sells sea shells down by the sea shore.", "Originally written by Terry Sullivan." ] } ], "links" : [ { "value" : "http://example.net/autnum/xxxx", "rel" : "self", "href" : "http://example.net/autnum/xxxx", "type" : "application/rdap+json" } ], "events" :
[
{
"eventAction" : "registration",
"eventDate" : "1990-12-31T23:59:59Z"
},
{
"eventAction" : "last changed",
"eventDate" : "1991-12-31T23:59:59Z"
}
],
"entities" :
[
{
"objectClassName" : "entity",
"handle" : "XXXX",
"vcardArray":[
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "Joe User"],
["kind", {}, "text", "individual"],
["lang", {
"pref":"1"
}, "language-tag", "fr"],
["lang", {
"pref":"2"
}, "language-tag", "en"],
["org", {
"type":"work"
}, "text", "Example"],
["title", {}, "text", "Research Scientist"],
["role", {}, "text", "Project Lead"],
["adr",
{ "type":"work" },
"text",
[
"",
"Suite 1234",
"4321 Rue Somewhere",
"Quebec",
"QC",
"G1V 2M2",
"Canada"
]
],
["tel",
{ "type":["work", "voice"], "pref":"1" },
"uri", "tel:+1-555-555-1234;ext=102"
], ["email", { "type":"work" }, "text", "joe.user@example.com" ] ] ], "roles" : [ "registrant" ], "remarks" : [ { "description" : [ "She sells sea shells down by the sea shore.", "Originally written by Terry Sullivan." ] } ], "links" : [ { "value" : "http://example.net/entity/XXXX", "rel" : "self", "href" : "http://example.net/entity/XXXX", "type" : "application/rdap+json" } ], "events" : [ { "eventAction" : "registration", "eventDate" : "1990-12-31T23:59:59Z" }, { "eventAction" : "last changed", "eventDate" : "1991-12-31T23:59:59Z" } ] } ] } Figure 27
The Autonomous System number object class can contain the following members: o objectClassName -- the string "autnum" o handle -- a string representing an RIR-unique identifier of the autnum registration o startAutnum -- a number representing the starting number [RFC5396] in the block of Autonomous System numbers o endAutnum -- a number representing the ending number [RFC5396] in the block of Autonomous System numbers o name -- an identifier assigned to the autnum registration by the registration holder o type -- a string containing an RIR-specific classification of the autnum o status -- an array of strings indicating the state of the autnum o country -- a string containing the name of the two-character country code of the autnum o entities -- an array of entity objects as defined by Section 5.1 o remarks -- see Section 4.3 o links -- see Section 4.2 o port43 -- see Section 4.7 o events -- see Section 4.56. Error Response Body
Some non-answer responses may return entity bodies with information that could be more descriptive. The basic structure of that response is an object class containing an error code number (corresponding to the HTTP response code) followed by a string named "title" and an array of strings named "description".
This is an example of the common response body. { "errorCode": 418, "title": "Your Beverage Choice is Not Available", "description": [ "I know coffee has more ummppphhh.", "Sorry, dude!" ] } Figure 28
This is an example of the common response body with an rdapConformance and notices data structures: { "rdapConformance" : [ "rdap_level_0" ], "notices" : [ { "title" : "Beverage Policy", "description" : [ "Beverages with caffeine for keeping horses awake." ], "links" : [ { "value" : "http://example.net/ip/192.0.2.0/24", "rel" : "alternate", "type" : "text/html", "href" : "http://www.example.com/redaction_policy.html" } ] } ], "lang" : "en", "errorCode": 418, "title": "Your beverage choice is not available", "description": [ "I know coffee has more ummppphhh.", "Sorry, dude!" ] } Figure 29
7. Responding to Help Queries
The appropriate response to /help queries as defined by [RFC7482] is to use the notices structure as defined in Section 4.3. This is an example of a response to a /help query including the rdapConformance data structure. { "rdapConformance" : [ "rdap_level_0" ], "notices" : [ { "title" : "Authentication Policy", "description" : [ "Access to sensitive data for users with proper credentials." ], "links" : [ { "value" : "http://example.net/help", "rel" : "alternate", "type" : "text/html", "href" : "http://www.example.com/auth_policy.html" } ] } ] } Figure 308. Responding To Searches
[RFC7482] specifies three types of searches: domains, nameservers, and entities. Responses to these searches take the form of an array of object instances where each instance is an appropriate object class for the search (i.e., a search for /domains yields an array of domain object instances). These arrays are contained within the response object.
The names of the arrays are as follows: o for /domains searches, the array is "domainSearchResults" o for /nameservers searches, the array is "nameserverSearchResults" o for /entities searches, the array is "entitySearchResults" The following is an elided example of a response to a /domains search. { "rdapConformance" : [ "rdap_level_0" ], ... "domainSearchResults" : [ { "objectClassName" : "domain", "handle" : "1-XXXX", "ldhName" : "1.example.com", ... }, { "objectClassName" : "domain", "handle" : "2-XXXX", "ldhName" : "2.example.com", ... } ] } Figure 319. Indicating Truncated Responses
In cases where the data of a response needs to be limited or parts of the data need to be omitted, the response is considered "truncated". A truncated response is still valid JSON, but some of the results in a search set or some of the data in an object are not provided by the server. A server may indicate this by including a typed notice in the response object. The following is an elided example of a search response that has been truncated.
{ "rdapConformance" : [ "rdap_level_0" ], "notices" : [ { "title" : "Search Policy", "type" : "result set truncated due to authorization", "description" : [ "Search results are limited to 25 per day per querying IP." ], "links" : [ { "value" : "http://example.net/help", "rel" : "alternate", "type" : "text/html", "href" : "http://www.example.com/search_policy.html" } ] } ], "domainSearchResults" : [ ... ] } Figure 32 A similar technique can be used with a typed remark where a single object has been returned and data in that object has been truncated. Such an example might be an entity object with only a partial set of the IP networks associated with it.
The following is an elided example of an entity truncated data. { "objectClassName" : "entity", "handle" : "ANENTITY", "roles" : [ "registrant" ], ... "entities" : [ { "objectClassName" : "entity", "handle": "ANEMBEDDEDENTITY", "roles" : [ "technical" ], ... }, ... ], "networks" : [ ... ], ... "remarks" : [ { "title" : "Data Policy", "type" : "object truncated due to unexplainable reason", "description" : [ "Some of the data in this object has been removed." ], "links" : [ { "value" : "http://example.net/help", "rel" : "alternate", "type" : "text/html", "href" : "http://www.example.com/data_policy.html" } ] } ] } Figure 33
10. IANA Considerations
10.1. RDAP JSON Media Type Registration
This specification registers the "application/rdap+json" media type. Type name: application Subtype name: rdap+json Required parameters: n/a Encoding considerations: See Section 3.1 of [RFC6839]. Security considerations: The media represented by this identifier does not have security considerations beyond that found in Section 6 of [RFC7159]. Interoperability considerations: There are no known interoperability problems regarding this media format. Published specification: RFC 7483 Applications that use this media type: Implementations of the Registration Data Access Protocol (RDAP). Additional information: This media type is a product of the IETF WEIRDS working group. The WEIRDS charter, information on the WEIRDS mailing list, and other documents produced by the WEIRDS working group can be found at <https://datatracker.ietf.org/wg/weirds/>. Person & email address to contact for further information: IESG <iesg@ietf.org> Intended usage: COMMON Restrictions on usage: none Author: Andy Newton Change controller: IETF Provisional Registration: No (upon publication of this RFC)
10.2. JSON Values Registry
IANA has created a category in the protocol registries labeled "Registration Data Access Protocol (RDAP)", and within that category, IANA has established a URL-referenceable, stand-alone registry labeled "RDAP JSON Values". This new registry is for use in the notices and remarks (Section 4.3), status (Section 4.6), role (Section 5.1), event action (Section 4.5), and domain variant relation (Section 5.3) fields specified in RDAP. Each entry in the registry contains the following fields: 1. Value -- the string value being registered. 2. Type -- the type of value being registered. It should be one of the following: * "notice or remark type" -- denotes a type of notice or remark. * "status" -- denotes a value for the "status" object member as defined by Section 4.6. * "role" -- denotes a value for the "role" array as defined in Section 5.1. * "event action" -- denotes a value for an event action as defined in Section 4.5. * "domain variant relation" -- denotes a relationship between a domain and a domain variant as defined in Section 5.3. 3. Description -- a one- or two-sentence description regarding the meaning of the value, how it might be used, and/or how it should be interpreted by clients. 4. Registrant Name -- the name of the person registering the value. 5. Registrant Contact Information -- an email address, postal address, or some other information to be used to contact the registrant. This registry is operated under the "Expert Review" policy defined in [RFC5226].
Review of registrations into this registry by the designated expert(s) should be narrowly judged on the following criteria: 1. Values in need of being placed into multiple types must be assigned a separate registration for each type. 2. Values must be strings. They should be multiple words separated by single space characters. Every character should be lowercased. If possible, every word should be given in English and each character should be US-ASCII. 3. Registrations should not duplicate the meaning of any existing registration. That is, if a request for a registration is significantly similar in nature to an existing registration, the request should be denied. For example, the terms "maintainer" and "registrant" are significantly similar in nature as they both denote a holder of a domain name or Internet number resource. In cases where it may be reasonably argued that machine interpretation of two similar values may alter the operation of client software, designated experts should not judge the values to be of significant similarity. 4. Registrations should be relevant to the common usages of RDAP. Designated experts may rely upon the serving of the value by a DNR or RIR to make this determination. The following sections provide initial registrations into this registry.10.2.1. Notice and Remark Types
The following values have been registered in the "RDAP JSON Values" registry: Value: result set truncated due to authorization Type: notice and remark type Description: The list of results does not contain all results due to lack of authorization. This may indicate to some clients that proper authorization will yield a longer result set. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org
Value: result set truncated due to excessive load Type: notice and remark type Description: The list of results does not contain all results due to an excessively heavy load on the server. This may indicate to some clients that requerying at a later time will yield a longer result set. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: result set truncated due to unexplainable reasons Type: notice and remark type Description: The list of results does not contain all results for an unexplainable reason. This may indicate to some clients that requerying for any reason will not yield a longer result set. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: object truncated due to authorization Type: notice and remark type Description: The object does not contain all data due to lack of authorization. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: object truncated due to excessive load Type: notice and remark type Description: The object does not contain all data due to an excessively heavy load on the server. This may indicate to some clients that requerying at a later time will yield all data of the object. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: object truncated due to unexplainable reasons Type: notice and remark type Description: The object does not contain all data for an unexplainable reason. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org
10.2.2. Status
The following values have been registered in the "RDAP JSON Values" registry: Value: validated Type: status Description: Signifies that the data of the object instance has been found to be accurate. This type of status is usually found on entity object instances to note the validity of identifying contact information. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: renew prohibited Type: status Description: Renewal or reregistration of the object instance is forbidden. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: update prohibited Type: status Description: Updates to the object instance are forbidden. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: transfer prohibited Type: status Description: Transfers of the registration from one registrar to another are forbidden. This type of status normally applies to DNR domain names. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: delete prohibited Type: status Description: Deletion of the registration of the object instance is forbidden. This type of status normally applies to DNR domain names. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org
Value: proxy Type: status Description: The registration of the object instance has been performed by a third party. This is most commonly applied to entities. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: private Type: status Description: The information of the object instance is not designated for public consumption. This is most commonly applied to entities. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: removed Type: status Description: Some of the information of the object instance has not been made available and has been removed. This is most commonly applied to entities. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: obscured Type: status Description: Some of the information of the object instance has been altered for the purposes of not readily revealing the actual information of the object instance. This is most commonly applied to entities. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: associated Type: status Description: The object instance is associated with other object instances in the registry. This is most commonly used to signify that a nameserver is associated with a domain or that an entity is associated with a network resource or domain. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org
Value: active Type: status Description: The object instance is in use. For domain names, it signifies that the domain name is published in DNS. For network and autnum registrations, it signifies that they are allocated or assigned for use in operational networks. This maps to the "OK" status of the Extensible Provisioning Protocol (EPP) [RFC5730] . Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: inactive Type: status Description: The object instance is not in use. See "active". Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: locked Type: status Description: Changes to the object instance cannot be made, including the association of other object instances. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: pending create Type: status Description: A request has been received for the creation of the object instance, but this action is not yet complete. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: pending renew Type: status Description: A request has been received for the renewal of the object instance, but this action is not yet complete. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org
Value: pending transfer Type: status Description: A request has been received for the transfer of the object instance, but this action is not yet complete. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: pending update Type: status Description: A request has been received for the update or modification of the object instance, but this action is not yet complete. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: pending delete Type: status Description: A request has been received for the deletion or removal of the object instance, but this action is not yet complete. For domains, this might mean that the name is no longer published in DNS but has not yet been purged from the registry database. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org10.2.3. Event Actions
The following values have been registered in the "RDAP JSON Values" registry: Value: registration Type: event action Description: The object instance was initially registered. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: reregistration Type: event action Description: The object instance was registered subsequently to initial registration. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org
Value: last changed Type: event action Description: An action noting when the information in the object instance was last changed. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: expiration Type: event action Description: The object instance has been removed or will be removed at a predetermined date and time from the registry. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: deletion Type: event action Description: The object instance was removed from the registry at a point in time that was not predetermined. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: reinstantiation Type: event action Description: The object instance was reregistered after having been removed from the registry. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: transfer Type: event action Description: The object instance was transferred from one registrant to another. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: locked Type: event action Description: The object instance was locked (see the "locked" status). Registrant Name: IESG Registrant Contact Information: iesg@ietf.org
Value: unlocked Type: event action Description: The object instance was unlocked (see the "locked" status). Registrant Name: IESG Registrant Contact Information: iesg@ietf.org10.2.4. Roles
The following values have been registered in the "RDAP JSON Values" registry: Value: registrant Type: role Description: The entity object instance is the registrant of the registration. In some registries, this is known as a maintainer. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: technical Type: role Description: The entity object instance is a technical contact for the registration. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: administrative Type: role Description: The entity object instance is an administrative contact for the registration. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: abuse Type: role Description: The entity object instance handles network abuse issues on behalf of the registrant of the registration. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org
Value: billing Type: role Description: The entity object instance handles payment and billing issues on behalf of the registrant of the registration. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: registrar Type: role Description: The entity object instance represents the authority responsible for the registration in the registry. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: reseller Type: role Description: The entity object instance represents a third party through which the registration was conducted (i.e., not the registry or registrar). Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: sponsor Type: role Description: The entity object instance represents a domain policy sponsor, such as an ICANN-approved sponsor. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: proxy Type: role Description: The entity object instance represents a proxy for another entity object, such as a registrant. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: notifications Type: role Description: An entity object instance designated to receive notifications about association object instances. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org
Value: noc Type: role Description: The entity object instance handles communications related to a network operations center (NOC). Registrant Name: IESG Registrant Contact Information: iesg@ietf.org10.2.5. Variant Relations
The following values have been registered in the "RDAP JSON Values" registry: Value: registered Type: domain variant relation Description: The variant names are registered in the registry. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: unregistered Type: domain variant relation Description: The variant names are not found in the registry. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: registration restricted Type: domain variant relation Description: Registration of the variant names is restricted to certain parties or within certain rules. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org Value: open registration Type: domain variant relation Description: Registration of the variant names is available to generally qualified registrants. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org
Value: conjoined Type: domain variant relation Description: Registration of the variant names occurs automatically with the registration of the containing domain registration. Registrant Name: IESG Registrant Contact Information: iesg@ietf.org11. Security Considerations
This specification models information serialized in JSON format. As JSON is a subset of JavaScript, implementations are advised to follow the security considerations outlined in Section 6 of [RFC7159] to prevent code injection. Though not specific to JSON, RDAP implementers should be aware of the security considerations specified in [RFC7480] and the security requirements and considerations in [RFC7481]. Clients caching data, especially clients using RDAP-specific caches (instead of HTTP-layer caches), should have safeguards to prevent cache poisoning. See Section 5 for advice on using the self links for caching. Finally, service operators should be aware of the privacy mechanisms noted in Section 13.12. Internationalization Considerations
12.1. Character Encoding
The default text encoding for JSON responses in RDAP is UTF-8 [RFC3629], and all servers and clients MUST support UTF-8.12.2. URIs and IRIs
[RFC7480] defines the use of URIs and IRIs in RDAP.12.3. Language Tags
Section 4.4 defines the use of language tags in the JSON responses defined in this document.
12.4. Internationalized Domain Names
IDNs are denoted in this specification by the separation of DNS names in LDH form and Unicode form (see Section 3). Representation of IDNs in registries is described by the "variants" object in Section 5.3 and the suggested values listed in Section 10.2.5.13. Privacy Considerations
This specification suggests status values to denote contact and registrant information that has been marked as private and/or has been removed or obscured. See Section 10.2.2 for the complete list of status values. A few of the status values indicate that there are privacy concerns associated with the object instance. The following status codes SHOULD be used to describe data elements of a response when appropriate: private -- The object is not be shared in query responses, unless the user is authorized to view this information. removed -- Data elements within the object have been collected but have been omitted from the response. This option can be used to prevent unauthorized access to associated object instances without the need to mark them as private. obscured -- Data elements within the object have been collected, but the response value has been altered so that values are not easily discernible. A value changed from "1212" to "XXXX" is an example of obscured data. This option may reveal privacy sensitive information and should only be used when data sensitivity does not require a more protective option like "private" or "removed". See Appendix A.1 for an example of applying those values to contacts and registrants.