Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
October 2, 2017 10:33
April 3, 2019 17:27
September 7, 2017 11:31
February 17, 2017 13:22
March 13, 2018 10:11
February 17, 2017 13:22
March 13, 2018 10:11
February 17, 2017 13:22
February 21, 2017 09:32
April 13, 2017 16:12
April 3, 2019 17:37
April 3, 2019 17:37

Stethoscope: User-Focused Security

Giraffe logo

Stethoscope is a web application that collects information from existing device data sources (e.g., JAMF or LANDESK) on a given user’s devices and gives them clear and specific recommendations for securing their systems. An overview is available on the Netflix Tech Blog.

Join the chat at Apache 2.0 NetflixOSS Lifecycle Build Status

Stethoscope screenshot


If you have node (version 6.4+) and npm (included with node) installed already and just want to play around with the front end, run:

make install-develop-ui

What is Stethoscope?

Main Features

  • Retrieves device information from:
    • JAMF
    • G Suite (Google) Mobile Management
    • bitFit
  • Evaluates status of various security practices, including:
    • Disk encryption
    • Firewall
    • Screen saver lock/password
    • Operating system up-to-date
    • Operating system auto-update
    • Not jailbroken/rooted
    • Software presence (e.g., for monitoring tools)
  • Merges associated device records
  • Plugin architecture:
    • Easy to add data sources, practices, and other components
    • Examples and base plugins for communicating with Elasticsearch and HTTP REST APIs

Getting Started

Stethoscope consists of two primary pieces: a Python-based back-end and a React-based front-end. Nginx is used to serve static files and route traffic to the back-end.

The easiest way to get up-and-running quickly is through the provided Docker configuration.


To run with Docker, first install Docker (standard or beta).

We have provided a Docker Compose file, docker-compose.yml, that defines the services that make up Stethoscope. To start these services, run:

docker-compose up

Then connect to the main Nginx web server at http://localhost:5000.


If you encounter the following error, you likely need to upgrade docker-compose to version 1.10 or higher.

ERROR: In file './docker-compose.yml' service 'version' doesn't have any configuration options. All top level keys in your docker-compose.yml must map to a dictionary of configuration options.

Next Steps

Our full documentation is available at


Copyright 2016, 2017 Netflix, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.