Many web sites have a "safe" mode to assist those who don't want to be exposed (or have their children exposed) to content to which they might object.
However, that goal is often difficult to achieve because of the need to go to every web site that might be used and navigate to the appropriate page (possibly creating an account along the way) to get a cookie [
RFC 6265] set in the browser, for each browser on every device used.
A more manageable approach is for the browser to proactively indicate a preference for safe content. A user agent that supports doing so (whether it be an individual browser or through an operating system HTTP library) need only be configured once to ensure that the preference is advertised to a set of sites, or even all sites.
This specification defines how to declare this desire in requests as an HTTP Preference [
RFC 7240].
Note that this specification does not define what content might be considered objectionable, so the concept of "safe" is not precisely defined. Rather, the term is interpreted by the server and within the scope of each web site that chooses to act upon this information.
That said, the intent is to allow end users (or those acting on their behalf) to express a desire to avoid content that is considered objectionable within the cultural context of that site; usually (but not always), the objectionable content is content unsuitable for minors. The safe preference is not intended to be used for other purposes.
Furthermore, sending the preference does not guarantee that the web site will use it or that it will apply a concept of "objectionable" that is consistent with the requester's views. As such, its effect can be described as "best effort" and not to be relied upon. In other words, sending the preference is no more reliable than going to each web site and manually selecting a safe mode, but it is considerably easier.
It is also important to note that the safe preference is not a reliable indicator that the end user is a child; other users might have a desire for unobjectionable content, and some children might browse without the preference being set.
Note also that the cultural context applies to the hosting location of a site, the content provider, and the source of the content. It cannot be guaranteed that a user agent and origin server will have the same view of the concept of what is objectionable.
Simply put, it is a statement by (or on behalf of) the end user indicating that "if your site has a safe setting, this user is hereby opting into that, according to your definition of the term."
The mechanism described in this document does not have IETF consensus and is not a standard. It is a widely deployed approach that has turned out to be useful and is presented here so that server and browser implementations can have a common understanding of how it operates.
This mechanism was presented for publication as an IETF Proposed Standard but was not approved for publication by the IESG because of concerns that included the vagueness of the meaning of "safe", the ability of a proxy to insert the hint outside of a user's control, the fact that there was no way to know whether the hint was or was not applied to the response returned by the server, and the possibility that the use of this preference may incentivize increased censorship and/or targeting of minors.
The specification was updated to address those concerns, but the IESG did not approve progressing this document as an IETF Proposed Standard. As a result, it has been published in the Independent Stream.