PRECIS Framework: Handling Internationalized Strings in Protocols

Document Type Replaced Internet-Draft
Last updated 2015-10-14 (latest revision 2011-08-19)
Replaced by draft-ietf-precis-framework
Stream (None)
Intended RFC status Proposed Standard
Expired & archived
plain text pdf html bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state Replaced by draft-ietf-precis-framework
Telechat date
Responsible AD Pete Resnick
Send notices to (None)

This Internet-Draft is no longer active. A copy of the expired Internet-Draft can be found at


Application protocols that make use of Unicode code points in protocol strings need to prepare such strings in order to perform comparison operations (e.g., for purposes of authentication or authorization). In general, this problem has been labeled the "preparation and comparison of internationalized strings" or "PRECIS". This document defines a framework that enables application protocols to prepare various classes of strings in a way that depends on the properties of Unicode code points. Because this framework does not depend on large tables of Unicode code points as in stringprep (RFC 3454), it is more agile with regard to changes in the underlying Unicode database and thus provides improved flexibility to application protocols. A specification that uses this framework either can directly use the base string classes defined in this document or can subclass the base string classes as needed. This framework uses an approach similar to that of the revised internationalized domain names in applications (IDNA) technology (RFC 5890, RFC 5891, RFC 5892, RFC 5893, RFC 5894) and thus adheres to the high-level design goals described in RFC 4690, albeit for application technologies other than the Domain Name System (DNS). This document obsoletes RFC 3454.


Peter Saint-Andre (
Marc Blanchet (

(Note: The e-mail addresses provided for the authors of this Internet-Draft may no longer be valid.)