| Internet-Draft | EAI in JSContact | October 2026 |
| Loffredo & Stepanek | Expires 3 May 2027 | [Page] |
JSContact defines the EmailAddress object for representing an email address, but its address property is restricted to the ASCII syntax of an addr-spec in RFC 5322. This document redefines that property to also support internationalized email addresses, as defined in RFC 6532. Since such values are incompatible with JSContact version 2.0, this document defines JSContact version 3.0. This document updates RFC 9553.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 4 April 2027.¶
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
[RFC9553] defines the EmailAddress address property as an addr-spec value conforming to Section 3.4.1 of [RFC5322]. That syntax does not allow non-ASCII characters in a mailbox local-part. However, Email Address Internationalization (EAI) [RFC6530] extends Internet mail to allow UTF-8 characters in email addresses. In particular, Section 3.2 of [RFC6532] defines the relevant extensions to the syntax specified in [RFC5322].¶
This document extends the syntax of the EmailAddress address property to also allow internationalized email addresses and defines JSContact version 3.0, which succeeds version 2.0 [RFC9982].¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
In this document, an addr-spec that contains at least one non-ASCII character is called an internationalized email address.¶
This document defines JSContact version "3.0". The values newly permitted for the address property by Section 4 can be rejected by an implementation of JSContact version 2.0 [RFC9982], so this change is backwards incompatible according to Section 1.9 of [RFC9553] and requires a new major version.¶
Implementations that create a Card containing an internationalized email address as defined in Section 2 MUST set the Card version property to "3.0" or a later version that permits such an address. In contrast, every Card that is valid according to JSContact version 2.0 is also valid according to version 3.0. Existing data therefore does not need to be migrated merely because version 3.0 has been defined.¶
Except for the change defined in this document, all JSContact version 2.0 definitions remain unchanged.¶
This section replaces the definition of the address property in Section 2.3.1 of [RFC9553]. Its type signature and mandatory status do not change.¶
OLD:¶
address: String (mandatory).¶
The email address. This MUST be an addr-spec value as defined in Section 3.4.1 of [RFC5322].¶
NEW:¶
address: String (mandatory).¶
The email address. This MUST be an addr-spec value as defined in Section 3.4.1 of [RFC5322], extended to support UTF-8 as specified in Section 3.2 of [RFC6532].¶
This document does not define normalization or comparison rules for email addresses. The syntax and interpretation of internationalized email addresses, including the representation of non-ASCII domain names, are as specified in [RFC6532] and the documents it references.¶
{
"@type": "Card",
"version": "3.0",
"language": "zh-Hans",
"name": {
"components": [
{ "kind": "given", "value": "测试" },
{ "kind": "surname", "value": "用户" }
]
},
"emails": {
"e1": {
"address": "用户@例子.example"
}
}
}
How to interoperate with systems that do not support version 3.0 or later is specific to the protocol used to exchange JSContact data and is out of scope for this document.¶
Converting internationalized email addresses from and to vCard [RFC6350] is out of scope for this document; it is addressed in [I-D.ietf-calext-rfc9555bis].¶
IANA is requested to add the following entry to the "JSContact Version" registry in the "JSContact" registry group:¶
| Major Version | Highest Minor Version | Reference |
|---|---|---|
| 3 | 0 | This document |
IANA is requested to add a reference to Section 4 of this document to the "Reference or Description" field of the address property in the EmailAddress context in the "JSContact Properties" registry.¶
The security considerations of Section 4 of [RFC9553] apply. In addition, the security considerations for email addresses in [RFC5322] and [RFC6532] apply.¶
Allowing non-ASCII characters in email addresses increases the risk that visually similar characters will be mistaken for one another. This can be used to create an address that appears to a user to be another address. User interfaces SHOULD make potentially deceptive characters or labels apparent and SHOULD provide a way to inspect the exact address. Implementations MUST preserve the complete address and MUST NOT use display similarity as evidence that two addresses identify the same mailbox.¶