Contributing to SecureDrop

Thank you for your interest in contributing to SecureDrop! We welcome both new and experienced open-source contributors and are committed to making it as easy as possible to contribute. Whether you have a few minutes or many hours, there are a variety of ways to help. We are always looking for help from:

You can always find a developer to answer any questions you may have on the SecureDrop instant messaging channel. You can also register on the forum for more information and to participate in longer discussions.

Note

Not sure where to start? You can always ask for advice in the chat room.

Programmers

The SecureDrop system includes Flask-based web applications for sources and journalists. It is deployed across multiple machines with Ansible. Most of SecureDrop’s code is written in Python.

The following links should help you find something to work on:

Development Environment

When you’re ready to share your work with the SecureDrop team for review, submit a pull request with the proposed changes. Tests will run automatically on GitHub.

If you would like to contribute on a regular basis, you’ll want to read the developer documentation and set up a local development environment to preview changes, run tests locally, etc.

Writers

Technical writers and editors are invited to review the documentation and fix any mistakes in accordance with the documentation guidelines.

If this is your first time helping with SecureDrop documentation, consider working on low-hanging fruit to become familiar with the process.

DevOps

The SecureDrop web site and the GitHub repository are controlled and maintained by Freedom of the Press Foundation employees.

Release Managers

All software deployed with SecureDrop is installed via Debian GNU/Linux packages via Ansible. The primary repository is controlled, maintained, and signed by Freedom of the Press Foundation employees. The current responsibilities of the release manager are covered in detailed documentation.

If you are a Debian developer you can help improve packaging and the release process:

Translators

All are kindly invited to help translate SecureDrop using the Weblate interface. We provide a detailed guide to use as reference for details such as the meaning of placeholders, etc. Feel free to reach out on the translation section of the forum for help. Non-English forum discussions are welcome to help facilitate translations.

Designers

If you have web design or user experience design skills, take a look at these issues on GitHub:

Moderators and Support

Those running a production instance of SecureDrop are encouraged to read the support documentation to get help from the Freedom of the Press Foundation. For less sensitive topics such as running a demo or getting help to understand a concept, a public forum section is better suited. To assist on the forum: