
HTTP "Prefer:Safe" – Making Online Safety Simpler in Firefox - cpeterso
https://blog.mozilla.org/privacy/2014/07/22/prefersafe-making-online-safety-simpler-in-firefox/
======
darklajid
Soooo.. This is sending "Hey, this is a kid on a restricted machine" to all
servers now?

I mean I fail to understand the original idea, obviously. It makes no sense to
me. But I question the value of the above - basically now the server can _just
as easily_ do crap with that information. You can now identify minors (using
that feature). Beautiful.

The server operators cannot decide what 'parental control' would mean for
parents, they cannot decide what is ~okay~ or what isn't. Referencing a random
US regulation/law (COPPA?) in a discussion about international traffic,
international browser products seems crazy.

If you want to prevent your kids from accessing 'stuff', make sure that
'stuff' is filtered on their machine or better on the edge of your network.
Don't believe that random guys on the net will correctly guess what you find
questionable content for kids and hide it, because .. your kid's browser sent
a friendly "My parents didn't allow me to see unspecified things" header.

Edit: I reread that thing over and over again. Something else that utterly
blows my mind is this:

 _Users won’t find any UI in Firefox to enable or disable Prefer:Safe, which
becomes one less thing for kids to try to circumvent to disable this control._

Newsflash: That includes the parents. Unless that is utterly misleading (or my
English as a second language parser fails) this means that I, as a parent [1],
can NOT

\- activate parental control features that are somehow detected by Fx

\- opt out of that idiotic header that announces decisions from my private
household to each and every server, starting with Google for example

1: Hypothetical example. While I've got two kids, but both are too young to
operate a computer yet and I probably won't buy into standard 'parental
control' solutions anyway.

~~~
realusername
I exactly had the same idea... I would also add that this thing is going to be
useless anyway because not all the websites are going to implement it. So you
will have this header + the traditional blocker...

It's totally unrelated but something I would really like to have right now
would be a header with the average connection bandwidth (or just thresholds).
This could be really useful to reduce the amount of data sent if the
connection is really bad.

~~~
icebraining
_I exactly had the same idea... I would also add that this thing is going to
be useless anyway because not all the websites are going to implement it. So
you will have this header + the traditional blocker..._

It's not useless, since it allows the site to avoid being blocked by hiding
the "bad" content. Ideally blockers would be smart enough to recognize and
block only the "bad" DOM elements, but they usually just block the whole page,
if not the whole site.

~~~
darklajid
That is absolutely meaningless. What is bad content? The header doesn't tell
what the client considers 'bad' or not 'safe', it's a bool.

Given that, I see these possible outcomes

\- the client's admin might not care about this site at all (effort to hide
stuff would be wasted?)

\- the client's admin might consider content 'unsafe' that seems fine/okay to
the site operator => Blocklist, failed to archive what you suggest

\- the client's admin might consider content 'safe' that the site now refuses
to share => Curse site and Mozilla, switch browsers and/or consider that site
broken and the operators morons (similar to 'breaks zoom on mobile devices'
today, for example)

~~~
ClassicFarris
Your comment about the bool, got me thinking. This would have been better
implemented if it was thought of along the lines of movie rating system.

[http://en.wikipedia.org/wiki/Motion_picture_rating_system](http://en.wikipedia.org/wiki/Motion_picture_rating_system)

However, this got me thinking that across cultural lines there are a lot of
shades to what is "safe". So a website based in Austria might want to restrict
different content than a website based in Australia, and who knows where the
"browser" is based.

Of course your comments about the site actually implementing
anything/correctly still apply.

~~~
chc
I vaguely remember in the early days of the web (95-96?) there was a hopeful
rating system very much like what you get for movies. I can't remember what
the header was, but it was formatted something like "Violence 1; Sex 10; Drugs
5; Gambling 0". For obvious reasons it didn't catch on.

------
chimeracoder
I have to say, I don't really care much for this, and I'm surprised to see it
coming from Mozilla.

"Prefer:Safe" is rather vague-sounding. I was expecting something about
incorporating something like "HTTPS Everywhere" into Firefox.

I understand the appeal of something to prevent kids from stumbling across
porn or violence online, but let's not muddy words like "trust" (which mean
something very different when talking about security and privacy) with the
concept of age-appropriate content.

~~~
chc
I think the idea isn't so much a porn filter as it is a "treat this user as a
child" request. So, for example, social networking sites might work in
restricted mode.

I do agree "prefer safe" is a very poor way of expressing that desire, though.
Maybe "child-safe", but not just "safe", which implies a related but different
idea.

~~~
bostik
If this takes off at all, I can see the sites reacting by altering the
advertising group selection based on the presence of the header.

"Cool, an under-10 browsing. Let's push all the autoplay toy videos we have in
rotation."

I already get the creeps from the toy ads squeezed between and in the middle
of children's TV shows.

------
mperham
"Won't someone think of the children?" comes to the HTTP standard.

Seriously though, this seems totally reasonable although "safe" does seem like
an odd word choice. Maybe "modest" instead?

~~~
theon144
I'm thinking it's in the same category as "Safe For Work" and "Not Safe For
Work".

But yeah, I expected a HTTP header that would, say, redirect to an encrypted
version of the webpage, sort of like HTTPS Everywhere, but on the browser-
server level.

~~~
darklajid
NSFW is just another undefined concept. It depends on your work, on your
culture/upbringing and the society you live in.

If I stumble upon pictures of tits because someone posted a link to a yellow
press newspaper site or a random celebrity scandal, I .. misclicked because
that wouldn't interest me in the slightest. But it wouldn't be unsafe, not
even for work. On the other hand, I wouldn't exactly want to end up on a nazi
propaganda page (even if I'm merely looking at current splitter groups/facts
around news reports about these sort of braindead idiots). I would feel very
bad about leaving a trace like that - even if I don't think I'd have to face
any sort of consequences.

Point being: Safe™ is undefined, for minors or employers. You can try to find
a GCD, a common global set - and you'll fail/end up with a balance act between
false positives and misses.

------
itsadok
I was with them until they mentioned "one less thing for kids to try to
circumvent to disable this control". If a kid is actively trying to circumvent
the parental controls, this is no longer about "protection" but about control.

In other news, the Feynman lectures on QED are blocked in "safe" mode.
[https://www.youtube.com/watch?v=yvl6TBGEoO0](https://www.youtube.com/watch?v=yvl6TBGEoO0)

------
brimstedt
A header Id rather see is Cookies: I-know-what-they-are-for

"don't show me information about cookie usage".. )

~~~
rmc
That would be against the law. Talk to your MEP, not browser maker, if you
want to change it.

~~~
wlv
This is what websites want you to think.

Do it badly -> annoy users -> no more laws that protect users.

------
0x0
Can I start sending "Prefer: Unsafe" headers and expect to see a difference,
too?

------
Karunamon
Sounds like a great way for kids to learn how HTTP debugging proxies work.

~~~
dimman
Was just gonna say that; "Users won’t find any UI in Firefox to enable or
disable Prefer:Safe, which becomes one less thing for kids to try to
circumvent to disable this control."

That's good, make them hackers instead by making them implement their own
HTTP-proxy :)

------
djent
"Strengthen the online trust and safety model" is a weird way to say "no
porn."

~~~
iancarroll
It has many other uses, IMO.

\- Disable signup/require COPPA form to be mailed & signed

\- Filter out explicit content from user-generated content

\- Disable vulgar sections from a blog

\- Prohibit downloading software

etc

~~~
comex
> \- Disable signup/require COPPA form to be mailed & signed

Somewhat off topic, but I think 13 is considerably above the age where kids
have a reasonable interest in being able to actually use the web. When I was a
few years younger than 13 (10 years ago...), I once accidentally put my true
birthday into AIM, and was subsequently banned from the service I used to
communicate with friends from school. Recently, the same happened with one of
my sister's friends and Gmail. Does anyone actually think these forms are a
good thing?

~~~
iancarroll
I don't think forms are the answer. I think it should be around 9 or 10,
honestly. I'm not too sure what would replace forms though.

------
mschuster91
Just wtf is this. Mozilla now jumping on the "omigod teh childr0n" bandwagon,
too?

Any reasonably educated child can easily disable all of these "safety
features" (e.g. boot the machine at night from USB stick...). These "features"
are nothing but placebos for parents too incompetent to educate their
children.

~~~
leni536
>(e.g. boot the machine at night from USB stick...) Well it does not work, if
I use a transparent proxy at home which injects "Prefer: Safe" in every HTTP
request header.

~~~
darklajid
In which case the browser support and whole article is useless and nothing new
for that kind of weird setup.

Although I'd recommend being a responsible admin/parent in that case instead
and, with the _correct_ infrastructure for this scenario already in place,
define filters for things you don't like or white lists for things that are
okay for your network, instead of begging the internet to correctly guess your
moral boundaries.

------
walterbell
> designed to simplify and strengthen the online trust and safety model.

Is this intended for the publisher to implement filtering, or for the
publisher to declare semantic labels which can be filtered by 3rd-party sites
with consistent editoral viewpoints?

------
yry4345
The Web is about statelessness and hyperlinking, so I'll note that:

1) Javascript breaks stateless linking.

2) Mobile versions and browser detection breaks stateless linking.

3) Censorship headers like Prefer:Safe, and censorship in general, breaks
stateless linking.

And the list goes on. Some state and inability to link is inevitable, but this
is not.

Mozilla: please get back on track for a strong/stateless and cite-able web.
Headers are not the place to build a censorship "UX."

Also, "safety"? That's not helping. Almost no one uses NetNanny, or similar
software and, while I'd like to think we've grown as a species, even if we
haven't, it doesn't make sense to force something most Web surfers have
already rejected back down their throats. (And it is forcing them, even if
it's optional. The social implications of even "optional" headers will be with
us for a very long time.)

A browser especially should strive to be neutral, unless you want to start
getting requests from governments and industry to block sites directly in the
browser. Google handles a million or more every day and they are just and
index list... You can't expect a different fate without discarding neutrality
as a core principal.

Cite-ability requires _availability_ , and censorship - the Web-equivalent of
a frontal lobotomy - contradicts the very essence of your product. I'm
starting to feel ashamed to be using a browser made by an organization that
doesn't understand that.

------
Loic
My feeling is that most of the people talking here do not have children yet.
As a father, I would be really pleased to have such header accepted by many
providers to just filter out content which is clearly not for kids.

A small example, I am French living abroad, if I want my kids to read a bit
the news, I cannot send them on one of the 3 "major" French newspaper to read
a bit. Why? Because at the bottom of the first page, they put a lot of sexual
content like fully naked women wresting. If this header could remove such
content, together with videos where people are beheaded. I would be pleased.
Really.

If you start to think that this is censoring content, it is not, it is
journalist work, that is, providing adapted content to the visitor.

~~~
darklajid
How can the sites tell that this content isn't okay?

I posted an example elsewhere in this thread: I might want to limit a 16yo
with parental controls to avoid having them use the computer the whole night,
but I wouldn't mind them seeing (naked) girls on a yellow press site, if
that's what they stumble upon.

I'm also reasonably sure that your particular problem could already be solved
on the client site, today, and that would even make sure that your personal
take on moral values is respected. Plus, as others have stated, 'parental'
controls might be used for a "kiosk mode" in a hotel or elsewhere (for ..
whatever reason). Would you really want these scenarios to result in the same
thing ("Content filtered on a news site"), both for your personal kids and for
random mature people elsewhere?

------
kijin
I wonder how they're going to implement the "no circumvention" part.

Surely there's an option in about:config that affects the new behavior? Is
about:config disabled too?

There are also dozens of add-ons that lets you control every single header.
Are add-ons disabled too, or is there going to be a blacklist of header-
modifying add-ons?

It will take less than a week for point-and-click circumvention tools to
become available all over the place. Just download this little .EXE that makes
a small change to your Firefox profile and might or might not also contain
malware! Should Google block searches like "how to disable Prefer:Safe" if
such searches come from a browser that already has "Prefer:Safe" enabled?

~~~
icebraining
_It will take less than a week for point-and-click circumvention tools to
become available all over the place. Just download this little .EXE that makes
a small change to your Firefox profile and might or might not also contain
malware!_

This is supposed be activated by Windows Parental Controls, which already
allow you to block the user from running unknown .exe files.

------
narsil
It's up to content providers to honor the header. I can't expect that to
happen very easily when explicit content is involved, although the avenues to
find that content (such as Google) might be amenable.

~~~
icebraining
_I can 't expect that to happen very easily when explicit content is involved_

Why not? Porn sites aren't interested in appearing to kids, which are unlikely
to pay for their stay.

------
jasonlingx
Looks like they just enabled phishing / malware / etc sites that can target
unsupervised kids and show innocuous content to everyone else.

------
iopq
I prefer to be safe. Can I be safe while browsing porn?

------
wlv
Why isn't there a space before "Safe"? New compact http headers saving one
character?

~~~
Aissen
I used to think so. Then I read the spec:
[http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2](http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2)

 _The field value MAY be preceded by any amount of LWS, though a single SP is
preferred._

For the definition of SP and LWS, see:
[http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2](http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2)

For the definition of MAY, see:
[https://www.ietf.org/rfc/rfc2119.txt](https://www.ietf.org/rfc/rfc2119.txt)

