Title: On defining adult content on the web and Cloudflare
Date: 2020-04-07 11:30

A couple of days ago, Cloudflare
[announced](https://blog.cloudflare.com/introducing-1-1-1-1-for-families/) with
much fanfare a new product: *1.1.1.1 for Families*:

> This year, while many of us are confined to our homes, protecting our
> communities from COVID-19, and relying on our home networks more than ever it
> seemed especially important to launch 1.1.1.1 for Families. We hope during
> these troubled times it will help provide a bit of peace of mind for
> households everywhere.

> 1.1.1.1 for Families has two default options: one that blocks malware and the
> other that blocks malware and adult content

Unfortunately, defining what is adult content is a *hard* problem, and
Cloudflare has an very problematic take on the topic:

```
$ dig www.stonewall.org.uk @1.1.1.3 | grep status
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 40205
$ dig lgbt.foundation @1.1.1.3 | grep status 
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 38128
$ dig garcon-magazine.com @1.1.1.3 | grep status
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 25615
$ dig www.mag-jeunes.com @1.1.1.3 | grep status
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 13385
$ dig inter-lgbt.org @1.1.1.3 | grep status
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 47914
```

```
$ dig cock.li @1.1.1.3 | grep status      
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54579
$ dig 8chan.com @1.1.1.3 | grep status
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 19142
$ dig 4chan.com @1.1.1.3 | grep status
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58747
$ dig 8kun.top @1.1.1.3 | grep status
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48415
$ dig dailystormer.com @1.1.1.3 | grep status
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6390
$ dig davidduke.com @1.1.1.3 | grep status
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55269
$ dig www.stormfront.org @1.1.1.3 | grep status
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17497
$
```

Interestingly, dating websites are ok, except if they're for the LGBT+:

```
$ dig weareher.com @1.1.1.3 | grep status
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 17695
$ dig tinder.com @1.1.1.3 | grep status  
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36708
$
```

Cloudflare spent weeks agonising whether they should do business with 
[nazis](https://blog.cloudflare.com/why-we-terminated-daily-stormer/) and
[white nationalist terrorists](https://blog.cloudflare.com/terminating-service-for-8chan/),
but apparently censoring LGBT+ resources was only a [dumb
mistake](https://twitter.com/eastdakota/status/1245380316270714880).
I disagree with this assessment: it's an obvious symptom of systemic biases.
Nobody at Cloudflare thought about LGBT+ people. More worrying, nobody thought
that their system could have false positive, since there was no way to report
them at the time.

They are currently scrambling to fix this, by removing the most
preeminent LGBT+ websites from their blacklist. But they are only
addressing symptoms, while not acknowledging the elephant in the room: how
are they telling apart *adult* content from *family* content?
This is a hard problem, illustrated by
[countless](https://en.wikipedia.org/wiki/Websites_blocked_in_mainland_China)
[examples](https://en.wikipedia.org/wiki/List_of_websites_blocked_in_the_United_Kingdom)
[of
controversial](https://en.wikipedia.org/wiki/Countries_blocking_access_to_The_Pirate_Bay)
[classification](https://en.wikipedia.org/wiki/Internet_censorship). But more
importantly, it's a social problem, which should be resolved via social means,
not technical ones.

Of course, blacklisting [shock sites](https://en.wikipedia.org/wiki/Shock_site)
is a good idea, I don't think that anyone disagrees about this. But what about
the rest of the web, all the shades of gray?
I'm convinced that the only viable long-term solution must be based on
[harm reduction doctrine](https://en.wikipedia.org/wiki/Harm_reduction):
spend time with kids, to discuss, explain and answer questions on complex
topics like pornography, sexism, racism, biases, human trafficking, white
supremacism, homosexuality, systemic oppression, … and while this is of course
much much harder than simply changing DNS settings, it will yields way
better long term results.

Moreover, on a technical note, Cloudflare is already controlling a significant
position of the web (more than
[12%](https://w3techs.com/technologies/overview/proxy)), I don't think 
naming them [Internet police](https://en.wikipedia.org/wiki/Internet_police) is
the way we want to go.
