top of page

Netflix: Bat Signal

Mobile App

ROLE

Lead Product Designer

OVERVIEW​
Streamlining Netflix's security evaluation process for vendors and productions.

 

Previous to our engagement, Netflix hadn't quite figured out the best solution for collecting sensitive data and safely storing it. There were a lot of clear opportunities to automate parts of this process. We worked closely with the client team to understand their specific needs and pain points, re-aligning with them throughout the process. The solution we designed allows the InfoSec team to build new surveys from scratch, create survey templates, easily send surveys, score the responses and automatically store the results in context of the vendor’s profile.
 

PROBLEM

While maintaining its status as a leading streaming service, Netflix has also become one of the world’s largest production companies. To accommodate this growth, the company has needed to use various 3rd party vendors such as casting agencies, film studios and camera crews to produce its content. With every vendor and production Netflix works with, there is a security risk involved. Sensitive financial information, details about specific titles, release dates and more all have a chance of being leaked or misused. For years, the Information Security Team (InfoSec) has been vetting and rating the vendors they work with and disseminating the information throughout the company via email, spreadsheets and other bootstrap solutions. They came to Underbelly looking for a centralized solution that would house all of this information in one place.

ACTION

There are thousands of vendors that Netflix works with all over the world, so in order to effectively serve the needs of our client, we needed to create a system where this information could live and easily be found. We started by designing a profile page for each vendor. We accounted for both an admin and employee view. It was important that admins could easily edit the profile and that internal employees could quickly understand the security risk of working with that vendor when viewing it. The profile includes three main sections: 

The Risk Picture. This is a summary of what the vendor has been evaluated for, and how risky they are for those use cases. 

 

The Info Card. This is a section containing basic information on what type of company they were, how they interact with Netflix, contact information and more. 

 

The Feedback Card. This is a way for internal employees to communicate, in context, with the InfoSec team to answer questions and resolve concerns. 

Once we had established the profile, we needed a robust way for users to be able to find specific vendor evaluations. We used Netflix’s internal design system “Hawkins” to create a way for users to search by multiple tags and keywords so they could effectively narrow down results. This dashboard can be sorted and filtered in a number of ways to make finding profiles easy. 

SOLUTION


The overview page serves as a way for users to easily understand the overall security health of the company. We worked with the InfoSec team to understand the story the data needed to tell. The charts give a high level status on how many vendors have been evaluated vs. unevaluated with the ability to dive in deeper and understand which types of vendors had the most risk, which had not been evaluated, and which were blocked. This allows them to communicate to their higher-ups on how the team is performing as well as how much risk Netflix is taking on at any given time. Users can customize their view to match their preferences by switching from doughnut charts to line charts.
 
The Top Concerns card effectively categorizes vendors that need the most attention. This high level view allows admins to effectively handle the highest risk situations and make sure that nothing is slipping through the cracks.

​RESULTS​

We chose the various technologies that power Bat Signal for specific reasons. Bat Signal’s user interface is created with React. More specifically, we used  NextJS, which is a React Framework that allows us to create a production-ready React application with features that promote a good user experience, such as server-side rendering. Bat Signal uses GraphQL to fetch and mutate data. We’ve found GraphQL and React to be a great combination for single page applications, or web applications that are highly interactive and require updating the user interface without a page refresh. Bat Signal stores data in a PostgreSQL database, and we are able to generate a GraphQL schema based off of the database tables and relations. 

Another benefit that we have seen with GraphQL is its type system. Because we use TypeScript throughout the application, we can automatically generate type safe code based off of the GraphQL schema. This results in less run-time bugs, because the type checking system helps to catch many types of bugs while the application is being developed rather than while it’s being used. Bat Signal also integrates with a few other services at Netflix via both gRPC and REST APIs in order to load and surface different pieces of vendor data. Successful integrations require much communication and planning between various development and product teams. 

​Since Bat Signal is designed to help both Netflix and InfoSec employees and administrators, the application does authentication and authorization based on what role the user is. Bat Signal relies on Netflix’s own OAuth system to authenticate users when they visit the application. This makes it seamless and easy for Netflix administrators and employees alike to access and use the system. A Netflix employee’s view of the application is different than an InfoSec administrator, because they both use the application for slightly different purposes. 

bottom of page