Technical Summary
Application protocols using Unicode code points in protocol strings
need to properly handle such strings in order to enforce
internationalization rules for strings placed in various protocol
slots (such as addresses and identifiers) and to perform valid
comparison operations (e.g., for purposes of authentication or
authorization). This document defines a framework enabling
application protocols to perform the preparation, enforcement, and
comparison of internationalized strings ("PRECIS") in a way that
depends on the properties of Unicode code points and thus is more
agile with respect to versions of Unicode. As a result, this
framework provides a more sustainable approach to the handling of
internationalized strings than the previous framework, known as
Stringprep (RFC 3454). This document obsoletes RFC 7564.
Working Group Summary
This document is part of a set of revised RFCs (7564, 7613, 7700),
based on implementation experience. 7564 is the base Precis protocol,
7613 and 7700 are profiles for specific use (username/passwords and
nicknames respectively). This revised document, the base Precis protocol,
essentially clarifies the original specification, on topics such as case folding,
normalization, code points, and rules. The only real modification of
the specification is the change from Unicode toCaseFold() operation to
toLowerCase().
Multiple versions of the revised spec was discussed over more than a year
in the working group mailing list. As a clarification of the base specification,
there was no real contention on the document.
Document Quality
The current version is based on implementor's feedback on RFC 7564.
Personnel
The document shepherd is Marc Blanchet.
The responsible Area Director is Alexey Melnikov.