Police oversight and accountability through public data 👮
Latest commit 3d61166 Nov 27, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
OpenOversight Merge pull request #567 from lucyparsons/side-scroll Nov 27, 2018
UX-Docs/UX-Docs Move UX documentation to folder in base of repo Nov 8, 2017
database Add suffix field for officer names. Fixes issue #342 Jul 25, 2018
dockerfiles/web Make functional tests pass in containers Jul 2, 2018
docs Add RTD build status icon to README, basic AC guide Sep 3, 2018
etl Flake8 Mar 12, 2017
flickrscraper Resolve all flake8 issues in root of repo Jun 30, 2018
proposals deprecate digital lineup Oct 12, 2016
socmint Resolve all flake8 issues in root of repo Jun 30, 2018
.dockerignore Docker tunings Feb 18, 2018
.flake8 Flake8 Mar 12, 2017
.gitignore Make a remote call to perform the backup Feb 10, 2017
.ruby-version Allow a vagrant for local development Oct 5, 2016
.travis.yml Travis CI: Run linting in root of repo Jun 30, 2018
CODE_OF_CONDUCT.md Add CoC Jun 7, 2018
CONTRIB.md Update CONTRIB to remove vagrant env mentions Aug 24, 2018
DEPLOY.md Create links between documentation files. Jun 29, 2018
DOCKER_DEPLOY.md add DOCKER_DEPLOY.md Jan 29, 2017
LICENSE Initial commit Apr 7, 2016
Makefile Initial documentation setup Jul 14, 2018
PULL_REQUEST_TEMPLATE.md Create links between documentation files. Jun 29, 2018
README.md Merge pull request #555 from lucyparsons/rtd-build Oct 2, 2018
create_db.py Resolve all flake8 issues in root of repo Jun 30, 2018
dev-requirements.txt Pin development dependencies Sep 3, 2018
docker-compose.yml Upgrade gunicorn to get live reloading in dev Aug 24, 2018
fabfile.py Deployment: Need to be in OpenOversight dir for migration Dec 23, 2017
requirements.txt Upgrade werkzeug to 0.14+ for flask 1.x compatibility Aug 25, 2018
setup.py Flake8 Mar 12, 2017
test_data.py Merge pull request #341 from lucyparsons/oo-in-containers Jul 2, 2018


OpenOversight Build Status Coverage Status Documentation Status Join the chat at https://gitter.im/OpenOversight/Lobby

OpenOversight is a Lucy Parsons Labs project to improve law enforcement accountability through public and crowdsourced data. We maintain a database of officer demographic information and provide digital galleries of photographs. This is done to help people identify law enforcement officers for filing complaints and in order for the public to see work-related information about law enforcement officers that interact with the public.

This project is written and maintained by @lucyparsonslabs with collaboration, partnerships, and contributions welcome. If you would like to contribute code or documentation, please see our contributing guide and code of conduct. You can get a tip for implementing important issues. If you prefer to contribute in other ways, please submit images to our platform or talk to us about how to help sort and tag images. This project is in public beta, and we are currently soliciting photographs to add to the database.

Note to Law Enforcement

Please contact our legal representation with requests, questions, or concerns of a legal nature by emailing legal@lucyparsonslabs.com.


Please use our issue tracker to submit issues or suggestions.


We offer financial tips as a thank you for certain issues being implemented. Please view issues labeled tip to see which contributions are eligible for tips. If you do not want a tip for that contribution, just include "#notip" in your PR description. The amount of the tip depends on the size of the ticket: S ($20), M ($50), and L ($100). Tips are provided once your contribution is merged in (i.e. contributions must have the appropriate unit tests).

Developer Quickstart

Make sure you have Docker installed and then:

git clone https://github.com/lucyparsons/OpenOversight.git
cd OpenOversight
make dev

And open http://localhost:3000 in your favorite browser!

If you need to log in, use the auto-generated test account credentials:

Email: test@example.org
Password: testtest

Please see CONTRIB.md for the full developer setup instructions.

Documentation Quickstart

pip install -r dev-requirements.txt
make docs


Please see the DEPLOY.md file for deployment instructions.

What data do I need to set up OpenOversight in my city?

  • Officer roster/assignment/demographic information: You can often acquire a huge amount of information through FOIA:
    • Roster of all police officers (names, badge numbers)
    • Badge/star number history (if badge/star numbers change upon promotion)
    • Demographic information - race, gender, etc.
    • Assignments - what bureau, precinct/division and/or beat are they assigned to? When has this changed?
  • Clear images of officers with badge numbers and/or names displayed: Scrape through social media (as we have done) and/or solicit submissions.