Presentation: Consensual Software: Prioritizing Trust & Safety



2:55pm - 3:45pm

Day of week:



Key Takeaways

  • Understand how to build trust and safety into the product as part of the product ideation phase
  • Leave with a checklist with things to think about when you are creating a product or feature
  • Learn what you can do to make consensual software reality


Online safety has become a huge problem in the world of oversharing. Real name policies, automatic geolocation tracking, and photo tagging increase user adoption rates, but these features can be quickly abused by bad actors. This talk will discuss how to apply a "consent filter" to product decisions to make a safer user experience and to help protect your most vulnerable users from harm.


What makes trust and safety important?

Trust and safety is about keeping users safe. Online harassment is unfortunately a reality. When you are part of a community and online space you should be able to connect with one another and work together safe and be productive. My team at Github builds community management tools and features to discourage destructive behavior.

What’s the focus of your talk?

I will focus on how to build trust and safety into the product as part of the product ideation phase and features as opposed to it being an afterthought. There can be features who are well meaning but can be used as vectors of harassment or abuse. I will explore how you can ask questions ahead of time and help people become more aware to prevent things becoming a PR problem, support problem, or engineering problem.

For whom is this talk intended?

I’m talking mainly to developers and product managers, as ideally this is a thing that is discussed before the problem happens. Abuse reports are often low number but abuse is incredibly toxic, it can poison the content on a site and people don’t want to be harassed. Just because it’s a low volume doesn’t mean it’s not important.

What are the things that people can take away from your talk?

We create a checklist with things to think about when you are creating a product or feature. For example, when you have a direct messaging feature the checklist helps you to go through the thinking process before developing it.

How would you rate the level of this talk?

It’s a very new topic and I want to reach out to large audience, so it will be beginners level.

What can developers do to make consensual software reality

Consensual software is about making sure that everybody involved is aware and gives explicit consent that they want to interact. Developers can use the checklist that I mentioned before when defining the needed functionality. Another thing they can think about is audits logs, as these will help to know what happened and when and who did it. One last thing is minimising abuse vectors by limiting the features for 0-day accounts. If you have high risk features then people should not be able to use them directly after creating an account.

Speaker: Danielle Leong

Engineer on GitHub's Community and Safety Team

Danielle Leong is an engineer on GitHub's Community & Safety team who loves building tools to help make open source a more welcome and inclusive environment. She is also the founder of Feerless, an app that provides trigger warnings for Netflix users with PTSD. She's passionate about inclusivity in tech, mental health awareness, and improving online good citizenship. In her spare time she climbs rocks, rides motorcycles, and dresses up as a T-rex - occasionally all at the same time.

Find Danielle Leong at

Similar Talks

Software Engineer @containersoluti (Container Solutions)
Senior Software Engineer @IBM, Committer on Apache Aries
Distributed Systems Engineer Working on Cache @Twitter
Gold Badges Java, JVM, Memory, & Performance @StackOverflow / Lead developer of the OpenHFT project


Conference for Professional Software Developers