RFC 7444
Security Labels in Internet Email
Security Labels in Internet Email ๐ (RFC 7444, February 2015)
Okay bestie, let's get into RFC 7444 ๐ It was written by K. Zeilenga and A. Melnikov from Isode Limited, and it's an Independent Submission in the Informational category ๐ (ISSN 2070-1721). It doesn't list anything it obsoletes or updates, so there's nothing to chase there ๐ฆ
Abstract โจ
This doc is about a header field called SIO-Label for Internet email ๐ It lets you show how sensitive a message is, with a textual version (a display marking), a structured version (a security label), or both. There's also a second header, SIO-Label-History, that keeps track of any changes to the message's label ๐ฐ๏ธ
Status of This Memo ๐งพ
Real talk: this is NOT an Internet Standards Track spec. It's published just for information ๐ธ
This is a contribution to the RFC Series, independent of any other RFC stream. The RFC Editor picked to publish it at their own discretion, and they make no claims about whether it's good to implement or deploy ๐คทโโ๏ธ Documents the RFC Editor approves aren't eligible for any level of Internet Standard. See Section 2 of RFC 5741 for the details ๐
More info about the current status, any errata, and how to give feedback lives at http://www.rfc-editor.org/info/rfc7444 ๐
Copyright Notice ยฉ๏ธ
Copyright (c) 2015 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 (http://trustee.ietf.org/license-info) as they stand on the date this document was published. Please read these carefully, because they spell out your rights and restrictions for this document ๐
Table of Contents ๐๏ธ
1. Introduction ....................................................2
1.1. Relationship to Inline Sensitivity Markings ................3
1.2. Relationship to Preexisting Security Label Header Fields ...4
1.3. Relationship to Enhanced Security Services for S/MIME ......4
2. Conventions Used in This Document ...............................5
3. Overview ........................................................5
4. The SIO-Label Header Field ......................................6
5. The SIO-Label-History Header Field ..............................9
6. IANA Considerations ............................................12
7. Security Considerations ........................................12
8. References .....................................................14
8.1. Normative References ......................................14
8.2. Informative References ....................................15
Acknowledgements ..................................................16
Authors' Addresses ................................................16
1. Introduction ๐
Okay so a security label (sometimes called a confidentiality label) is a structured way of saying how sensitive a piece of information is ๐ You can pair it with a clearance, which is a structured way of saying what sensitive info a person (or other entity) is allowed to access, plus a security policy, and together they control who gets to see each piece of info. For example, an email could carry an "EXAMPLE CONFIDENTIAL" label, which means the sender and the receiver both need a clearance that grants access to info labeled "EXAMPLE CONFIDENTIAL". X.841 [X.841] has a whole discussion of security labels, clearances, and security policy ๐
A display marking is a textual version of how sensitive something is. "EXAMPLE CONFIDENTIAL" is a textual representation of the sensitivity, for instance ๐ A security policy can generate display markings from security labels, and display markings are generally expected to be shown prominently whenever the content is displayed ๐
Sensitivity-based authorization shows up in networks that run on a set of information classification rules, like government and military agency networks ๐ช The standardized formats for security labels, clearances, security policy, and the associated authorization models are generalized, so they can be used in non-government deployments where that makes sense โจ
Security labels can be used for stuff other than authorization too ๐ง They can simply convey how sensitive a piece of information is, and they could be used, for instance, to organize content in a content store ๐๏ธ
This document describes a protocol for conveying how sensitive an electronic mail message [RFC5322] is as a whole ๐ Specifically, it describes a header field, SIO-Label, that carries a security label, a display marking, and display colors. It also describes a header field, SIO-Label-History, that records changes to the message's security label ๐ฆ
This protocol is partly based on "XEP-0258: Security Labels in XMPP" [XEP258] ๐ซถ
1.1. Relationship to Inline Sensitivity Markings ๐๏ธ
In environments where messages have to be marked with how sensitive they are, it's really common to put a textual version of the sensitivity (a display marking) in the message body and/or in the Subject header field ๐ญ For instance, the authors often receive messages of the form:
To: author <author@example.com>;
From: Some One <someone@example.net>;
Subject: the subject (UNCLASSIFIED)
UNCLASSIFIED
Text of the message.
UNCLASSIFIED
When the marking goes in the body, it usually shows up as the first line(s) of text, which is called a FLOT (First Line(s) of Text) marking ๐ธ The marking may or may not be surrounded by other text that makes it clear the marking is about the sensitivity of the message. A FLOT can also come with a LLOT (Last Line(s) of Text) marking ๐ The message above has a two-line FLOT and a two-line LLOT. In both cases there's a line with the marking and an empty line between the marking and the original content ๐
When the marking goes in the Subject, it's usually put before or after the original Subject text, wrapped in parentheses or something similar, and/or separated from the content by white space ๐
How inline sensitivity markings work, their syntax and their semantics, is generally a local matter ๐ That makes it hard for an organization to act on them consistently, and even harder for cooperating organizations to share sensitivity info in a useful way ๐ตโ๐ซ
The authors expect these markings to keep being widely used, especially since there isn't ubiquitous support yet for a standardized header field that shows the sensitivity of a message ๐ง
The authors hope that a formally specified header field can improve interoperability, both within organizations and between them ๐ค
1.2. Relationship to Preexisting Security Label Header Fields ๐๏ธ
A bunch of non-standard header fields, like the X-X411 field, are already used to carry a representation of a message's sensitivity, whether structured or textual ๐งฉ
The authors hope that over time, those preexisting (non-standard) header fields get replaced by the header field described in this document ๐
1.3. Relationship to Enhanced Security Services for S/MIME ๐
Enhanced Security Services for S/MIME (ESS) [RFC2634] offers, among other services, signature services "for content integrity, non-repudiation with the proof of origin, and [securely] binding attributes (such as a security label) to the original content" ๐
You could maybe use the protocol in this document alongside ESS, but this protocol should generally be seen as an alternative to ESS ๐
Note that in ESS, the security label applies to MIME [RFC2045] content, whereas in this protocol, the label applies to the message as a whole ๐จ
Also, in ESS, security labels are securely bound to the MIME content using digital signatures. This protocol doesn't provide message-signing services, so it doesn't securely bind the label to the message, and it doesn't provide content integrity or non-repudiation of the proof of origin ๐ โโ๏ธ
This protocol is designed for situations and environments where message signing isn't necessary to provide sufficient security ๐ท
2. Conventions Used in This Document ๐
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119] ๐ง
The formal syntax specs in this document use the Augmented Backus-Naur Form (ABNF) as described in [RFC5234] ๐ค
The term "base64 encoding" refers to the "Base 64 encoding" defined in Section 4 of [RFC4648] ๐ฌ The term "BER encoding" refers to encoding per the Basic Encoding Rules (BER) as defined in [X.690] ๐งฎ
3. Overview ๐บ๏ธ
A Mail User Agent (MUA) that originates a message can, if it's configured that way, offer the user a menu of sensitivities to pick from ๐ Once the user picks one, the MUA can insert the display marking, foreground and background colors, and security label parameters for that choice into the SIO-Label header field of the message ๐จ
Mail Submission Agents (MSAs), Mail Transfer Agents (MTAs), and Mail Delivery Agents (MDAs) can then, if they're configured to, use the sensitivity info they were given (or the lack of it) to decide whether to accept, forward, or otherwise act on the message as it was submitted ๐ฌ These agents, called Service Agents (SAs) from here on, can also, if configured, change the sensitivity info of the message, like swapping the security label and/or display marking for equivalent representations of the message's sensitivity ๐ SAs that add, modify, or delete the SIO-Label header field SHOULD add an SIO-Label-History header ๐งพ
Receiving MUAs that implement this extension SHALL, when displaying the message, also prominently display the marking (if there is one) conveyed in the SIO-Label header field. If they're policy-aware and configured to display locally generated markings, they can instead show a marking generated from the conveyed label and the governing policy ๐ It's also desirable to display this marking in message listings ๐ If the conveyed marking is displayed, it SHOULD be displayed using the foreground and background colors conveyed in the header field. If the marking was generated from a conveyed label and the governing policy, it SHOULD be displayed using the foreground and background colors conveyed by the governing policy ๐
MUAs aren't expected to make authorization decisions based on the values of the SIO-Label header field, but they can otherwise use the provided sensitivity info (or the lack of it) to decide how to act on the message ๐ซง For instance, the MUA might organize messages in its message store based on the content of this header field ๐๏ธ
4. The SIO-Label Header Field โจ
okay bestie, the header field name is "SIO-Label" ๐ and its content is a set of key/value pairs. Each pair is called a parameter, and they're lowkey the whole personality of this header ๐
Here's the formal header field syntax:
sio-label = "SIO-Label:" [FWS] sio-label-parm-seq [FWS] CRLF
sio-label-parm-seq = sio-label-parm
[ [FWS] ";" [FWS] sio-label-parm-seq ]
sio-label-parm = parameter
The parameter production comes from [RFC2231], the FWS production comes from [RFC5322], and the CRLF production comes from [RFC5234]. ngl, [RFC2231] builds on the ABNF in [RFC0822], and that one implicitly allows white space in certain spots. The big one is right before and after the "=" in a parameter, which is allowed ๐ [RFC2231] also allows quoted-string values that are pretty long, string characters outside of US-ASCII, and other cases like that. Implementors should consult the referenced specifications for details ๐
The "marking" parameter is a display string for implementations that can't, or won't, use the governing security policy to generate display markings ๐ง The "marking" parameter SHOULD generally be provided in SIO-Label header fields. It ought only be absent where an SA relies on other SAs to generate the marking โจ
The "fgcolor" and "bgcolor" parameters are tokens that follow the color production. They set the foreground and background colors for colorizing the display marking string ๐ Their values are either RGB colors in hexadecimal format (like "#ff0000"), or one of the Cascading Style Sheets (CSS) color names (like "red") from the named-color type below. That list is the 16 HTML4 colors plus "orange" [CSS3-Color]. The default foreground color is black, and the default background is white ๐ The "fgcolor" and "bgcolor" parameters SHALL be absent if the "marking" parameter is absent. The HEXDIG production below comes from [RFC5234].
Formal color syntax:
color = hex-color / named-color
hex-color = "#" 6HEXDIG ; Hex-encoded RGB
named-color =
"aqua" /
"black" /
"blue" /
"fuschia" /
"gray" /
"green" /
"lime" /
"maroon" /
"navy" /
"olive" /
"purple" /
"red" /
"silver" /
"teal" /
"white" /
"yellow" /
"orange" ; named colors
The "type" parameter is a quoted string. It holds either the string ":ess", the string ":x411", the string ":xml", or a URI [RFC3986] that says what type and encoding the "label" parameter uses ๐ The "label" parameter value is a quoted string. The "type" parameter SHALL be present if the "label" parameter is present. The "label" parameter SHALL be present if the "type" parameter is present. When sensitivity-based authorization is performed, having no "type" and "label" parameters means the message gets default handling rules, as if no SIO-Label was there at all ๐ฆ
The string ":ess" means the "label" value is the base64 encoding of the BER encoding of an ESS security label [RFC2634] ๐ซถ
ESS Label Example:
SIO-Label: marking="EXAMPLE CONFIDENTIAL";
fgcolor=black; bgcolor=red;
type=":ess"; label="MQYGASkCAQM="
The string ":x411" means the "label" value is the base64 encoding of the BER encoding of an X.411 security label [X.411] ๐
X.411 Label Example:
SIO-Label: marking="EXAMPLE CONFIDENTIAL";
fgcolor=black; bgcolor=red;
type=":x411"; label="MQYGASkCAQM="
The string ":xml" means the "label" value is the base64 encoding of a security label written using [XML] ๐ธ The XML prolog SHOULD be absent unless specifically required (such as when the character encoding is not UTF-8). The exact flavor of security label is shown by the root element name and its name space ๐ฅ
XML Label Example:
SIO-Label: marking="EXAMPLE CONFIDENTIAL";
fgcolor=black; bgcolor=red;
type=":xml";
label*0="PFNlY0xhYmVsIHhtbG5zPSJodHRwOi8vZXhhbX";
label*1="BsZS5jb20vc2VjLWxhYmVsLzAiPjxQb2xpY3lJ";
label*2="ZGVudGlmaWVyIFVSST0idXJuOm9pZDoxLjEiLz";
label*3="48Q2xhc3NpZmljYXRpb24+MzwvQ2xhc3NpZmlj";
label*4="YXRpb24+PC9TZWNMYWJlbD4=";
Here's the XML label with new lines and white space added so it's readable ๐ง
<SecLabel xmlns="http://example.com/sec-label/0">
<PolicyIdentifier URI="urn:oid:1.1"/>
<Classification>3</Classification>
</SecLabel>
The ":ess" and ":x411" formats SHOULD be used to represent ESS or X.411 security labels, respectively, instead of any direct XML representation of these formats. Don't skip this one, it's giving "use the thing that already exists" ๐ โโ๏ธ
The header field SHALL minimally contain a "marking" parameter, or contain both the "type" and "label" parameters. That's the core requirement, periodt ๐
This header field may be extended to add more parameters through a future document that formally updates (or replaces) this one. Implementations SHOULD ignore additional parameters they don't recognize. This recommendation is not a mandate, though, so agents are allowed to process a message with an SIO-Label header field that has unrecognized parameters differently than one without them ๐ฆ
Each message SHALL contain zero or one SIO-Label header field. Only one, no cap ๐
Extended Example:
SIO-Label: marking*=us-ascii'en'EXAMPLE%20CONFIDENTIAL;
fgcolor = black ; bgcolor = red ;
type=":ess"; label*0="MQYG";
label*1="ASkCAQM="
The Extended Example is equivalent to the ESS Label Example above. Same vibes, just a different outfit ๐
5. The SIO-Label-History Header Field
Any service agent MAY record label changes in an SIO-Label-History header. This header field is meant to provide trace information, and only trace information ๐ต๏ธโโ๏ธ For instance, it can record the label change when an SIO-Label header is added, modified, or deleted by a service agent. This field can also be used in other situations. For example, a gateway that translates X.400 messages to RFC 5322 mail can use this header field to record the labeling changes it makes during translation โจ
The SIO-Label-History header field counts as a trace field, as defined in Section 3.6.7 of [RFC5322] ๐
The formal syntax of the SIO-Label-History header is the same as SIO-Label's, but with these parameters:
change- one of "add", "replace", "delete".changed-by- a string identifying the agent, usually the agent's fully qualified domain name.changed-at- a date-time production, as specified in [RFC5322], showing the date and time the header was rewritten.changed-comment- a string containing a comment.marking,fgcolor,bgcolor,type,label- record the message's label information before the SIO-Label was added, modified, or deleted. They use the same parameter syntax as SIO-Label. These parameters are absent when the change action is "add".new-marking,new-fgcolor,new-bgcolor,new-type,new-label- record the message's label information after the SIO-Label was added, modified, or deleted. They use the same parameter syntax as the matching SIO-Label parameters. These parameters are absent when the change type is "delete".
The header field SHALL minimally contain the "change", "changed-by", and "changed-at" parameters ๐
This header field can be extended with more parameters through future documents that formally update (or replace) this one ๐ง
Each message can contain zero or more SIO-Label-History header fields. All SIO-Label-History header fields should immediately follow the SIO-Label header field, if there is one, and be grouped together. New SIO-Label-History header fields should be added immediately before any existing SIO-Label-History header fields ๐ซถ
SIO Label History Add, Modify, Delete Example:
SIO-Label-History: marking="EXAMPLE CONFIDENTIAL";
fgcolor=black; bgcolor=red;
type=":xml";
label*0="PFNlY0xhYmVsIHhtbG5zPSJodHRwOi8vZXhhbX";
label*1="BsZS5jb20vc2VjLWxhYmVsLzAiPjxQb2xpY3lJ";
label*2="ZGVudGlmaWVyIFVSST0idXJuOm9pZDoxLjEiLz";
label*3="48Q2xhc3NpZmljYXRpb24+MzwvQ2xhc3NpZmlj";
label*4="YXRpb24+PC9TZWNMYWJlbD4=";
change=delete;
changed-by="delete.example.com";
changed-at="18 Feb 2013 9:24 PDT";
changed-comment="delete"
SIO-Label-History: marking="EXAMPLE CONFIDENTIAL";
fgcolor=black; bgcolor=red;
type=":ess"; label="MQYGASkCAQM=";
new-marking="EXAMPLE CONFIDENTIAL";
new-fgcolor=black; new-bgcolor=red;
new-type=":xml";
new-label*0="PFNlY0xhYmVsIHhtbG5zPSJodHRwOi8vZXhhbX";
new-label*1="BsZS5jb20vc2VjLWxhYmVsLzAiPjxQb2xpY3lJ";
new-label*2="ZGVudGlmaWVyIFVSST0idXJuOm9pZDoxLjEiLz";
new-label*3="48Q2xhc3NpZmljYXRpb24+MzwvQ2xhc3NpZmlj";
new-label*4="YXRpb24+PC9TZWNMYWJlbD4=";
change=replace;
changed-by="modify.example.net";
changed-at="18 Feb 2013 8:24 PDT";
changed-comment="replaced with XML variant"
SIO-Label-History: new-marking="EXAMPLE CONFIDENTIAL";
new-fgcolor=black; new-bgcolor=red;
new-type=":ess"; new-label="MQYGASkCAQM=";
change=add;
changed-by="add.example.net";
changed-at="18 Feb 2013 7:24 PDT";
changed-comment="added label"
6. IANA Considerations
The SIO-Label and SIO-Label-History header fields have been registered in the "Provisional Message Header Field Registry" under [RFC3864] ๐ Here's what got registered ๐
Header field name: SIO-Label
Applicable protocol: mail [RFC5322]
Status: provisional
Author/change controller: Kurt Zeilenga (kurt.zeilenga@isode.com)
Specification document(s): RFC 7444
Header field name: SIO-Label-History
Applicable protocol: mail [RFC5322]
Status: provisional
Author/change controller: Kurt Zeilenga (kurt.zeilenga@isode.com)
Specification document(s): RFC 7444
7. Security Considerations ๐โจ
okay bestie, this section is SERIOUS but also kind of iconic ๐ so let's go:
Sensitive information should be appropriately protected, labeled or not ๐ก๏ธ For email messages, it's generally appropriate for the sending entity to authenticate the receiving entity and to set up transport-level security, including protective services for both data integrity and data confidentiality ๐ When a receiving entity makes authorization decisions based upon assertions of the sending entity, including assertions of identity, it's generally appropriate for the receiving entity to authenticate the sending entity ๐ซถ
This document gives you a facility for expressing the sensitivity of an email message ๐ The mere expression of actual sensitivity generally does not elevate the sensitivity of the message, BUT expressions of sensitivities can themselves be regarded as sensitive information ๐ For instance, a marking of "BLACK PROJECT RESTRICTED" could disclose the existence of a sensitivity project ๐
The SIO-Label header field expresses the sensitivity of the whole message, including the header and body โจ This document does not provide a means to express the sensitivity of portions of an email message, such as the possibly different sensitivities of various MIME parts that the message may be composed of ๐งฉ The approach used in this document favors simplicity and ease of use (i.e., a single expression of sensitivity) over the complexity and difficulty of marking and labeling portions of a message ๐
The expressed sensitivity can be used in determining how to handle a message ๐ For instance, the value of the SIO-Label header field (or lack thereof) can be used to determine if it is appropriate to be forwarded to a particular entity and, if so, what minimum security services ought to be used in the forwarding exchange ๐ฆ The mechanism for determining how to handle a message-based expressed sensitivity is beyond the scope of this document ๐คทโโ๏ธ
The actual content may have more or less sensitivity than indicated by the security label ๐ Agents should avoid lowering security requirements for message exchange with a particular entity based upon conveyed sensitivity ๐ซ
This protocol does not itself provide message-signing services, such as used in providing message integrity protection, non-repudiation, and binding of attributes (such as the security label to the message) ๐๏ธ While it possible that this protocol could be used with a general message-signing service, this document does not detail such use ๐ธ
While security label and display marking parameters are expected to express the same sensitivity, nothing in this specification ensures that the security label and display marking values express the same sensitivity ๐ฌ For instance, an MUA could submit a message that contains a security label that expresses one sensitivity and a display marking with a different sensitivity, and by doing so, possibly cause an SA to inappropriately handle the message ๐ฅ It is generally appropriate for each SA using the SIO-Label values to determine if the security label and display marking values express the same sensitivity and, if not, take appropriate action (such as rejecting the message) ๐ โโ๏ธ
This document also gives you a facility for expressing changes to the label of a message ๐ฐ๏ธ This is intended to be used for trace purposes only ๐ It is noted that the SIO-Label-History header field can include sensitive information and, as such, can be removed from the message when its inclusion would result in disclosure of inappropriate information ๐งน
8. References ๐
8.1. Normative References ๐
[CSS3-Color] Celik, T. and C. Lilley, "CSS3 Color Module",
W3C Candidate Recommendation
CR-css3-color-20030514, May 2003,
<http://www.w3.org/TR/2003/CR-css3-color-20030514>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC2231] Freed, N. and K. Moore, "MIME Parameter Value and
Encoded Word Extensions: Character Sets, Languages, and
Continuations", RFC 2231, November 1997,
<http://www.rfc-editor.org/info/rfc2231>.
[RFC2634] Hoffman, P., Ed., "Enhanced Security Services for
S/MIME", RFC 2634, June 1999,
<http://www.rfc-editor.org/info/rfc2634>.
[RFC3864] Klyne, G., Nottingham, M., and J. Mogul, "Registration
Procedures for Message Header Fields", BCP 90, RFC 3864,
September 2004,
<http://www.rfc-editor.org/info/rfc3864>.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66, RFC
3986, January 2005,
<http://www.rfc-editor.org/info/rfc3986>.
[RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data
Encodings", RFC 4648, October 2006,
<http://www.rfc-editor.org/info/rfc4648>.
[RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for
Syntax Specifications: ABNF", STD 68, RFC 5234, January
2008, <http://www.rfc-editor.org/info/rfc5234>.
[RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322,
October 2008, <http://www.rfc-editor.org/info/rfc5322>.
[X.411] ITU-T, "Message Handling Systems (MHS) - Message
Transfer System: Abstract Service Definition and
Procedures", ITU-T Recommendation X.411, June 1999.
[X.690] ITU-T, "ASN.1 encoding rules: Specification of Basic
Encoding Rules (BER), Canonical Encoding Rules (CER) and
Distinguished Encoding Rules (DER)", ITU-T
Recommendation X.690, November 2008.
[XML] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E.,
and F. Yergeau, "Extensible Markup Language (XML) 1.0
(Fifth Edition)", W3C Recommendation REC-xml-20081126,
November 2008,
<http://www.w3.org/TR/2008/REC-xml-20081126>.
8.2. Informative References ๐ฆ
[RFC0822] Crocker, D., "STANDARD FOR THE FORMAT OF ARPA INTERNET
TEXT MESSAGES", STD 11, RFC 822, August 1982,
<http://www.rfc-editor.org/info/rfc822>.
[RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part One: Format of Internet Message
Bodies", RFC 2045, November 1996,
<http://www.rfc-editor.org/info/rfc2045>.
[X.841] ITU-T, "Security information objects for access
control", ITU-T Recommendation X.841, October 2000.
[XEP258] Zeilenga, K., "XEP-0258: Security Labels in XMPP", XEP
XMPP Extension Protocols, April 2013.
Acknowledgements ๐ซถ
The authors appreciate the review, comment, and text provided by community members, including Dave Cridland, Brad Hards, Russ Housley, Steve Kille, Graeme Lunt, Alan Ross, Jim Schaad, and David Wilson ๐
Authors' Addresses ๐
Kurt Zeilenga
Isode Limited
EMail: Kurt.Zeilenga@isode.com
Alexey Melnikov
Isode Limited
14 Castle Mews
Hampton, Middlesex TW12 2NP
United Kingdom
EMail: Alexey.Melnikov@isode.com
๐ฆ where this page comes from
- ietf: rfc7444 2015-02
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms