A framework for securing software update systems
Clone or download
awwad Merge pull request #780 from theupdateframework/pyup_ignore_py2_deps
Tell pyup to ignore Python2-conditional dependencies and update deps
Latest commit efc1f2c Aug 31, 2018
Failed to load latest commit information.
.github Add issue and pull request templates Dec 8, 2017
docs Remove the notes about the doc being a work in progress in CLI.md and… Jun 28, 2018
tests Fix test that failed to detect issue with get_filepaths_in_directory Aug 21, 2018
tuf Remove some unnecessary try-reraise constructions; thanks, pylint! Aug 21, 2018
.gitignore Ignore virtualenv and pyenv files Dec 8, 2017
.gitmodules Remove ssl_commons and ssl_crypto submodules Jan 9, 2017
.pyup.yml Fix .pyup.yml Mar 29, 2018
.travis.yml Fix before_script entries Dec 7, 2017
LICENSE Move license files to root directory Feb 5, 2018
LICENSE-MIT Move license files to root directory Feb 5, 2018
MANIFEST.in Include correct README in MANIFEST.in Jun 20, 2018
README.md Use logo that doesn't include text May 17, 2018
appveyor.yml Install extra SSLib dependencies in appveyor.yml Jun 4, 2018
ci-requirements.txt Add SSLib extra dependencies to ci-requirements.txt Jun 4, 2018
dev-requirements.txt Update cryptography from 2.3 to 2.3.1 Aug 30, 2018
pylintrc Add _repository_name and _targets_directory to Pylint's exclude-prote… Apr 18, 2018
requirements.in Add requirements.in, which we use with pip-tools to generate requirem… Jun 4, 2018
requirements.txt Update cryptography from 2.3 to 2.3.1 Aug 30, 2018
setup.cfg Update release files. Jul 16, 2014
setup.py Add long_description_content_type to setup.py Jun 20, 2018
tox.ini Drop support for Python 3.3 and use ci-requirements in tox.ini Nov 9, 2017


A Framework for Securing Software Update Systems

Travis-CI Coveralls PyUp Python 3 FOSSA CII


The Update Framework (TUF) helps developers maintain the security of a software update system, even against attackers that compromise the repository or signing keys. TUF provides a flexible framework and specification that developers can adopt into any software update system.

TUF is hosted by the Linux Foundation as part of the Cloud Native Computing Foundation (CNCF) and is used in production by companies such as Docker, DigitalOcean, Flynn, LEAP, Kolide, Cloudflare, and VMware. A variant of TUF called Uptane is widely used to secure over-the-air updates in automobiles.



Please contact us via our mailing list. Questions, feedback, and suggestions are welcomed on this low volume mailing list.

We strive to make the specification easy to implement, so if you come across any inconsistencies or experience any difficulty, do let us know by sending an email, or by reporting an issue in the GitHub specification repo.

Security Issues and Bugs

Security issues can be reported by emailing jcappos@nyu.edu.

At a minimum, the report must contain the following:

  • Description of the vulnerability.
  • Steps to reproduce the issue.

Optionally, reports that are emailed can be encrypted with PGP. You should use PGP key fingerprint E9C0 59EC 0D32 64FA B35F 94AD 465B F9F6 F8EB 475A.

Please do not use the GitHub issue tracker to submit vulnerability reports. The issue tracker is intended for bug reports and to make feature requests. Major feature requests, such as design changes to the specification, should be proposed via a TUF Augmentation Proposal (TAP).


This work is dual-licensed and distributed under the (1) MIT License and (2) Apache License, Version 2.0. Please see LICENSE-MIT and LICENSE.


This project is managed by Prof. Justin Cappos and other members of the Secure Systems Lab at New York University. Contributors and maintainers are governed by the CNCF Community Code of Conduct.

This material is based upon work supported by the National Science Foundation under Grant Nos. CNS-1345049 and CNS-0959138. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.